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

Disassembly:
sub esp, 0x98
push ebx
push ebp
mov ebp, dword [esp + 0xa4]
push esi
push edi
cmp dword [ebp + 0x58], 2
jl 0x42def5
cmp dword [ebp + 4], 0
lea ebx, [ebp + 4]
je 0x42d477
mov edi, dword [ebp + 0x34]
cmp edi, 0xffffffff
jle 0x42d477
xorps xmm0, xmm0
xor esi, esi
movlpd qword [esp + 0x50], xmm0
test edi, edi
jle 0x42d46d
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
push esi
push ebp
call fcn.0042df10
add esp, 8
add ebx, eax
adc dword [esp + 0x2c], edx
inc esi
cmp esi, edi
jl 0x42d447
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x34], ebx
lea ebx, [ebp + 4]
mov edx, dword [esp + 0x34]
jmp 0x42d487
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
jmp 0x42d47f
mov edx, 0xffffff7d
or esi, 0xffffffff
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], edx
cmp dword [ebx], 0
jne 0x42d49c
pop edi
pop esi
pop ebp
mov eax, 0xffffff76
pop ebx
add esp, 0x98
ret
mov eax, dword [esp + 0xb4]
test eax, eax
jl 0x42def5
mov edi, dword [esp + 0xb0]
jg 0x42d4bc
test edi, edi
jb 0x42def5
cmp eax, esi
jg 0x42def5
jl 0x42d4ce
cmp edi, edx
ja 0x42def5
mov ebx, dword [ebp + 0x34]
sub ebx, 1
mov dword [esp + 0x18], ebx
js 0x42d513
mov eax, dword [ebp + 0x44]
mov ecx, ebx
shl ecx, 4
add eax, 8
add eax, ecx
mov ecx, dword [esp + 0xb4]
nop
sub edx, dword [eax]
sbb esi, dword [eax + 4]
cmp ecx, esi
jg 0x42d507
jl 0x42d4ff
cmp edi, edx
jae 0x42d507
sub eax, 0x10
sub ebx, 1
jns 0x42d4f0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0x38]
mov ecx, dword [eax + ebx*8 + 8]
mov eax, dword [eax + ebx*8 + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, ebx
shl ecx, 4
mov edx, dword [eax + ebx*8]
mov edi, dword [eax + ebx*8 + 4]
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], edi
mov esi, dword [ecx + eax]
mov ebp, esi
add ebp, dword [ecx + eax + 8]
mov ebx, dword [ecx + eax + 4]
mov eax, dword [ecx + eax + 0xc]
mov ecx, ebx
adc eax, ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], eax
mov eax, esi
mov esi, dword [esp + 0x34]
sub eax, esi
mov dword [esp + 0x70], ebp
sbb ecx, dword [esp + 0x2c]
add eax, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
adc ecx, dword [esp + 0xb4]
mov dword [esp + 0x3c], ecx
or ecx, 0xffffffff
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], ebx
cmp edx, ecx
jne 0x42d5f2
cmp edi, eax
jne 0x42d5f2
push edi
push edx
push ebp
call fcn.0042ce40
cdq
add esp, 0xc
mov edi, eax
mov ecx, edi
or ecx, edx
jne 0x42deb8
push ecx
push 1
lea eax, [esp + 0x80]
push eax
push ebp
call fcn.0042c460
add esp, 0x10
mov edi, eax
test edx, edx
jl 0x42deb8
jg 0x42d9ee
test edi, edi
jb 0x42deb8
jmp 0x42d9ee
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
cmp edi, eax
jg 0x42deb4
jl 0x42d60d
cmp edx, ecx
jae 0x42deb4
xor ebx, ebx
lea esi, [ebp + 8]
mov dword [esp + 0x50], ebx
mov ebx, ecx
sub ebx, edx
sbb eax, edi
mov dword [esp + 0x40], eax
test eax, eax
jg 0x42d636
jl 0x42d6ce
cmp ebx, 0x10000
jb 0x42d6ce
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x3c]
sbb edx, dword [esp + 0x5c]
call fcn.00433540
mov edx, dword [esp + 0x40]
mov ecx, ebx
movsd qword [esp + 0x64], xmm0
call fcn.00433540
movsd xmm1, qword [esp + 0x64]
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
sbb edx, dword [esp + 0x5c]
mulsd xmm1, xmm0
movsd qword [esp + 0x64], xmm1
call fcn.00433540
movsd xmm1, qword [esp + 0x64]
divsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.00433440
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov edi, edx
mov edx, dword [esp + 0x20]
add ebx, edx
mov eax, edx
adc edi, ecx
sub ebx, 0x10000
sbb edi, 0
add eax, 0x10000
mov dword [esp + 0x40], eax
mov eax, ecx
adc eax, 0
mov dword [esp + 0x1c], edi
cmp edi, eax
jg 0x42d6d7
jl 0x42d6cc
cmp ebx, dword [esp + 0x40]
jae 0x42d6d7
mov edi, ecx
lea esi, [ebp + 8]
mov dword [esp + 0x1c], edi
mov ebx, edx
mov ecx, dword [ebp]
test ecx, ecx
je 0x42da9e
cmp dword [esi], ebx
jne 0x42d6eb
cmp dword [esi + 4], edi
je 0x42d71d
mov eax, dword [ebp + 0x2c4]
test eax, eax
je 0x42dea5
push 0
push edi
push ebx
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x42dea5
lea eax, [ebp + 0x18]
mov dword [esi], ebx
push eax
mov dword [esi + 4], edi
call fcn.004ff780
add esp, 4
mov eax, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x28]
sub ecx, dword [esi]
sbb eax, dword [esi + 4]
push eax
push ecx
lea eax, [esp + 0x80]
push eax
push ebp
call fcn.0042c460
mov edi, eax
add esp, 0x10
mov eax, edx
mov dword [esp + 0x64], eax
cmp edi, 0xffffff80
jne 0x42d755
cmp eax, 0xffffffff
je 0x42deb8
test eax, eax
jg 0x42d829
jl 0x42d767
test edi, edi
jae 0x42d829
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add edx, 1
mov ecx, dword [esp + 0x1c]
adc eax, 0
mov dword [esp + 0x40], eax
cmp ecx, eax
jl 0x42dab0
jg 0x42d78f
cmp ebx, edx
jbe 0x42dab0
mov eax, ebx
or eax, ecx
je 0x42deb8
add ebx, 0xffff0000
adc ecx, 0xffffffff
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x14]
jg 0x42d7be
jl 0x42d7b4
cmp ebx, dword [esp + 0x20]
ja 0x42d7be
mov ecx, dword [esp + 0x40]
mov ebx, edx
mov dword [esp + 0x1c], ecx
mov edx, dword [ebp]
test edx, edx
je 0x42da9e
cmp dword [esi], ebx
jne 0x42d7d2
cmp dword [esi + 4], ecx
je 0x42d808
mov eax, dword [ebp + 0x2c4]
test eax, eax
je 0x42dea5
push 0
push ecx
push ebx
push edx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x42dea5
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
lea eax, [ebp + 0x18]
push eax
mov dword [esi], ebx
call fcn.004ff780
add esp, 4
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov edi, dword [esp + 0x40]
lea ecx, [eax*4]
mov dword [esp + 0x10], ecx
jmp 0x42d9a8
mov eax, dword [esp + 0x18]
shl eax, 2
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x54], 1
call fcn.004fe730
mov ecx, dword [ebp + 0x40]
add esp, 4
mov edx, dword [esp + 0x18]
cmp eax, dword [ecx + edx*4]
jne 0x42d9a8
lea eax, [esp + 0x78]
push eax
call fcn.004fe6a0
mov ecx, eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x40], ecx
lea edx, [eax*4]
mov eax, ecx
and eax, dword [esp + 0x30]
mov dword [esp + 0x10], edx
cmp eax, 0xffffffff
je 0x42d9a8
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x3c]
jg 0x42d8ff
jl 0x42d8a0
cmp ecx, dword [esp + 0x38]
jae 0x42d8ff
mov ebx, dword [esp + 0x64]
mov ebp, dword [esi + 4]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3c]
sbb eax, dword [esp + 0x30]
mov dword [esp + 0x58], ebx
mov ebx, dword [esi]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x60], edi
mov dword [esp + 0x20], ebx
test eax, eax
jg 0x42da73
jl 0x42d8ee
cmp ecx, 0xac44
ja 0x42da73
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], edx
jmp 0x42d9a8
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add ecx, 1
adc eax, 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x10]
jl 0x42dac0
jg 0x42d929
cmp ebx, ecx
jbe 0x42dac0
mov ebp, dword [esp + 0x24]
cmp ebp, dword [esi]
mov ebp, dword [esp + 0xac]
jne 0x42da57
mov ebp, dword [esp + 0x28]
cmp ebp, dword [esi + 4]
mov ebp, dword [esp + 0xac]
jne 0x42da57
mov edx, dword [esp + 0x64]
add ebx, 0xffff0000
mov dword [esp + 0x24], edi
adc eax, 0xffffffff
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x14]
jg 0x42d981
jl 0x42d977
cmp ebx, dword [esp + 0x20]
ja 0x42d981
mov eax, dword [esp + 0x10]
mov ebx, ecx
mov dword [esp + 0x1c], eax
push eax
push ebx
push ebp
call fcn.0042ce40
mov ecx, dword [esp + 0x24]
add esp, 0xc
cdq
mov edi, eax
lea eax, [ecx*4]
mov dword [esp + 0x10], eax
mov eax, edi
or eax, edx
jne 0x42deb8
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x14], eax
jg 0x42d9c6
mov eax, dword [esp + 0x24]
jl 0x42d721
cmp dword [esp + 0x20], eax
jb 0x42d721
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov eax, ecx
mov edx, dword [esp + 0x58]
and eax, edx
cmp eax, 0xffffffff
jne 0x42daf8
cmp dword [esp + 0x50], 0
je 0x42deb8
mov esi, dword [esp + 0x34]
mov ecx, dword [ebp + 0x3c]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp eax, dword [ecx + ebx*8]
jne 0x42deb8
mov eax, dword [esp + 0x14]
cmp eax, dword [ecx + ebx*8 + 4]
jne 0x42deb8
lea eax, [esp + 0x78]
push eax
call fcn.004fe730
mov ecx, dword [ebp + 0x40]
add esp, 4
cmp eax, dword [ecx + ebx*4]
jne 0x42deb8
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x54], eax
cmp ebx, dword [ebp + 0x60]
je 0x42dac7
push ebp
call fcn.0042bd60
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x60], ebx
mov eax, dword [eax + ebx*4]
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x58], 3
jmp 0x42dad3
mov ecx, ebx
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x74], ebx
jmp 0x42da7b
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebx, edx
cmp dword [esp + 0x14], eax
jg 0x42d9ca
mov edx, dword [esp + 0x20]
jl 0x42da95
cmp edx, ecx
jae 0x42d9ca
mov edi, dword [esp + 0x14]
jmp 0x42d616
mov edi, 0xffffff7f
mov dword [esp + 0x44], 0xffffffff
jmp 0x42deb8
mov eax, dword [esp + 0x18]
lea ebx, [eax*4]
jmp 0x42d9ca
mov ebx, edx
jmp 0x42d9ca
lea eax, [ebp + 0x1e0]
push eax
call fcn.00419ed0
add esp, 4
lea esi, [ebp + 0x78]
push dword [ebp + 0x5c]
push esi
call fcn.004ff2a0
lea eax, [esp + 0x80]
push eax
push esi
call fcn.004fedf0
add esp, 0x10
jmp 0x42de43
push edx
push ecx
push ebp
call fcn.0042ce40
cdq
add esp, 0xc
mov edi, eax
mov dword [ebp + 0x50], 0xffffffff
or eax, edx
mov dword [ebp + 0x54], 0xffffffff
jne 0x42deb8
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0x48]
push eax
push ebp
call fcn.0042c460
add esp, 0x10
mov edi, eax
test edx, edx
jl 0x42deb8
jg 0x42db42
test edi, edi
jb 0x42deb8
mov edi, dword [esp + 0x18]
cmp edi, dword [ebp + 0x60]
je 0x42db66
push ebp
call fcn.0042bd60
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x60], edi
mov eax, dword [ebx + eax]
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x58], 3
jmp 0x42db72
lea eax, [ebp + 0x1e0]
push eax
call fcn.00419ed0
add esp, 4
lea ebx, [ebp + 0x78]
push dword [ebp + 0x5c]
push ebx
call fcn.004ff2a0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004fedf0
add esp, 0x10
nop
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.004fedd0
cdq
add esp, 8
mov ebx, edx
mov edi, eax
or eax, ebx
jne 0x42ddb8
mov eax, dword [ebp + 0x3c]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x58]
mov ebp, ebx
mov edx, dword [esp + 0x60]
mov edi, edx
cmp ebp, dword [eax + ecx*8 + 4]
mov ebp, dword [esp + 0xac]
jl 0x42ddb8
jg 0x42dbe0
cmp edx, dword [eax + ecx*8]
jbe 0x42ddb8
nop dword [eax]
mov eax, edi
mov dword [esp + 0x30], 0xffffffff
mov ecx, ebx
mov dword [esp + 0x10], 0xffffffff
add eax, 0xffff0000
mov dword [esp + 0x3c], eax
adc ecx, 0xffffffff
mov dword [esp + 0x38], ecx
test ecx, ecx
jg 0x42dc27
jl 0x42dc0e
test eax, eax
jae 0x42dc27
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
cmp dword [ebp], 0
je 0x42dd46
cmp dword [esi], eax
jne 0x42dc3a
cmp dword [esi + 4], ecx
je 0x42dc76
mov edx, dword [ebp + 0x2c4]
test edx, edx
je 0x42dd3f
push 0
push ecx
push eax
push dword [ebp]
call edx
add esp, 0x10
cmp eax, 0xffffffff
je 0x42dd3f
mov eax, dword [esp + 0x3c]
mov dword [esi], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 4], eax
lea eax, [ebp + 0x18]
push eax
call fcn.004ff780
add esp, 4
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, ebx
jg 0x42dcd4
jl 0x42dc85
cmp eax, edi
jae 0x42dcd4
mov ecx, edi
xorps xmm0, xmm0
sub ecx, eax
mov eax, ebx
movups xmmword [esp + 0x40], xmm0
sbb eax, edx
push eax
push ecx
lea eax, [esp + 0x48]
push eax
push ebp
call fcn.0042c460
add esp, 0x10
cmp eax, 0xffffff80
jne 0x42dcb3
cmp edx, 0xffffffff
je 0x42dea5
test edx, edx
jl 0x42dcd4
jg 0x42dcbd
test eax, eax
jb 0x42dcd4
mov dword [esp + 0x10], edx
mov edx, dword [esi + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esi]
cmp edx, ebx
jl 0x42dc85
jg 0x42dcd4
cmp eax, edi
jb 0x42dc85
mov edx, dword [esp + 0x30]
mov eax, edx
and eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x3c]
je 0x42dbf4
cmp dword [esp + 0x44], 0
jne 0x42dd37
push dword [esp + 0x10]
push edx
push ebp
call fcn.0042ce40
cdq
add esp, 0xc
mov ebx, edx
mov edi, eax
or eax, ebx
jne 0x42dd4e
push eax
push 0x10000
lea eax, [esp + 0x48]
push eax
push ebp
call fcn.0042c460
add esp, 0x10
test edx, edx
jl 0x42da9e
jg 0x42dd33
test eax, eax
jb 0x42da9e
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
mov edi, edx
jmp 0x42dd4e
mov edi, 0xffffff80
jmp 0x42dd4b
mov edi, 0xffffff7f
or ebx, 0xffffffff
test ebx, ebx
jl 0x42deb8
jg 0x42dd60
test edi, edi
jb 0x42deb8
lea eax, [esp + 0x40]
push eax
call fcn.004fe730
add esp, 4
cmp eax, dword [ebp + 0x5c]
jne 0x42dd9c
lea eax, [esp + 0x40]
push eax
call fcn.004fe6a0
add esp, 4
cmp edx, 0xffffffff
jg 0x42ddf4
jl 0x42dd8b
cmp eax, 0xffffffff
ja 0x42ddf4
lea eax, [esp + 0x40]
push eax
call fcn.004fe680
add esp, 4
test eax, eax
je 0x42ddf4
mov eax, dword [ebp + 0x3c]
mov ecx, dword [esp + 0x18]
cmp ebx, dword [eax + ecx*8 + 4]
jg 0x42dbe0
jl 0x42ddb8
cmp edi, dword [eax + ecx*8]
ja 0x42dbe0
test ebx, ebx
jl 0x42de96
jg 0x42ddca
test edi, edi
jb 0x42de96
mov edx, dword [esp + 0x98]
mov eax, edx
mov edi, dword [esp + 0x9c]
and eax, edi
cmp eax, 0xffffffff
jne 0x42de0a
push 0
lea ebx, [ebp + 0x78]
push ebx
call fcn.004fedb0
add esp, 8
jmp 0x42db90
push ebx
push edi
push ebp
call fcn.0042df90
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret
mov ecx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x44]
shl ecx, 4
sub edx, dword [ecx + eax]
sbb edi, dword [ecx + eax + 4]
test edi, edi
jg 0x42de35
jl 0x42de24
test edx, edx
jae 0x42de35
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
add edx, dword [esp + 0x34]
mov dword [ebp + 0x50], edx
adc edi, dword [esp + 0x2c]
mov dword [ebp + 0x54], edi
mov esi, dword [esp + 0xb4]
cmp dword [ebp + 0x54], esi
jg 0x42da9e
mov ebx, dword [esp + 0xb0]
jl 0x42de65
cmp dword [ebp + 0x50], ebx
ja 0x42da9e
push 0xffffffffffffffff
push ebp
call fcn.0042df10
add esp, 8
cmp esi, edx
jg 0x42da9e
jl 0x42de82
cmp ebx, eax
ja 0x42da9e
pop edi
xorps xmm0, xmm0
xor eax, eax
pop esi
movups xmmword [ebp + 0x68], xmm0
pop ebp
pop ebx
add esp, 0x98
ret
mov edi, 0xffffff78
mov dword [esp + 0x44], 0xffffffff
jmp 0x42deb8
mov edi, 0xffffff80
mov dword [esp + 0x44], 0xffffffff
jmp 0x42deb8
mov edi, dword [esp + 0x40]
lea eax, [ebp + 0x1e0]
mov dword [ebp + 0x50], 0xffffffff
push eax
mov dword [ebp + 0x54], 0xffffffff
call fcn.004194b0
lea eax, [ebp + 0x250]
push eax
call fcn.004193c0
add esp, 8
mov dword [ebp + 0x58], 2
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff7d
pop ebx
add esp, 0x98
ret