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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x94
mov edi, eax
lea edx, [esp + 0x6c]
push edx
call fcn.00459aa0
push 0x12c
push 0x4c3830
push 0x4c3060
call fcn.0045a5c0
xor esi, esi
lea eax, [esp + 0x7c]
mov dword [esp + 0x74], esi
mov dword [esp + 0x7c], esi
push eax
push 0x11
push 0x4ae724
call fcn.00456970
cvtss2sd xmm0, dword [0x4c30cc]
ucomisd xmm0, qword [0x4ad9a0]
jp 0x405106
je 0x405bdd
mov eax, dword [esp + 0x7c]
ucomisd xmm0, qword [0x4ad9a8]
jp 0x40511a
je 0x405bb0
test al, 1
je 0x405238
movss xmm1, dword [0x4c3524]
pxor xmm0, xmm0
mov eax, dword [0x4c3524]
ucomiss xmm1, xmm0
jp 0x40513a
je 0x40515b
movss xmm0, dword [0x4c306c]
subss xmm0, dword [0x4c3068]
ucomiss xmm1, xmm0
jp 0x405151
je 0x405157
mov dword [esp + 0x74], eax
jmp 0x40515b
mov dword [esp + 0x74], esi
push esi
push esi
push 0x12c
mov ebx, 0x4c7e80
push ebx
push esi
push 0x28
push 0x4ef0e8
call sub.libifcoremd.dll_for_cpystr
push 0
push 0xa
push 0x4ae738
push 0x12c
push ebx
call sub.libifcoremd.dll_for_f90_index
add esp, 0x30
test eax, eax
je 0x4051eb
mov dword [esp + 0x10], esi
lea edx, [eax + 9]
neg edx
lea eax, [eax + 0x4ef0f1]
add edx, 0x28
lea ecx, [esp + 0x74]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x10]
cmovs edx, esi
lea ebx, [esp + 0x50]
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], ecx
push 0x20
push ebx
push 0x4a9590
push 0xa384ff00
push eax
call sub.libifcoremd.dll_for_read_int_lis
add esp, 0x14
movss xmm2, dword [esp + 0x6c]
movss xmm6, dword [esp + 0x74]
mulss xmm6, xmm2
movss dword [esp + 0x74], xmm6
jmp 0x4051f7
movss xmm2, dword [esp + 0x6c]
movss xmm6, dword [esp + 0x74]
movss xmm4, dword [0x4c306c]
movaps xmm5, xmm2
movss xmm1, dword [0x4c3214]
pxor xmm0, xmm0
movss xmm3, dword [0x4c3068]
mov ebx, 0xffffffff
ucomiss xmm6, xmm0
addss xmm1, xmm4
addss xmm1, xmm3
addss xmm5, xmm1
jp 0x405232
je 0x4053fb
pxor xmm4, xmm4
jmp 0x405246
mov ebx, esi
pxor xmm6, xmm6
pxor xmm4, xmm4
pxor xmm5, xmm5
cvttss2si eax, dword [0x4c3064]
mov edx, dword [edi]
cmp edx, 6
mov dword [esp + 0x84], eax
je 0x405a16
movss xmm3, dword [0x4c306c]
cmp edx, 3
movss xmm2, dword [0x4c3068]
movaps xmm0, xmm3
maxss xmm0, xmm2
movss dword [esp + 0x64], xmm0
je 0x405a07
movss xmm1, dword [0x4c3080]
cmp edx, 1
movaps xmm6, xmm1
addss xmm3, dword [0x4c3214]
mulss xmm6, dword [0x4ae85c]
mov eax, dword [0x4c3080]
addss xmm3, xmm6
movss xmm0, dword [0x4ae858]
mov dword [0x4c30b4], eax
mov eax, 0x3dcccccd
mov dword [0x4c30f0], 0x447a0000
minss xmm0, xmm1
mov dword [0x4c3110], eax
mov dword [0x4c3144], eax
je 0x4059f2
cmp edx, 2
je 0x4059b3
cmp edx, 4
je 0x405643
movss dword [0x4c306c], xmm3
movss dword [0x4c3080], xmm0
cmp edx, 5
je 0x405413
lea ebx, [esp + 0x84]
push 4
push 0x4ae7f0
push 0xc8
push 0x4ef000
push ebx
call fcn.004558c0
lea eax, [esp + 0x5c]
push eax
push 0xc8
push 0x4ef000
lea edx, [esp + 0x78]
push edx
push 0x4a9620
call fcn.0046de70
push 0x4ef0d0
call fcn.0043c980
push 0x4c309c
push 0x4c3098
push 0x4c3094
push 0x4c3090
push ebx
call fcn.0045b040
movss xmm3, dword [0x4c306c]
movss xmm0, dword [0x4ef0d0]
movss xmm1, dword [0x4ef0d4]
subss xmm0, xmm3
addss xmm1, xmm3
movss xmm2, dword [0x4ef0d8]
movss xmm5, dword [0x4ef0dc]
subss xmm2, xmm3
addss xmm5, xmm3
movss xmm4, dword [0x4ae874]
subss xmm0, xmm4
addss xmm1, xmm4
subss xmm2, xmm4
addss xmm5, xmm4
movss dword [0x4c3090], xmm0
movss dword [0x4c3094], xmm1
movss dword [0x4c3098], xmm2
movss dword [0x4c309c], xmm5
push 0x12c
push 0x4c3830
push 0x4c3060
call fcn.0045a620
add esp, 0x94
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mulss xmm2, dword [0x4ae858]
movaps xmm6, xmm1
maxss xmm4, xmm3
subss xmm6, xmm2
jmp 0x405246
lea eax, [esp + 0x5c]
push eax
push 0x4a9598
push 0x16
push 0x4ae780
push 0x4a959c
movss dword [esp + 0x58], xmm4
call fcn.00456420
lea eax, [esp + 0x5c]
push eax
push 0x4a95a0
push 0x13
push 0x4ae798
push 0x4a95a4
call fcn.00456420
movss xmm4, dword [esp + 0x44]
cmp dword [esp + 0x5c], 0
jne 0x4055e0
lea edi, [esp + 0x10]
lea edx, [esp + 0x4c]
lea eax, [esp + 0x60]
movss dword [esp + 0x44], xmm4
mov esi, edx
mov dword [esp + 0x3c], ebx
mov ebx, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x60], esi
push 0x20
push ebx
push 0x4a95f0
push 0xa384ff03
push 0xb
push edi
call sub.libifcoremd.dll_for_read_seq_lis
add esp, 0x18
cmp eax, 0xffffffff
je 0x405532
test eax, eax
jg 0x405532
movss xmm0, dword [esp + 0x4c]
lea ecx, [esp + 0x38]
mov dword [esp + 0x10], 0
subss xmm0, dword [0x4c3068]
movss dword [esp + 0x4c], xmm0
divss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x38], xmm0
push 0x20
push ecx
push 0x4a95f8
push 0xa384ff00
push 0xc
push edi
call sub.libifcoremd.dll_for_write_seq_lis
movss xmm0, dword [esp + 0x48]
lea ecx, [esp + 0x58]
movss dword [esp + 0x58], xmm0
push ecx
push 0x4a9600
push edi
call sub.libifcoremd.dll_for_write_seq_lis_xmit
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x6c]
push ecx
push 0x4a9608
push edi
call sub.libifcoremd.dll_for_write_seq_lis_xmit
add esp, 0x30
jmp 0x40547a
movss xmm4, dword [esp + 0x44]
xor esi, esi
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x10], esi
push 0x20
push esi
push 0x4a9610
push 0xa384ff00
push 0xb
push edi
movss dword [esp + 0x5c], xmm4
call sub.libifcoremd.dll_for_close
mov dword [esp + 0x28], esi
push 0x20
push esi
push 0x4a9618
push 0xa384ff00
push 0xc
push edi
call sub.libifcoremd.dll_for_close
movss xmm4, dword [esp + 0x74]
add esp, 0x30
lea eax, [esp + 0x5c]
push eax
push 0x13
push 0x4ae7c8
movss dword [esp + 0x50], xmm4
call fcn.004718f0
lea eax, [esp + 0x7c]
push eax
push 0x10
push str._TMP_reprise.tmp
call fcn.00456970
movss xmm4, dword [esp + 0x44]
test byte [esp + 0x7c], 1
je 0x4055ca
movss xmm0, dword [esp + 0x64]
maxss xmm0, dword [0x4c3088]
movss dword [0x4c3088], xmm0
test bl, 1
je 0x405308
movss dword [0x4c3088], xmm4
jmp 0x405308
mov dword [esp + 0x10], 0
lea edi, [esp + 0x10]
mov dword [esp], 0x16
lea eax, [esp]
mov dword [esp + 4], 0x4ae7ac
push 0x20
push eax
push 0x4a95e8
push 0xa384ff00
push 0xffffffffffffffff
push edi
movss dword [esp + 0x5c], xmm4
call sub.libifcoremd.dll_for_write_seq_lis
push 0x20
push esi
push esi
push 0xa384ff00
push esi
push 0x4ae7c4
call sub.libifcoremd.dll_for_stop_core
movss xmm4, dword [esp + 0x74]
add esp, 0x30
lea edx, [esp + 0x4c]
lea eax, [esp + 0x60]
jmp 0x40546c
movss xmm6, dword [0x4c30a0]
movss xmm7, dword [0x4ae858]
subss xmm6, dword [0x4ae86c]
movss dword [0x4c30a0], xmm6
movss xmm6, dword [0x4c3088]
movss dword [esp], xmm6
comiss xmm7, xmm6
jbe 0x405687
movss xmm6, dword [0x4ae864]
mov dword [0x4c3088], eax
movss dword [esp], xmm6
test bl, 1
je 0x4056d0
mov eax, 0x3f800000
mov dword [0x4c321c], eax
movss xmm3, dword [0x4c3218]
movss dword [0x4c306c], xmm5
addss xmm3, xmm1
comiss xmm3, dword [esp]
jbe 0x4056c1
addss xmm3, xmm1
movss dword [esp], xmm3
movss dword [0x4c3088], xmm3
addss xmm2, dword [esp]
movss dword [0x4c3068], xmm2
jmp 0x405715
movss xmm6, dword [0x4c321c]
movss xmm5, dword [0x4ae878]
ucomiss xmm6, xmm5
jp 0x4056eb
je 0x40599f
pxor xmm1, xmm1
ucomiss xmm6, xmm1
jp 0x4056fa
je 0x405985
ucomiss xmm6, dword [0x4ae870]
jp 0x405709
je 0x40595b
movss dword [0x4c306c], xmm3
pxor xmm2, xmm2
mulss xmm0, dword [0x4ae85c]
lea eax, [esp + 0x5c]
push eax
push 0x4a9598
push 0x16
push 0x4ae744
push 0x4a959c
movss dword [0x4c3080], xmm0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x58], xmm4
call fcn.00456420
lea eax, [esp + 0x5c]
push eax
push 0x4a95a0
push 0xc
push str._TMP_ugv.lev
push 0x4a95a4
call fcn.00456420
movss xmm4, dword [esp + 0x44]
movss xmm2, dword [esp + 4]
cmp dword [esp + 0x5c], 0
jne 0x4058e7
lea edx, [esp + 0x34]
lea eax, [esp + 0x88]
movss dword [esp + 4], xmm2
mov esi, edx
movss dword [esp + 0x44], xmm4
mov dword [esp + 0x3c], ebx
lea ebx, [esp + 0x10]
mov dword [esp], edi
mov edi, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x88], esi
push 0x20
push edi
push 0x4a95b0
push 0xa384ff03
push 0xb
push ebx
call sub.libifcoremd.dll_for_read_seq_lis
add esp, 0x18
test eax, eax
jne 0x4057ea
lea ecx, [esp + 0x4c]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x68]
push ecx
push 0x4a95b8
push ebx
call sub.libifcoremd.dll_for_read_seq_lis_xmit
add esp, 0xc
cmp eax, 0xffffffff
je 0x405888
test eax, eax
jg 0x405888
movss xmm0, dword [esp + 0x4c]
lea ecx, [esp + 0x70]
mov dword [esp + 0x10], 0
subss xmm0, dword [esp + 4]
movss dword [esp + 0x4c], xmm0
divss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x70], xmm0
push 0x20
push ecx
push 0x4a95c0
push 0xa384ff00
push 0xc
push ebx
call sub.libifcoremd.dll_for_write_seq_lis
movss xmm0, dword [esp + 0x48]
lea ecx, [esp + 0x90]
movss dword [esp + 0x90], xmm0
push ecx
push 0x4a95c8
push ebx
call sub.libifcoremd.dll_for_write_seq_lis_xmit
mov dword [esp + 0xa4], 0
lea ecx, [esp + 0xa4]
push ecx
push 0x4a95d0
push ebx
call sub.libifcoremd.dll_for_write_seq_lis_xmit
add esp, 0x30
jmp 0x4057a4
movss xmm4, dword [esp + 0x44]
xor esi, esi
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp]
mov dword [esp + 0x10], esi
push 0x20
push esi
push 0x4a95d8
push 0xa384ff00
push 0xb
lea eax, [esp + 0x24]
push eax
movss dword [esp + 0x5c], xmm4
call sub.libifcoremd.dll_for_close
mov dword [esp + 0x28], esi
push 0x20
push esi
push 0x4a95e0
push 0xa384ff00
push 0xc
lea eax, [esp + 0x3c]
push eax
call sub.libifcoremd.dll_for_close
movss xmm4, dword [esp + 0x74]
add esp, 0x30
mov edx, dword [edi]
jmp 0x4052ff
mov dword [esp + 0x10], 0
lea edx, [esp + 0x10]
mov dword [esp + 8], 0xc
lea eax, [esp + 8]
mov dword [esp + 0xc], 0x4ae76c
push 0x20
push eax
push 0x4a95a8
push 0xa384ff00
push 0xffffffffffffffff
push edx
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x5c], xmm4
call sub.libifcoremd.dll_for_write_seq_lis
push 0x20
push esi
push esi
push 0xa384ff00
push esi
push 0x4ae77c
call sub.libifcoremd.dll_for_stop_core
movss xmm4, dword [esp + 0x74]
movss xmm2, dword [esp + 0x34]
add esp, 0x30
lea edx, [esp + 0x34]
lea eax, [esp + 0x88]
jmp 0x405789
movss xmm1, dword [esp]
addss xmm3, xmm1
addss xmm2, xmm1
addss xmm3, dword [0x4ae878]
movss dword [0x4c306c], xmm3
movss dword [0x4c3068], xmm2
jmp 0x405715
addss xmm3, dword [esp]
addss xmm3, dword [0x4ae878]
movss dword [0x4c306c], xmm3
jmp 0x405715
movaps xmm5, xmm3
movss xmm3, dword [0x4ae864]
subss xmm5, xmm3
jmp 0x405696
movss dword [0x4c3080], xmm0
movss xmm0, dword [0x4ae878]
comiss xmm0, xmm3
jbe 0x4059dd
subss xmm3, dword [0x4ae868]
movss dword [0x4c306c], xmm3
jmp 0x405308
subss xmm3, dword [0x4ae85c]
movss dword [0x4c306c], xmm3
jmp 0x405308
movss dword [0x4c306c], xmm3
movss dword [0x4c3080], xmm0
jmp 0x4053d8
mov eax, 0x41200000
mov dword [0x4c30f0], eax
jmp 0x4053d8
mov eax, 0x41200000
test bl, 1
mov dword [0x4c30f0], eax
je 0x405a2d
movss dword [0x4c306c], xmm6
movss xmm1, dword [0x4c33a4]
movss xmm0, dword [0x4ae858]
mov edi, dword [0x4c3080]
movss dword [esp + 0xc], xmm0
comiss xmm0, xmm1
ja 0x405a60
movss xmm0, dword [0x4ae864]
minss xmm0, xmm1
movss dword [esp + 0xc], xmm0
mov dword [esp + 0x10], 0
lea ebx, [esp + 0x10]
mov dword [esp], 0x1f
lea eax, [esp]
mov dword [esp + 4], str.flatsurfacetolerance_tol1_tol_
push 0x20
push eax
push 0x4a9624
push 0xa384ff00
push 0xffffffffffffffff
push ebx
call sub.libifcoremd.dll_for_write_seq_lis
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x48]
movss dword [esp + 0x48], xmm0
push eax
push 0x4a962c
push ebx
call sub.libifcoremd.dll_for_write_seq_lis_xmit
mov dword [esp + 0x5c], edi
lea eax, [esp + 0x5c]
push eax
push 0x4a9634
push ebx
call sub.libifcoremd.dll_for_write_seq_lis_xmit
add esp, 0x30
lea eax, [esp + 8]
push eax
push 0x4a9598
push 0x11
push str._TMP_decalage.tmp
push 0x4a963c
call fcn.00456420
mov dword [esp + 0x10], 0
lea eax, [esp + 0x40]
mov dword [esp + 0x40], edi
push 0x20
push eax
push 0x4a9640
push 0xa384ff00
push 0xa
push ebx
call sub.libifcoremd.dll_for_write_seq_lis
mov dword [esp + 0x28], esi
push 0x20
push esi
push 0x4a9648
push 0xa384ff00
push 0xa
push ebx
call sub.libifcoremd.dll_for_close
add esp, 0x30
lea eax, [esp + 8]
push eax
push 0x4a9598
push 0x14
push str._TMP_flatsurface.tmp
push 0x4a963c
call fcn.00456420
mov dword [esp + 0x10], 0
lea eax, [esp + 0x48]
mov dword [esp + 0x48], edi
push 0x20
push eax
push 0x4a9650
push 0xa384ff00
push 0xa
push ebx
call sub.libifcoremd.dll_for_write_seq_lis
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x78]
mov dword [esp + 0x28], 0
movss dword [esp + 0x78], xmm0
push 0x20
push eax
push 0x4a9658
push 0xa384ff00
push 0xa
push ebx
call sub.libifcoremd.dll_for_write_seq_lis
mov dword [esp + 0x40], esi
push 0x20
push esi
push 0x4a9660
push 0xa384ff00
push 0xa
push ebx
call sub.libifcoremd.dll_for_close
add esp, 0x48
jmp 0x4053d8
movss xmm0, dword [0x4c3378]
ucomiss xmm0, dword [0x4ae850]
jne 0x40511a
jp 0x40511a
mov dword [esp + 0x7c], 0xffffffff
mov eax, 0xffffffff
jmp 0x40511a
movss xmm0, dword [0x4c3378]
ucomiss xmm0, dword [0x4ae848]
jp 0x405bf0
je 0x405bcb
mov eax, dword [esp + 0x7c]
jmp 0x40511a