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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
mov esi, ecx
cmp dword [esi], 0
push edi
je 0x4388f0
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi + 8]
jne 0x4388f0
cmp byte [ebp + 0x1c], 0
jne 0x4381d3
mov ecx, dword [esi + 0x30]
push ecx
call fcn.0044f290
fcomp qword [ebp + 0x10]
add esp, 4
fnstsw ax
test ah, 5
jnp 0x4388f0
fldz
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x28]
fst qword [esp + 0x60]
fst qword [esp + 0x68]
lea edx, [esp + 0x40]
fst qword [esp + 0x40]
push edx
fst qword [esp + 0x4c]
sub esp, 8
fst qword [esp + 0x7c]
mov dword [esp + 0x3c], 0xffffffff
fstp qword [esp + 0x84]
mov dword [esp + 0x40], 8
fld qword [ebp + 0x10]
mov byte [esp + 0x37], 0
fstp qword [esp]
push edi
call fcn.00453550
add esp, 0x10
test al, al
je 0x438267
mov eax, dword [ebp + 0x18]
fld qword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x64]
fstp qword [esp + 8]
fld qword [esp + 0x5c]
fstp qword [esp]
push ecx
call fcn.00457190
fld qword [esp + 0x60]
fstp qword [esp + 0x90]
add esp, 0x20
fld qword [esp + 0x48]
mov byte [esp + 0x2b], 1
fstp qword [esp + 0x78]
push ebx
push edi
call fcn.0044f550
add esp, 8
cmp dword [esi + 0xc], 1
mov ebx, eax
push ebx
mov dword [esp + 0x30], ebx
push edi
jne 0x438286
call fcn.0044f830
jmp 0x43828b
call fcn.0044f860
mov edi, eax
add esp, 8
cmp edi, dword [esi + 0x24]
je 0x438798
jmp 0x4382a4
mov ebx, dword [esp + 0x2c]
push edi
call fcn.0044fb70
add esp, 4
test al, al
jne 0x438768
fld qword [ebp + 0x10]
lea edx, [esp + 0x40]
push edx
sub esp, 8
fstp qword [esp]
push edi
call fcn.00453550
add esp, 0x10
test al, al
je 0x438711
cmp byte [esp + 0x2b], 0
je 0x43863b
cmp byte [ebp + 0x1c], 0
je 0x438522
push ebx
push edi
call fcn.0044f550
push eax
call fcn.0044f290
fstp qword [esp + 0x44]
lea eax, [esp + 0x3c]
push eax
lea ebx, [esi + 0x18]
push ebx
push edi
call fcn.0044f630
mov ecx, dword [esi + 0xc]
add esp, 0x18
push ecx
mov ecx, dword [esi]
lea edx, [esp + 0x34]
push edx
call fcn.00425e00
mov ecx, dword [ebp + 0xc]
cmp dword [eax + 8], ecx
je 0x438406
cmp dword [esi + 0x1c], 2
jne 0x4383c8
fld qword [esp + 0x40]
mov eax, dword [ebx]
lea edx, [esp + 0x60]
fstp qword [esp + 0x50]
fld qword [esp + 0x48]
push edx
push eax
fstp qword [esp + 0x60]
call fcn.0044e4d0
fld qword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
add esp, 8
push 1
push 1
push ecx
sub esp, 0x10
cmp dword [esi + 0xc], 0xffffffff
fstp qword [esp + 8]
fld qword [0x4853c0]
mov ecx, dword [ebp + 8]
fstp qword [esp]
sete dl
fld qword [esp + 0x84]
movzx eax, dl
push eax
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [esp + 0xb0]
fstp qword [esp + 0x20]
fld qword [esp + 0xa8]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
fstp qword [esp + 0x10]
fld qword [esp + 0xc8]
fstp qword [esp + 8]
fld qword [esp + 0xc0]
fstp qword [esp]
push ecx
call fcn.00457410
add esp, 0x54
fld qword [0x4853b8]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
push 1
sub esp, 8
fstp qword [esp]
push edx
fld qword [esp + 0x48]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp + 0x10]
fstp qword [esp]
push edi
push eax
call fcn.0043bda0
mov ebx, dword [esp + 0x54]
add esp, 0x28
mov byte [esp + 0x2b], 0
jmp 0x438768
mov eax, dword [esi + 0x1c]
cmp eax, 2
jne 0x4384aa
fld qword [esp + 0x40]
mov edx, dword [ebx]
lea ecx, [esp + 0x60]
fstp qword [esp + 0x50]
fld qword [esp + 0x48]
push ecx
push edx
fstp qword [esp + 0x60]
call fcn.0044e4d0
fld qword [ebp + 0x10]
mov eax, dword [ebp + 0x18]
add esp, 8
push 1
push 1
push eax
sub esp, 0x10
cmp dword [esi + 0xc], 0xffffffff
fstp qword [esp + 8]
fld qword [0x4853c0]
mov eax, dword [ebp + 8]
fstp qword [esp]
sete cl
fld qword [esp + 0x84]
movzx edx, cl
push edx
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [esp + 0xb0]
fstp qword [esp + 0x20]
fld qword [esp + 0xa8]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
fstp qword [esp + 0x10]
fld qword [esp + 0xc8]
fstp qword [esp + 8]
fld qword [esp + 0xc0]
fstp qword [esp]
push eax
call fcn.00457410
add esp, 0x54
jmp 0x4384ef
test eax, eax
je 0x4384c6
push 0x219
push 0x489954
push 0x489970
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
mov ecx, dword [ebp + 0x18]
fld qword [ebp + 0x10]
mov edx, dword [ebp + 8]
push ecx
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x64]
fstp qword [esp + 8]
fld qword [esp + 0x5c]
fstp qword [esp]
push edx
call fcn.00457190
add esp, 0x20
fld qword [0x486560]
mov eax, dword [ebp + 8]
push 0x270f
sub esp, 0x18
fst qword [esp + 0x10]
fst qword [esp + 8]
fstp qword [esp]
push eax
call fcn.00457190
mov ebx, dword [esp + 0x4c]
add esp, 0x20
mov byte [esp + 0x2b], 0
jmp 0x438768
mov eax, dword [esi + 0x1c]
cmp eax, 2
jne 0x4385c7
fld qword [esp + 0x40]
mov edx, dword [esi + 0x18]
lea ecx, [esp + 0x60]
fstp qword [esp + 0x50]
fld qword [esp + 0x48]
push ecx
push edx
fstp qword [esp + 0x60]
call fcn.0044e4d0
fld qword [ebp + 0x10]
mov eax, dword [ebp + 0x18]
add esp, 8
push 1
push 1
push eax
sub esp, 0x10
cmp dword [esi + 0xc], 0xffffffff
fstp qword [esp + 8]
fld qword [0x4853c0]
mov eax, dword [ebp + 8]
fstp qword [esp]
sete cl
fld qword [esp + 0x84]
movzx edx, cl
push edx
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [esp + 0xb0]
fstp qword [esp + 0x20]
fld qword [esp + 0xa8]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
fstp qword [esp + 0x10]
fld qword [esp + 0xc8]
fstp qword [esp + 8]
fld qword [esp + 0xc0]
fstp qword [esp]
push eax
call fcn.00457410
add esp, 0x54
jmp 0x43860c
test eax, eax
je 0x4385e3
push 0x23b
push 0x4899a4
push 0x4899c0
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
mov ecx, dword [ebp + 0x18]
fld qword [ebp + 0x10]
mov edx, dword [ebp + 8]
push ecx
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x64]
fstp qword [esp + 8]
fld qword [esp + 0x5c]
fstp qword [esp]
push edx
call fcn.00457190
add esp, 0x20
fld qword [0x486560]
mov eax, dword [ebp + 8]
push 0x270f
sub esp, 0x18
fst qword [esp + 0x10]
fst qword [esp + 8]
fstp qword [esp]
push eax
call fcn.00457190
add esp, 0x20
mov byte [esp + 0x2b], 0
jmp 0x438768
cmp byte [ebp + 0x1c], 0
je 0x4386d1
push ebx
call fcn.0044f290
fstp st(0)
lea ecx, [esp + 0x34]
push ecx
lea edx, [esi + 0x18]
push edx
push edi
call fcn.0044f630
mov eax, dword [esi + 0xc]
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esi]
call fcn.00425e00
mov edx, dword [ebp + 0xc]
cmp dword [eax + 8], edx
je 0x4386ae
push ebx
call fcn.0044f290
fld qword [0x4853b8]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
add esp, 4
push 1
sub esp, 8
fstp qword [esp]
push eax
fld qword [ebp + 0x10]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
push edi
push ecx
call fcn.0043bda0
add esp, 0x28
jmp 0x4386fa
mov edx, dword [ebp + 0x18]
fld qword [ebp + 0x10]
mov eax, dword [ebp + 8]
push edx
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x64]
fstp qword [esp + 8]
fld qword [esp + 0x5c]
fstp qword [esp]
push eax
jmp 0x4386f2
mov ecx, dword [ebp + 0x18]
fld qword [ebp + 0x10]
mov edx, dword [ebp + 8]
push ecx
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x64]
fstp qword [esp + 8]
fld qword [esp + 0x5c]
fstp qword [esp]
push edx
call fcn.00457190
add esp, 0x20
fld qword [esp + 0x40]
mov byte [esp + 0x2b], 1
fstp qword [esp + 0x70]
fld qword [esp + 0x48]
fstp qword [esp + 0x78]
jmp 0x438768
cmp byte [ebp + 0x1c], 0
je 0x438768
cmp byte [esp + 0x2b], 0
jne 0x438768
lea eax, [esp + 0x30]
push eax
lea ecx, [esi + 0x18]
push ecx
push edi
call fcn.0044f630
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add esp, 0xc
push edx
lea eax, [esp + 0x34]
push eax
call fcn.00425e00
mov ecx, dword [ebp + 0xc]
cmp dword [eax + 8], ecx
je 0x438768
fld qword [0x4853b8]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
push 0
sub esp, 8
fstp qword [esp]
push edx
push ebx
push edi
push eax
call fcn.0043bb80
add esp, 0x1c
push ebx
push edi
call fcn.0044f550
add esp, 8
cmp dword [esi + 0xc], 1
push eax
mov dword [esp + 0x30], eax
push edi
jne 0x438785
call fcn.0044f830
jmp 0x43878a
call fcn.0044f860
mov edi, eax
add esp, 8
cmp edi, dword [esi + 0x24]
jne 0x4382a0
fld qword [ebp + 0x10]
lea ecx, [esp + 0x40]
push ecx
sub esp, 8
fstp qword [esp]
push edi
call fcn.00453550
add esp, 0x10
test al, al
je 0x4388e5
cmp byte [esp + 0x2b], 0
jne 0x4387d6
push 0x278
push 0x4899f4
push str.put2nd
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
mov eax, dword [esi + 0x1c]
cmp eax, 2
jne 0x43887b
fld qword [esp + 0x40]
mov eax, dword [esi + 0x18]
lea edx, [esp + 0x60]
fstp qword [esp + 0x50]
fld qword [esp + 0x48]
push edx
push eax
fstp qword [esp + 0x60]
call fcn.0044e4d0
fld qword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
add esp, 8
push 1
push 1
push ecx
sub esp, 0x10
cmp dword [esi + 0xc], 0xffffffff
fstp qword [esp + 8]
fld qword [0x4853c0]
mov ecx, dword [ebp + 8]
fstp qword [esp]
sete dl
fld qword [esp + 0x84]
movzx eax, dl
push eax
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [esp + 0xb0]
fstp qword [esp + 0x20]
fld qword [esp + 0xa8]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
fstp qword [esp + 0x10]
fld qword [esp + 0xc8]
fstp qword [esp + 8]
fld qword [esp + 0xc0]
fstp qword [esp]
push ecx
call fcn.00457410
add esp, 0x54
jmp 0x4388c0
test eax, eax
je 0x438897
push 0x292
push 0x489a20
push str._site.type__VD_SEG_SITE
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
mov edx, dword [ebp + 0x18]
fld qword [ebp + 0x10]
mov eax, dword [ebp + 8]
push edx
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x64]
fstp qword [esp + 8]
fld qword [esp + 0x5c]
fstp qword [esp]
push eax
call fcn.00457190
add esp, 0x20
fld qword [0x486560]
mov ecx, dword [ebp + 8]
push 0x270f
sub esp, 0x18
fst qword [esp + 0x10]
fst qword [esp + 8]
fstp qword [esp]
push ecx
call fcn.00457190
add esp, 0x20
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x18