Function at 0x4a39d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x58]
cmp eax, 2
jge 0x4a39ef
mov eax, 0xffffff7d
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 4], 0
jne 0x4a39ff
mov eax, 0xffffff76
pop esi
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [ebp + 0x10]
push edi
test ebx, ebx
jl 0x4a3df6
mov edi, dword [ebp + 0xc]
jg 0x4a3a19
test edi, edi
jb 0x4a3df6
cmp ebx, dword [esi + 0x14]
jg 0x4a3df6
jl 0x4a3a2d
cmp edi, dword [esi + 0x10]
ja 0x4a3df6
cmp eax, 3
jl 0x4a3a5c
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x38]
cmp ebx, dword [ecx + eax*8 + 4]
jl 0x4a3a53
jg 0x4a3a45
cmp edi, dword [ecx + eax*8]
jb 0x4a3a53
cmp ebx, dword [ecx + eax*8 + 0xc]
jl 0x4a3a5c
jg 0x4a3a53
cmp edi, dword [ecx + eax*8 + 8]
jb 0x4a3a5c
push esi
call fcn.004a1a80
add esp, 4
push dword [esi + 0x5c]
lea eax, [esi + 0x78]
mov dword [esi + 0x50], 0xffffffff
push eax
mov dword [esi + 0x54], 0xffffffff
call fcn.004b9070
lea eax, [esi + 0x1e0]
push eax
call fcn.004a5f20
push ebx
push edi
push esi
call fcn.004a2c00
add esp, 0x18
test eax, eax
je 0x4a3ac0
lea eax, [ebp - 0x1bc]
mov dword [esi + 0x50], 0xffffffff
push eax
mov dword [esi + 0x54], 0xffffffff
call fcn.004b8660
push esi
call fcn.004a1a80
add esp, 8
mov eax, 0xffffff77
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
push dword [esi + 0x5c]
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1bc]
push eax
mov dword [ebp - 8], ebx
call fcn.004b8970
lea eax, [ebp - 0x1bc]
push eax
call fcn.004b8fe0
add esp, 0xc
jmp 0x4a3af3
mov ebx, dword [ebp - 8]
cmp dword [esi + 0x58], 3
jl 0x4a3ba2
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.004b8c50
add esp, 8
test eax, eax
jle 0x4a3ba2
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x48]
shl ecx, 5
add eax, ecx
cmp dword [eax + 0x1c], 0
je 0x4a3b94
lea ecx, [ebp - 0x54]
push ecx
push eax
call fcn.004a7a80
mov edi, eax
add esp, 8
test edi, edi
jns 0x4a3b4e
lea eax, [esi + 0x78]
push 0
push eax
call fcn.004b8c50
add esp, 8
xor edi, edi
jmp 0x4a3b77
cmp dword [ebp - 4], 0
je 0x4a3b6a
cmp dword [ebp - 0x10], 0
jne 0x4a3b6a
lea eax, [esi + 0x78]
push 0
push eax
call fcn.004b8c50
add esp, 8
jmp 0x4a3b77
test ebx, ebx
je 0x4a3b77
lea eax, [edi + ebx]
sar eax, 2
add dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x44]
mov eax, ecx
mov ebx, dword [ebp - 0x40]
and eax, ebx
cmp eax, 0xffffffff
jne 0x4a3cc6
mov ebx, edi
mov dword [ebp - 8], ebx
jmp 0x4a3af3
lea eax, [esi + 0x78]
push 0
push eax
call fcn.004b8c50
add esp, 8
test ebx, ebx
jne 0x4a3dc9
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.004a2150
mov ecx, edx
mov dword [ebp - 0x14], eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jl 0x4a3db6
jg 0x4a3bd5
test eax, eax
jb 0x4a3db6
cmp dword [esi + 0x58], 3
jl 0x4a3c17
lea eax, [ebp - 0x34]
push eax
call fcn.004b8630
add esp, 4
cmp dword [esi + 0x5c], eax
je 0x4a3c11
lea eax, [ebp - 0x34]
push eax
call fcn.004b8490
add esp, 4
test eax, eax
je 0x4a3c11
push esi
call fcn.004a1a80
lea eax, [ebp - 0x1bc]
push eax
call fcn.004b8660
add esp, 8
cmp dword [esi + 0x58], 3
jge 0x4a3c95
lea eax, [ebp - 0x34]
push eax
call fcn.004b8630
mov ecx, dword [esi + 0x34]
add esp, 4
xor edi, edi
mov ebx, eax
test ecx, ecx
jle 0x4a3c3d
mov eax, dword [esi + 0x40]
cmp dword [eax], ebx
je 0x4a3c3d
inc edi
add eax, 4
cmp edi, ecx
jl 0x4a3c31
cmp edi, ecx
je 0x4a3af0
lea eax, [esi + 0x78]
mov dword [esi + 0x60], edi
push ebx
push eax
mov dword [esi + 0x5c], ebx
call fcn.004b9070
lea eax, [ebp - 0x1bc]
push ebx
push eax
call fcn.004b9070
mov eax, dword [esi + 0x3c]
add esp, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x58], 3
cmp ecx, dword [eax + edi*8 + 4]
jg 0x4a3c8b
jl 0x4a3c82
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edi*8]
ja 0x4a3c8b
mov dword [ebp - 0x10], 1
jmp 0x4a3c92
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp - 8]
lea eax, [ebp - 0x34]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004b8cb0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.004b8cb0
lea eax, [ebp - 0x34]
push eax
call fcn.004b8580
add esp, 0x14
mov dword [ebp - 4], eax
jmp 0x4a3af3
mov edi, dword [esi + 0x60]
mov eax, edi
mov edx, dword [esi + 0x44]
shl eax, 4
sub ecx, dword [eax + edx]
sbb ebx, dword [eax + edx + 4]
mov dword [ebp - 0x10], ebx
test ebx, ebx
jg 0x4a3cf6
jl 0x4a3ce5
test ecx, ecx
jae 0x4a3cf6
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], ebx
xorps xmm0, xmm0
xor edx, edx
movlpd qword [ebp - 0xc], xmm0
movlpd qword [ebp - 0x24], xmm0
cmp edi, 2
jl 0x4a3d58
mov eax, dword [esi + 0x44]
lea edx, [edi - 2]
mov edi, dword [ebp - 0x20]
add eax, 0x18
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
shr edx, 1
inc edx
mov dword [ebp - 4], edx
add edx, edx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
nop word [eax + eax]
add ebx, dword [eax - 0x10]
adc esi, dword [eax - 0xc]
add edx, dword [eax]
adc edi, dword [eax + 4]
lea eax, [eax + 0x20]
sub dword [ebp - 4], 1
jne 0x4a3d30
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 8]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x14]
jmp 0x4a3d6d
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 8], eax
cmp edx, dword [esi + 0x60]
jge 0x4a3d80
mov eax, dword [esi + 0x44]
shl edx, 4
add ecx, dword [edx + eax + 8]
adc ebx, dword [edx + eax + 0xc]
mov eax, dword [ebp - 0x1c]
cdq
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
sbb edi, edx
add eax, dword [ebp - 4]
adc edi, dword [ebp - 0x18]
add eax, ecx
mov dword [esi + 0x50], eax
adc edi, ebx
mov dword [esi + 0x54], edi
test edi, edi
jg 0x4a3dd7
jl 0x4a3da6
test eax, eax
jae 0x4a3dd7
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0
jmp 0x4a3dd7
push 0xffffffffffffffff
push esi
call fcn.004a3930
add esp, 8
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
jmp 0x4a3dd7
mov dword [esi + 0x50], 0xffffffff
mov dword [esi + 0x54], 0xffffffff
lea eax, [ebp - 0x1bc]
push eax
call fcn.004b8660
add esp, 4
xorps xmm0, xmm0
movups xmmword [esi + 0x68], xmm0
xor eax, eax
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xffffff7d
pop esi
mov esp, ebp
pop ebp
ret