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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x523fb3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x11c
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0xa0]
cmp eax, ebx
mov dword [esp + 0x64], eax
je 0x450ca8
lea ecx, [esp + 0x44]
mov byte [esi + 0x5a], bl
call fcn.00487f90
lea ecx, [esp + 0x44]
mov dword [esp + 0x130], ebx
push ecx
mov ecx, esi
call fcn.004503e0
mov ecx, dword [esi + 0x3c]
lea edx, [esp + 0x10]
push edx
add ecx, 0x288
call fcn.004f3700
mov eax, dword [ebp + 8]
mov byte [esp + 0x130], 1
cmp eax, ebx
jne 0x450863
cmp dword [esi + 0x48], 1
jne 0x45077c
mov eax, dword [esi + 0x44]
mov ecx, dword [eax]
call fcn.00502900
test eax, eax
je 0x45077c
mov edi, 0x533ea4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov eax, dword [esi + 0x44]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x34]
mov ecx, dword [eax]
push edx
push ecx
mov ecx, dword [esi + 0x3c]
add ecx, 0x288
mov byte [esp + 0x13c], 3
call fcn.004fa6a0
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp ecx, ebx
jle 0x450702
mov edx, dword [esp + 0x34]
inc eax
mov ecx, dword [edx + eax*4 - 4]
mov dword [ecx + 0x254], ebx
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jl 0x4506eb
mov ecx, dword [esp + 0x70]
xor eax, eax
cmp ecx, ebx
jle 0x450723
mov edx, dword [esp + 0x6c]
inc eax
mov ecx, dword [edx + eax*4 - 4]
mov dword [ecx + 0x254], ebx
mov ecx, dword [esp + 0x70]
cmp eax, ecx
jl 0x45070c
mov edx, dword [esi + 0x44]
mov eax, dword [edx]
mov dword [eax + 0x254], 1
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x130], 4
cmp eax, ebx
je 0x45074f
push eax
call fcn.0051aee4
add esp, 4
mov dword [esp + 0x68], 0x53138c
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x34]
mov byte [esp + 0x130], 5
cmp eax, ebx
je 0x450774
push eax
call fcn.0051aee4
add esp, 4
mov byte [esp + 0x130], 1
mov eax, dword [esi + 0x48]
xor edi, edi
cmp eax, ebx
jle 0x450ba1
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + edi*4]
call fcn.00498b90
fld qword [esp + 0x10]
mov ecx, eax
fcomp qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x4507a9
fld qword [esp + 0x10]
jmp 0x4507ab
fld qword [ecx]
fld qword [esp + 0x20]
fld qword [ecx + 0x10]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4507c1
fld qword [esp + 0x20]
jmp 0x4507c4
fld qword [ecx + 0x10]
fxch st(1)
fadd qword [0x536a98]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x450833
fld qword [esp + 0x18]
fld qword [ecx + 8]
fcompp
fnstsw ax
test ah, 1
je 0x4507ed
fld qword [esp + 0x18]
jmp 0x4507f0
fld qword [ecx + 8]
fld qword [esp + 0x28]
fld qword [ecx + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jne 0x450806
fld qword [esp + 0x28]
jmp 0x450809
fld qword [ecx + 0x18]
fxch st(1)
fadd qword [0x536a98]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x450833
mov byte [esi + 0x58], 1
mov byte [esi + 0x5a], 1
mov edx, dword [esi + 0x44]
push 1
mov ecx, dword [edx + edi*4]
mov eax, dword [ecx]
call dword [eax + 0x1c]
jmp 0x450852
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + edi*4]
mov edx, dword [ecx]
call dword [edx + 0x20]
test eax, eax
je 0x450846
mov byte [esi + 0x5a], 1
mov eax, dword [esi + 0x44]
push ebx
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov eax, dword [esi + 0x48]
inc edi
cmp edi, eax
jl 0x450789
jmp 0x450ba1
cmp eax, 1
jne 0x4509d8
fld qword [esp + 0x10]
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x450881
fld qword [esp + 0x10]
jmp 0x450885
fld qword [esp + 0x44]
fld qword [esp + 0x20]
fld qword [esp + 0x54]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45089c
fld qword [esp + 0x20]
jmp 0x4508a0
fld qword [esp + 0x54]
fxch st(1)
fadd qword [0x536a98]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x450900
fld qword [esp + 0x18]
fld qword [esp + 0x4c]
fcompp
fnstsw ax
test ah, 1
je 0x4508ca
fld qword [esp + 0x18]
jmp 0x4508ce
fld qword [esp + 0x4c]
fld qword [esp + 0x28]
fld qword [esp + 0x5c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4508e5
fld qword [esp + 0x28]
jmp 0x4508e9
fld qword [esp + 0x5c]
fxch st(1)
fadd qword [0x536a98]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
jne 0x4509c0
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x88]
push eax
add ecx, 0x288
call fcn.004f37d0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], 6
call fcn.00488080
lea ecx, [esp + 0x88]
mov byte [esp + 0x130], 1
call fcn.00519440
lea ecx, [esp + 0x44]
lea edx, [esp + 0x10]
push ecx
push edx
call fcn.00487d40
add esp, 8
cmp eax, 2
jne 0x450987
lea eax, [esi + 0x74]
lea ecx, [esi + 0x40]
push eax
push ecx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x70], ebx
add ecx, 0x288
call fcn.004f7bf0
cmp eax, ebx
je 0x450987
mov byte [esi + 0x59], 1
mov eax, dword [esi + 0x78]
push eax
push eax
mov ecx, esi
call fcn.00450310
mov dword [esi + 0x70], 1
mov eax, dword [esi + 0x48]
xor edi, edi
cmp eax, ebx
jle 0x450ba1
mov edx, dword [esi + 0x44]
mov ecx, dword [edx + edi*4]
mov eax, dword [ecx]
call dword [eax + 0x20]
test eax, eax
je 0x4509a7
mov byte [esi + 0x5a], 1
mov ecx, dword [esi + 0x44]
push ebx
mov ecx, dword [ecx + edi*4]
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov eax, dword [esi + 0x48]
inc edi
cmp edi, eax
jl 0x450994
jmp 0x450ba1
mov ecx, esi
call fcn.00450cd0
test al, al
je 0x450be7
mov byte [esi + 0x5a], 1
jmp 0x450ba1
cmp eax, 2
jne 0x450be7
mov eax, dword [esi + 0x78]
cmp eax, ebx
je 0x4509f4
push eax
call fcn.0051aee4
add esp, 4
mov dword [esi + 0x78], ebx
lea eax, [esp + 0xc8]
mov dword [esi + 0x80], ebx
mov dword [esi + 0x7c], ebx
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x68]
lea edi, [esi + 0x40]
push eax
mov eax, dword [esi + 0x64]
push edi
push ecx
mov ecx, dword [esi + 0x60]
push edx
push eax
push ecx
mov ecx, dword [esi + 0x3c]
add ecx, 0x288
call fcn.004f8100
test al, al
je 0x450be7
fld qword [esp + 0xe0]
fcomp qword [0x531798]
fnstsw ax
test ah, 0x41
jne 0x450b86
lea ecx, [esp + 0x88]
call fcn.00487f90
lea edx, [esp + 0x88]
mov byte [esp + 0x130], 7
push edx
push edi
call fcn.00504c40
mov ecx, dword [esi + 0x3c]
add esp, 8
lea eax, [esp + 0x68]
add ecx, 0x288
push eax
call fcn.004f3700
fld qword [esp + 0x88]
fadd qword [esp + 0xe0]
fcomp qword [eax + 0x10]
fnstsw ax
test ah, 0x41
jne 0x450a9b
mov bl, 1
jmp 0x450a9d
xor bl, bl
lea ecx, [esp + 0x68]
call fcn.00519440
test bl, bl
je 0x450b72
lea ecx, [esp + 0x108]
push ecx
mov ecx, dword [esi + 0x3c]
add ecx, 0x288
call fcn.004f3700
fld qword [eax + 0x10]
fadd qword [0x531cf8]
lea ecx, [esp + 0x108]
fsub qword [esp + 0x88]
fstp qword [esp + 0xe0]
call fcn.00519440
push 0
push edi
call fcn.00499e60
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
push edx
mov edx, dword [esp + 0xec]
push eax
push ecx
push edx
push edi
call fcn.00499350
mov ecx, dword [esi + 0x3c]
add esp, 0x1c
call fcn.0041ae40
lea ecx, [esp + 0x88]
mov byte [esp + 0x130], 1
call fcn.00519440
lea ecx, [esp + 0x10]
mov byte [esp + 0x130], 0
call fcn.00519440
lea ecx, [esp + 0x44]
mov dword [esp + 0x130], 0xffffffff
call fcn.00519440
mov al, 1
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0x88]
mov byte [esp + 0x130], 1
call fcn.00519440
lea eax, [esp + 0xc8]
lea ecx, [esp + 0xc8]
push eax
push ecx
mov ecx, esi
mov byte [esi + 0x5a], 1
call fcn.00450310
mov ecx, dword [esi + 0x3c]
call fcn.0041ae40
lea ecx, [esp + 0x10]
mov byte [esp + 0x130], 0
call fcn.00519440
lea ecx, [esp + 0x44]
mov dword [esp + 0x130], 0xffffffff
call fcn.00519440
mov al, 1
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0xa8]
call fcn.00487f90
lea ecx, [esp + 0xa8]
mov byte [esp + 0x130], 8
call fcn.00488300
mov eax, dword [esi + 0x48]
xor edi, edi
cmp eax, ebx
jle 0x450c30
mov edx, dword [esi + 0x44]
mov ecx, dword [edx + edi*4]
call fcn.00498b90
push eax
lea ecx, [esp + 0xac]
call fcn.004880c0
mov eax, dword [esi + 0x48]
inc edi
cmp edi, eax
jl 0x450c10
push ebx
lea eax, [esp + 0x34]
push ebx
push eax
lea ecx, [esp + 0xb4]
call fcn.004881c0
mov ecx, dword [eax + 0xc]
push ecx
lea ecx, [esp + 0xb4]
mov edx, dword [eax + 8]
lea eax, [esp + 0x74]
push edx
push eax
call fcn.004881c0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
mov eax, dword [esp + 0x78]
push edx
lea ecx, [eax + 8]
call fcn.004844e0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x130], 1
call fcn.00519440
lea ecx, [esp + 0x10]
mov byte [esp + 0x130], 0
call fcn.00519440
lea ecx, [esp + 0x44]
mov dword [esp + 0x130], 0xffffffff
call fcn.00519440
mov ecx, dword [esp + 0x128]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8