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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0xc4
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
movss xmm5, dword [eax]
mov esi, dword [edx]
mov edi, dword [ebp + 0x24]
movss xmm0, dword [0x462b30]
movss xmm1, dword [0x462b34]
mov eax, dword [ecx]
movss xmm4, dword [edi]
mov edi, dword [ebp + 0x28]
movss xmm3, dword [edi]
comiss xmm0, xmm5
mov dword [esp + 0x54], esi
lea ebx, [eax - 1]
jb 0x42de7d
movaps xmm5, xmm0
comiss xmm5, xmm1
jb 0x42de85
movaps xmm5, xmm1
mulss xmm5, dword [0x462b38]
cmp ebx, esi
jl 0x42e03c
movss xmm2, dword [0x462b3c]
movss xmm1, dword [0x462b40]
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
movss dword [esp + 0x44], xmm5
movss xmm0, dword [ecx + esi*4 - 4]
movaps xmm5, xmm0
movss xmm6, dword [ecx + esi*4]
minss xmm5, xmm6
subss xmm5, xmm1
comiss xmm4, xmm5
jb 0x42e018
movaps xmm5, xmm0
maxss xmm5, xmm6
addss xmm5, xmm1
comiss xmm5, xmm4
jb 0x42e018
movss xmm7, dword [edi + esi*4 - 4]
movaps xmm5, xmm7
movss xmm6, dword [edi + esi*4]
minss xmm5, xmm6
subss xmm5, xmm1
comiss xmm3, xmm5
jb 0x42e018
maxss xmm7, xmm6
addss xmm7, xmm1
comiss xmm7, xmm3
jb 0x42e018
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
lea edx, [ecx + esi*4]
lea eax, [edx - 4]
mov dword [esp + 0x14], eax
lea ebx, [edi + esi*4]
lea edi, [esp + 0x64]
lea esi, [ebx - 4]
mov dword [esp + 0x10], esi
push edi
lea edi, [esp + 0x44]
push edi
lea edi, [esp + 0x44]
push edi
mov edi, 0x462900
push edi
push ebx
push edx
push edi
push esi
push eax
push edi
push dword [ebp + 0x28]
push dword [ebp + 0x24]
mov edi, dword [ebp + 0x18]
lea eax, [esp + 0x50]
push eax
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
movss dword [esp + 0x58], xmm2
call fcn.00431950
cmp dword [esp + 0x20], 0
mov ecx, dword [ebp + 0x14]
movss xmm2, dword [esp + 0x24]
movss xmm1, dword [0x462b40]
je 0x42dfad
lea edx, [esp + 0x64]
push edx
mov eax, 0x462900
push eax
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x48]
push edx
push eax
push dword [ebp + 0x28]
push dword [ebp + 0x24]
movss dword [esp + 0x40], xmm2
call fcn.00431460
jmp 0x42dfd2
lea eax, [esp + 0x64]
push eax
mov edx, 0x462900
push edx
push dword [esp + 0x18]
push dword [esp + 0x20]
push edx
push dword [ebp + 0x28]
push dword [ebp + 0x24]
movss dword [esp + 0x40], xmm2
call fcn.00431460
mov ecx, dword [ebp + 0x14]
movss xmm2, dword [esp + 0x24]
movss xmm1, dword [0x462b40]
movss xmm5, dword [esp + 0x64]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp + 0x28]
movss xmm4, dword [eax]
movss xmm3, dword [edx]
movss xmm0, dword [ecx + esi*4 - 4]
minss xmm2, xmm5
ucomiss xmm5, xmm2
jne 0x42e018
jp 0x42e018
mov eax, dword [ebp + 8]
cmp dword [eax], 1
lea edx, [esi + 1]
cmove edx, esi
mov dword [esp + 0x54], edx
ucomiss xmm4, xmm0
jp 0x42e023
je 0x42e8a9
inc esi
cmp esi, ebx
jle 0x42deb1
movss xmm5, dword [esp + 0x44]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
mov esi, dword [edx]
mov eax, dword [ecx]
mov ebx, dword [ebp + 8]
cmp eax, dword [esp + 0x54]
mov ebx, dword [ebx]
jne 0x42e055
mov eax, dword [esp + 0x54]
cmp ebx, 1
cmove eax, esi
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [esp + 0x54]
mov ebx, dword [ebp + 0x18]
movss dword [esp + 0x44], xmm5
lea edi, [eax + esi*4 - 4]
mov dword [esp + 0x4c], edi
lea eax, [ebx + esi*4 - 4]
mov ebx, dword [ebp + 0x30]
mov esi, dword [ebp + 8]
mov dword [esp + 0x50], eax
mov edx, dword [ebp + 0x2c]
movss xmm1, dword [esp + 0x44]
movss xmm0, dword [ebx]
subss xmm0, dword [edx]
mov eax, dword [ebx]
andps xmm0, xmmword [0x4629d0]
movss dword [esp], xmm1
movss dword [0x18be560], xmm4
movss dword [0x18c3380], xmm3
movss dword [esp + 0x68], xmm0
mov dword [0x18c81a0], eax
mov edi, 1
call sub.libmmd.dll_tanf
mov ecx, dword [esi]
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x6c], xmm0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebx]
cmp ecx, 1
mov edx, esi
cmove edx, eax
cmove eax, esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], eax
mov ebx, ecx
neg ebx
sub edx, esi
mov dword [esp + 0x5c], edx
sub edx, ecx
mov eax, edx
cdq
idiv ebx
test eax, eax
mov dword [esp + 0x7c], eax
jle 0x42e5bb
lea eax, [edi*4 + 0x18be55c]
lea ecx, [esp + 0x64]
push ecx
lea edx, [eax + 0x4e20]
mov ecx, 0x462900
push ecx
push dword [esp + 0x58]
push dword [esp + 0x58]
push ecx
push edx
push eax
call fcn.00431460
movss xmm1, dword [esp + 0x64]
mulss xmm1, dword [esp + 0x6c]
movss xmm0, dword [esp + 0x68]
inc edi
comiss xmm0, xmm1
jb 0x42e88a
movss xmm0, dword [esp + 0x68]
mov dword [esp + 0x80], ebx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
movss xmm2, dword [edi*4 + 0x18c8198]
mov edx, dword [eax + esi*4 - 4]
mov ebx, dword [ecx + esi*4 - 4]
addss xmm2, xmm1
movss dword [edi*4 + 0x18c819c], xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
xorps xmm0, xmmword [0x4629e0]
mov dword [edi*4 + 0x18be55c], edx
cmp edi, 0x1388
mov dword [edi*4 + 0x18c337c], ebx
je 0x42e81f
add esi, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
dec eax
test eax, eax
mov dword [esp + 0x7c], eax
jle 0x42e5b0
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x78], esi
lea ecx, [edi*4 + 0x18c337c]
lea edx, [ecx - 0x4e20]
lea eax, [ebx + esi*4]
mov ebx, dword [ebp + 0x18]
add eax, 0xfffffffc
mov dword [esp + 0x74], eax
lea esi, [ebx + esi*4]
add esi, 0xfffffffc
mov dword [esp + 0x70], esi
lea ebx, [esp + 0x64]
push ebx
mov ebx, 0x462900
push ebx
push esi
push eax
push ebx
push ecx
push edx
mov esi, dword [esp + 0x94]
movss dword [esp + 0x84], xmm0
call fcn.00431460
movss xmm0, dword [esp + 0x68]
movss xmm1, dword [esp + 0x64]
mulss xmm1, dword [esp + 0x6c]
inc edi
comiss xmm0, xmm1
jae 0x42e160
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
movaps xmm4, xmm1
movss xmm3, dword [0x462b48]
subss xmm4, xmm0
movaps xmm2, xmm4
andps xmm2, xmmword [0x4629d0]
comiss xmm3, xmm2
jbe 0x42e273
comiss xmm1, xmm0
movaps xmm2, xmm1
movaps xmm4, xmm1
subss xmm2, xmm3
movaps xmm0, xmm2
addss xmm3, xmm1
ja 0x42e26f
movaps xmm0, xmm3
subss xmm4, xmm0
divss xmm0, xmm4
movss dword [esp + 0x64], xmm0
lea edx, [edi*4 + 0x18be558]
lea esi, [esp + 0x40]
push esi
lea esi, [esp + 0x40]
lea eax, [edx + 0x4e20]
push esi
lea esi, [esp + 0x6c]
push esi
push ecx
push ebx
push eax
push edx
call fcn.00431bd0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x2c]
mov esi, dword [esp + 0x60]
mov ebx, dword [ecx]
sub esi, dword [esp + 0x54]
mov dword [edi*4 + 0x18be55c], eax
mov dword [edi*4 + 0x18c337c], edx
mov dword [esp + 0x48], esi
mov dword [edi*4 + 0x18c819c], ebx
call fcn.0043d060
mov dword [esp + 0x24], eax
xor eax, eax
push eax
push eax
push 0xe
push str._TMP_first.tmp
push eax
push 0xc8
push 0x4b5820
call sub.libifcoremd.dll_for_cpystr
add esp, 0x1c
lea edx, [esp + 0x24]
lea eax, [esp + 0x28]
push eax
push 0x462914
push 0xc8
push 0x4b5820
push edx
call fcn.0043d690
mov ebx, dword [esp + 0x24]
test edi, edi
jle 0x42e3ad
lea ecx, [esp + 0x88]
lea esi, [esp + 0x90]
mov eax, dword [edi*4 + 0x18be55c]
mov dword [esp + 0x90], 0
mov dword [esp + 0x88], eax
push 0x20
lea edx, [esp + 0x8c]
push edx
push 0x462918
push 0xa384ff00
push ebx
push esi
call sub.libifcoremd.dll_for_write_seq
mov eax, dword [edi*4 + 0x18c337c]
mov dword [esp + 0xc8], eax
lea edx, [esp + 0xc8]
push edx
push 0x462920
push esi
call sub.libifcoremd.dll_for_write_seq_xmit
mov eax, dword [edi*4 + 0x18c819c]
mov dword [esp + 0xdc], eax
lea edx, [esp + 0xdc]
push edx
push 0x462928
push esi
call sub.libifcoremd.dll_for_write_seq_xmit
add esp, 0x30
dec edi
test edi, edi
jg 0x42e32f
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x48]
cdq
mov ecx, dword [ecx]
idiv ecx
mov esi, 0xc7c34f80
add dword [esp + 0x54], ecx
test eax, eax
jle 0x42e462
mov dword [esp + 0x2c], ecx
mov edi, eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x54]
lea esi, [esp + 0x90]
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + ebx*4 - 4]
mov dword [esp + 0x90], 0
mov dword [esp + 0x50], ecx
push 0x20
lea edx, [esp + 0x54]
push edx
push 0x462930
push 0xa384ff00
push dword [esp + 0x40]
push esi
call sub.libifcoremd.dll_for_write_seq
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + ebx*4 - 4]
mov dword [esp + 0x78], ecx
lea edx, [esp + 0x78]
push edx
push 0x462938
push esi
call sub.libifcoremd.dll_for_write_seq_xmit
mov dword [esp + 0x8c], 0xc7c34f80
lea edx, [esp + 0x8c]
push edx
push 0x462940
push esi
call sub.libifcoremd.dll_for_write_seq_xmit
add esp, 0x30
add ebx, dword [esp + 0x2c]
dec edi
test edi, edi
jg 0x42e3df
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov esi, 0xc7c34f80
mov eax, dword [esp + 0x5c]
neg eax
add eax, ecx
cdq
idiv ecx
mov edi, eax
test edi, edi
jle 0x42e50f
mov esi, dword [esp + 0x58]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebx
lea ebx, [esp + 0x90]
mov eax, dword [ebp + 0x14]
mov edx, dword [eax + esi*4 - 4]
mov dword [esp + 0x90], 0
mov dword [esp + 0x70], edx
push 0x20
lea ecx, [esp + 0x74]
push ecx
push 0x462948
push 0xa384ff00
push dword [esp + 0x40]
push ebx
call sub.libifcoremd.dll_for_write_seq
mov eax, dword [ebp + 0x18]
lea ecx, [esp + 0x90]
mov edx, dword [eax + esi*4 - 4]
mov dword [esp + 0x90], edx
push ecx
push 0x462950
push ebx
call sub.libifcoremd.dll_for_write_seq_xmit
mov dword [esp + 0xa4], 0xc7c34f80
lea eax, [esp + 0xa4]
push eax
push 0x462958
push ebx
call sub.libifcoremd.dll_for_write_seq_xmit
add esp, 0x30
add esi, dword [esp + 0x2c]
dec edi
test edi, edi
jg 0x42e48a
mov ebx, dword [esp + 0x30]
mov esi, 0xc7c34f80
mov eax, dword [0x18be560]
mov dword [esp + 0x90], 0
mov dword [esp + 0x30], eax
lea edx, [esp + 0x30]
push 0x20
push edx
push 0x462960
push 0xa384ff00
push ebx
lea ecx, [esp + 0xa4]
push ecx
call sub.libifcoremd.dll_for_write_seq
mov eax, dword [0x18c3380]
mov dword [esp + 0x50], eax
lea edx, [esp + 0x50]
push edx
push 0x462968
lea ecx, [esp + 0xb0]
push ecx
call sub.libifcoremd.dll_for_write_seq_xmit
mov dword [esp + 0x6c], esi
lea eax, [esp + 0x6c]
push eax
push 0x462970
lea edx, [esp + 0xbc]
push edx
call sub.libifcoremd.dll_for_write_seq_xmit
xor eax, eax
mov dword [esp + 0xc0], eax
push 0x20
push eax
push 0x462978
push 0xa384ff00
push ebx
lea edx, [esp + 0xd4]
push edx
call sub.libifcoremd.dll_for_close
add esp, 0x10c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x2c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movss dword [esp + 0x68], xmm0
mov ebx, dword [esp + 0x60]
sub ebx, dword [esp + 0x54]
mov esi, ecx
neg esi
lea eax, [ecx + ebx]
neg eax
cdq
idiv esi
test eax, eax
jle 0x42e0d1
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x18]
lea edx, [edx + ecx*4 - 4]
lea eax, [eax + ecx*4 - 4]
lea esi, [edi*4 + 0x18c337c]
lea ecx, [esp + 0x64]
push ecx
lea ebx, [esi - 0x4e20]
mov ecx, 0x462900
push ecx
push eax
push edx
push ecx
push esi
push ebx
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x64]
call fcn.00431460
mov eax, dword [esp + 0x34]
movss xmm1, dword [esp + 0x64]
mulss xmm1, dword [esp + 0x6c]
inc edi
movss xmm0, dword [esp + 0x68]
comiss xmm0, xmm1
jb 0x42e7fa
movss xmm0, dword [esp + 0x68]
mov dword [esp + 0x38], esi
mov esi, eax
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x60]
mov edx, dword [ebp + 0x14]
movss xmm2, dword [edi*4 + 0x18c8198]
mov ecx, dword [edx + ebx*4 - 4]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + ebx*4 - 4]
addss xmm2, xmm1
movss dword [edi*4 + 0x18c819c], xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
xorps xmm0, xmmword [0x4629e0]
mov dword [edi*4 + 0x18be55c], ecx
cmp edi, 0x1388
mov dword [edi*4 + 0x18c337c], edx
je 0x42e78f
add ebx, dword [esp + 0x38]
dec esi
test esi, esi
jle 0x42e77f
mov dword [esp + 0x60], ebx
mov dword [esp + 0x34], esi
mov esi, dword [ebp + 0x14]
lea edx, [edi*4 + 0x18c337c]
lea ecx, [edx - 0x4e20]
lea eax, [esi + ebx*4]
mov esi, dword [ebp + 0x18]
add eax, 0xfffffffc
lea ebx, [esi + ebx*4]
mov dword [esp + 0x30], eax
lea esi, [esp + 0x64]
add ebx, 0xfffffffc
mov dword [esp + 0x24], ebx
push esi
mov esi, 0x462900
push esi
push ebx
push eax
push esi
push edx
push ecx
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x7c]
movss dword [esp + 0x84], xmm0
call fcn.00431460
movss xmm0, dword [esp + 0x68]
movss xmm1, dword [esp + 0x64]
mulss xmm1, dword [esp + 0x6c]
inc edi
comiss xmm0, xmm1
jae 0x42e653
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
lea edx, [edi*4 + 0x18be558]
lea esi, [esp + 0x40]
subss xmm1, xmm0
divss xmm0, xmm1
movss dword [esp + 0x64], xmm0
push esi
lea eax, [edx + 0x4e20]
lea esi, [esp + 0x40]
push esi
lea esi, [esp + 0x6c]
push esi
push ecx
push ebx
push eax
push edx
call fcn.00431bd0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x2c]
mov ebx, dword [ecx]
mov dword [edi*4 + 0x18be55c], eax
mov dword [edi*4 + 0x18c337c], edx
mov dword [edi*4 + 0x18c819c], ebx
jmp 0x42e2d0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movss dword [esp + 0x68], xmm0
jmp 0x42e0d1
mov ebx, dword [ebp + 0x30]
mov esi, dword [ebp + 8]
mov dword [esp + 0x90], 0
mov dword [esp + 0x10], 0xb
lea eax, [esp + 0x10]
mov dword [esp + 0x14], str.kb___5000__
push 0x20
push eax
push 0x46290c
push 0xa384ff00
push 0xffffffffffffffff
lea edx, [esp + 0xa4]
push edx
call sub.libifcoremd.dll_for_write_seq_lis
add esp, 0x18
movss xmm0, dword [esp + 0x44]
mulss xmm0, dword [0x462b44]
mov eax, dword [ebp + 0x24]
movss xmm4, dword [eax]
mov edx, dword [ebp + 0x28]
movss xmm3, dword [edx]
movss dword [esp + 0x44], xmm0
jmp 0x42e07b
movss xmm0, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x48], ebx
lea ecx, [eax + edx*4]
mov ebx, dword [ebp + 0x14]
lea ebx, [ebx + edx*4]
add ebx, 0xfffffffc
add ecx, 0xfffffffc
jmp 0x42e725
mov ebx, dword [ebp + 0x30]
mov esi, dword [ebp + 8]
mov dword [esp + 0x90], 0
mov dword [esp + 0x18], 0xb
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 0x462b08
push 0x20
push eax
push 0x462904
push 0xa384ff00
push 0xffffffffffffffff
lea edx, [esp + 0xa4]
push edx
call sub.libifcoremd.dll_for_write_seq_lis
add esp, 0x18
movss xmm0, dword [esp + 0x44]
mulss xmm0, dword [0x462b44]
mov eax, dword [ebp + 0x24]
movss xmm4, dword [eax]
mov edx, dword [ebp + 0x28]
movss xmm3, dword [edx]
movss dword [esp + 0x44], xmm0
jmp 0x42e07b
movss xmm0, dword [esp + 0x68]
mov ebx, dword [ebp + 0x14]
mov edx, esi
mov eax, dword [ebp + 0x18]
lea ebx, [ebx + edx*4]
add ebx, 0xfffffffc
lea ecx, [eax + edx*4]
add ecx, 0xfffffffc
jmp 0x42e238
ucomiss xmm3, dword [edi + esi*4 - 4]
jne 0x42e023
jp 0x42e023
jmp 0x42e02c