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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x94
push ebx
push esi
mov esi, dword [ebp + 0x18]
mov eax, esi
push edi
mov edi, dword [ebp + 0x1c]
or eax, edi
jne 0x431ed4
xor edx, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
lea edx, [esp + 0x50]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x48]
push eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], edi
call fcn.00431af0
mov ebx, dword [esp + 0x3c]
add esp, 4
mov ecx, dword [esp + 0x3c]
mov eax, ebx
or eax, ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ecx
jne 0x431f3f
push edi
push esi
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.0044da30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
movlpd qword [esp + 0x58], xmm0
mov eax, dword [esp + 0x5c]
movq xmm0, qword [esp + 0x30]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x24], eax
xor edi, edi
mov eax, 0x3f
nop dword [eax]
xor esi, esi
xor edx, edx
mov ecx, eax
bts esi, ecx
cmp ecx, 0x20
cmovae edx, esi
xor esi, edx
cmp ecx, 0x40
cmovae edx, esi
and esi, ebx
and edx, dword [esp + 0x40]
or esi, edx
jne 0x431f98
dec eax
inc edi
cmp eax, 0xffffffff
jg 0x431f70
movq xmm2, qword [esp + 0x30]
mov eax, 0x40
movq xmm1, qword [esp + 0x38]
sub eax, edi
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov esi, 0x3f
movd xmm0, eax
psrlq xmm2, xmm0
movd xmm0, edi
mov edi, dword [ebp + 0x18]
psllq xmm1, xmm0
orps xmm2, xmm1
movq qword [esp + 0x78], xmm2
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, edi
and ecx, dword [ebp + 0x1c]
or edx, ecx
jne 0x431ff9
dec esi
inc ebx
cmp esi, 0xffffffff
jg 0x431fd2
add ebx, 0xffffffe0
mov edi, dword [esp + 0x2c]
movq xmm1, qword [ebp + 0x18]
js 0x432011
movd xmm0, ebx
psllq xmm1, xmm0
jmp 0x43201d
mov eax, ebx
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
add esi, 0xffffffff
movq qword [esp + 0x18], xmm1
mov ecx, dword [esp + 0x18]
adc edx, 0xffffffff
mov eax, dword [esp + 0x1c]
add ecx, 1
adc eax, 0
push eax
push ecx
push edx
push esi
call fcn.0044da30
sub ebx, edi
mov dword [esp + 0x80], eax
add ebx, 0x40
mov dword [esp + 0x84], edx
mov dword [esp + 0x2c], eax
mov edi, eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x18], edx
jns 0x4320b6
neg ebx
mov ecx, ebx
call fcn.0044db20
mov ecx, eax
mov dword [esp + 0x80], eax
mov esi, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x68], esi
xor ebx, ebx
mov dword [esp + 0x84], edx
mov edi, ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x18], esi
or eax, edx
je 0x43226c
lea eax, [esp + 0x58]
push eax
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x84]
call fcn.00431af0
movq xmm2, qword [esp + 0x5c]
mov esi, 0x40
movq xmm1, qword [esp + 0x64]
sub esi, ebx
mov eax, dword [esp + 0x5c]
add esp, 4
mov edx, dword [esp + 0x5c]
mov ecx, ebx
movd xmm0, esi
psrlq xmm2, xmm0
movd xmm0, ebx
psllq xmm1, xmm0
orps xmm2, xmm1
movq qword [esp + 0x60], xmm2
call fcn.0044da10
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], ecx
cmp dword [esp + 0x34], edx
ja 0x432180
jb 0x43214a
cmp dword [esp + 0x30], eax
jae 0x432180
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
add ecx, 0xffffffff
mov dword [esp + 0x38], ecx
adc eax, 0xffffffff
mov dword [esp + 0x48], edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
nop dword [eax]
movaps xmm2, xmmword [esp + 0x90]
mov edi, 0
movq xmm0, qword [esp + 0x58]
movq xmm2, xmm2
movhpd xmm0, qword [esp + 0x60]
movhpd xmm2, qword [esp + 0x38]
movq xmm1, qword [esp + 0x48]
psubq xmm2, xmm0
movaps xmm0, xmm2
movaps xmmword [esp + 0x90], xmm2
psrldq xmm0, 8
movq qword [esp + 0x38], xmm0
movd xmm0, esi
mov esi, dword [esp + 0x24]
psrlq xmm1, xmm0
movd xmm0, ebx
mov ebx, dword [esp + 0x38]
movq qword [esp + 0x60], xmm1
movq xmm1, qword [esp + 0x50]
psllq xmm1, xmm0
movq qword [esp + 0x30], xmm2
movq qword [esp + 0x18], xmm1
mov eax, dword [esp + 0x18]
add esi, eax
mov edx, dword [esp + 0x1c]
adc edi, edi
mov dword [esp + 0x58], eax
xor ecx, ecx
mov dword [esp + 0x5c], edx
xor eax, eax
mov dword [esp + 0x24], esi
add edx, dword [esp + 0x28]
mov dword [esp + 0x44], ebx
adc eax, eax
add edi, edx
mov dword [esp + 0x28], edi
adc ecx, eax
mov eax, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x3c]
or eax, ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x40], ecx
jne 0x431f66
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.0044da30
add eax, esi
mov ecx, 0
adc ecx, ecx
add edx, edi
add ecx, edx
mov edx, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov esi, dword [ebp + 0x1c]
nop
mov eax, ecx
or eax, edx
jne 0x4322a2
cmp edi, esi
jb 0x432291
ja 0x4322b3
cmp ebx, dword [ebp + 0x18]
jae 0x4322b3
mov ecx, dword [esp + 0x28]
mov edx, ecx
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, esi
ja 0x4322b3
jb 0x4322ad
cmp ebx, dword [ebp + 0x18]
jae 0x4322b3
add ecx, 0xffffffff
adc edx, 0xffffffff
sub ebx, dword [ebp + 0x18]
sbb edi, esi
add dword [esp + 0x24], 1
adc dword [esp + 0x28], 0
jmp 0x432280