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

Disassembly:
push 0xffffffffffffffff
push 0x879f24
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x8ce6f4]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8ce6f4]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x6c]
mov ebp, ecx
mov dword [esp + 0x18], eax
call fcn.00533c70
lea esi, [eax + 8]
lea edi, [ebp + 0xd8]
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x370]
xor ebx, ebx
mov dword [esp + 0x14], 0x80004005
cmp eax, ebx
je 0x6054a7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x370], ebx
mov eax, dword [ebp + 0x374]
cmp eax, ebx
je 0x6054bf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x374], ebx
mov eax, dword [ebp + 0x36c]
cmp eax, ebx
je 0x6054d7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x36c], ebx
mov ecx, dword [ebp + 0x37c]
cmp ecx, ebx
je 0x6054e9
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [ebp + 0x37c], ebx
mov eax, dword [ebp + 0x170]
cmp eax, ebx
je 0x605507
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x170], ebx
mov eax, dword [ebp + 0x16c]
cmp eax, ebx
je 0x60551f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x16c], ebx
mov eax, dword [ebp + 0x3b0]
cmp eax, ebx
je 0x605537
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x3b0], ebx
mov eax, dword [ebp + 0x3b4]
cmp eax, ebx
je 0x60554f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x3b4], ebx
mov eax, dword [ebp + 0x3b8]
cmp eax, ebx
je 0x605567
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x3b8], ebx
mov eax, dword [ebp + 0x3bc]
cmp eax, ebx
je 0x60557f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x3bc], ebx
mov esi, dword [ebp + 0x398]
cmp esi, ebx
je 0x6055b5
lea esp, [esp]
xor eax, eax
cmp esi, ebx
setne al
cmp eax, ebx
je 0x605609
mov edi, esi
mov eax, dword [edi + 8]
mov esi, dword [esi]
cmp eax, ebx
je 0x6055b1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 8], ebx
cmp esi, ebx
jne 0x605590
mov esi, dword [ebp + 0x380]
cmp esi, ebx
je 0x6055e5
nop
xor eax, eax
cmp esi, ebx
setne al
cmp eax, ebx
je 0x605609
mov edi, esi
mov eax, dword [edi + 8]
mov esi, dword [esi]
cmp eax, ebx
je 0x6055e1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 8], ebx
cmp esi, ebx
jne 0x6055c0
mov ecx, dword [ebp + 0x168]
cmp ecx, ebx
jne 0x605613
mov ecx, dword [esp + 0x18]
push 0x21
push 0x43aae0
call fcn.004a9f20
mov eax, 0x8000ffff
jmp 0x605f21
push 0x80004005
call fcn.004a8210
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x28]
push eax
push ecx
call fcn.005c2050
mov ecx, dword [ebp + 0x168]
add esp, 8
lea esi, [esp + 0x30]
push esi
mov dword [ebp + 0x550], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x20]
push ecx
call eax
test eax, eax
jns 0x60566a
mov ecx, dword [esp + 0x18]
push 0x23
push 0x43aa98
call fcn.004a9f20
mov eax, 0x8000ffff
jmp 0x605f21
mov eax, dword [ebp + 0x168]
mov ecx, dword [eax]
lea edx, [ebp + 0x3d8]
push edx
mov edx, dword [ebp + 0x550]
push 1
push edx
push eax
mov eax, dword [ecx + 0x38]
call eax
test eax, eax
jns 0x6056b0
test dword [ebp + 0x3e0], 0x20000
jne 0x6056b0
mov ecx, dword [esp + 0x18]
push 0x43a9f0
call fcn.004aaf10
mov eax, 0x8000ffff
jmp 0x605f21
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
mov dword [ebp + 0x630], eax
test eax, eax
jns 0x6056cc
fadd qword [0x409f88]
fdivr qword [0x409f20]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, eax
xor esi, esi
fstp qword [ebp + 0x638]
mov dword [ebp + 0x61c], ecx
mov dword [ebp + 0x620], eax
mov eax, dword [ebp + 0xf00]
mov dword [eax + 0x34], ecx
mov dword [eax + 0x30], edx
mov eax, dword [ebp + 0x13c]
mov dword [esp + 0x2c], esi
cmp eax, ebx
je 0x605715
lea ecx, [esp + 0x2c]
push ecx
call eax
mov esi, dword [esp + 0x2c]
push 0x38
cmp esi, ebx
setne dl
lea edi, [ebp + 0x508]
push ebx
push edi
mov byte [ebp + 0x611], dl
call fcn.00802690
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0x28]
add esp, 0xc
mov dword [ebp + 0x534], 0x10
mov dword [ebp + 0x50c], ecx
mov dword [ebp + 0x524], edx
cmp byte [ebp + 0x613], bl
je 0x6059e0
mov eax, dword [esp + 0x30]
mov esi, 1
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x528], ebx
mov dword [ebp + 0x514], 3
mov dword [ebp + 0x520], esi
mov dword [ebp + 0x53c], esi
mov al, byte [eax + 0x34]
mov byte [ebp + 0x610], al
lea ebx, [esi + 0x22]
test al, al
je 0x6057ca
mov edx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x168]
mov ecx, dword [eax]
push 0
push ebx
push edx
push esi
push 0
push eax
mov eax, dword [ecx + 0x24]
call eax
test eax, eax
jns 0x6057ca
push 0x43a960
lea ecx, [ebp + 0xee0]
call fcn.004a8ed0
mov byte [ebp + 0x610], 0
cmp byte [ebp + 0x610], 0
je 0x6057db
mov dword [ebp + 0x510], ebx
jmp 0x6057e5
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x510], ecx
mov ecx, dword [ebp + 0x164]
test ecx, ecx
je 0x60596d
xor eax, eax
push eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebp + 0x550]
mov dword [esp + 0x48], 0x18
mov edx, dword [ecx]
push eax
push ecx
mov ecx, dword [edx + 0x4c]
call ecx
mov edx, dword [ebp + 0x510]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x50], edx
lea ebx, [ebp + 0x16c]
push ebx
lea edx, [esp + 0x44]
push edx
mov edx, dword [ebp + 0x28]
push edi
push 0x4046
push edx
mov edx, dword [ebp + 0x550]
mov dword [ebp + 0x538], eax
mov eax, dword [ebp + 0x164]
mov ecx, dword [eax]
push esi
push edx
push eax
mov eax, dword [ecx + 0x50]
call eax
mov dword [esp + 0x14], eax
test eax, eax
jns 0x6058b1
mov ecx, dword [ebp + 0x144]
push ecx
push eax
lea edx, [esp + 0x24]
push edx
call fcn.0060b790
add esp, 0xc
mov dword [esp + 0x64], 0
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
call fcn.004a9f20
lea ecx, [esp + 0x1c]
call fcn.004a8c20
mov eax, dword [esp + 0x14]
jmp 0x605f21
cmp dword [ebx], 0
je 0x6058e2
lea eax, [ebp + 0x16c]
push eax
lea ecx, [ebp + 0x170]
call fcn.00603910
mov edx, dword [ebp + 0x510]
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x3cc], edx
mov dword [ebp + 0x3d0], eax
mov eax, dword [esp + 0x14]
cmp eax, 0x88760868
jne 0x605909
lea esp, [esp]
mov eax, dword [ebp + 0x170]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x14], eax
cmp eax, 0x88760868
je 0x6058f0
cmp eax, 0x88760869
jne 0x605923
mov eax, dword [ebp + 0x170]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x40]
push edi
push eax
call edx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x16c]
test eax, eax
je 0x60593a
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1ec]
push 7
push eax
call edx
push 0x10
call fcn.007c8529
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], 4
test eax, eax
je 0x605b6a
mov ecx, dword [ebp + 0x170]
push 1
push ecx
mov ecx, eax
call fcn.00612720
jmp 0x605b6c
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x168]
mov ecx, dword [eax]
lea esi, [ebp + 0x170]
push esi
push edi
push 0x46
push edx
mov edx, dword [ebp + 0x550]
push 1
push edx
push eax
mov eax, dword [ecx + 0x40]
call eax
mov dword [esp + 0x14], eax
test eax, eax
jns 0x6059bc
mov ecx, dword [ebp + 0x144]
push ecx
push eax
lea edx, [esp + 0x24]
push edx
call fcn.0060b790
add esp, 0xc
mov dword [esp + 0x64], 1
jmp 0x60588f
cmp dword [esi], 0
je 0x6058e2
mov edx, dword [ebp + 0x510]
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x3cc], edx
mov dword [ebp + 0x3d0], ecx
jmp 0x6058e2
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
mov eax, 1
mov dword [ebp + 0x528], eax
mov dword [ebp + 0x514], eax
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x520], 3
mov dword [edi], eax
mov dword [ebp + 0x3cc], ecx
mov dword [ebp + 0x3d0], ecx
mov al, byte [edx + 0x34]
mov byte [ebp + 0x610], al
mov ebx, 0x23
test al, al
je 0x605a5c
mov eax, dword [ebp + 0x168]
mov edx, dword [eax]
push 0
push ebx
push ecx
push 1
push 0
push eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
jns 0x605a58
push 0x43a960
lea ecx, [ebp + 0xee0]
call fcn.004a8ed0
mov byte [ebp + 0x610], 0
mov esi, dword [esp + 0x2c]
cmp byte [ebp + 0x610], 0
je 0x605a71
mov dword [ebp + 0x3cc], ebx
mov dword [ebp + 0x510], ebx
mov eax, dword [ebp + 0x164]
neg esi
sbb esi, esi
and esi, 0x7fffffff
inc esi
mov dword [ebp + 0x53c], esi
test eax, eax
je 0x605afa
mov edx, dword [ebp + 0x28]
mov ecx, dword [eax]
lea esi, [ebp + 0x16c]
push esi
push 0
push edi
push 0x4046
push edx
mov edx, dword [ebp + 0x550]
push 1
push edx
push eax
mov eax, dword [ecx + 0x50]
call eax
mov dword [esp + 0x14], eax
test eax, eax
jns 0x605ada
mov ecx, dword [ebp + 0x144]
push ecx
push eax
lea edx, [esp + 0x24]
push edx
call fcn.0060b790
add esp, 0xc
mov dword [esp + 0x64], 2
jmp 0x60588f
cmp dword [esi], 0
je 0x6058e2
lea eax, [ebp + 0x16c]
push eax
lea ecx, [ebp + 0x170]
call fcn.00603910
jmp 0x6058de
mov eax, dword [ebp + 0x168]
mov edx, dword [eax]
mov edx, dword [edx + 0x40]
lea ecx, [ebp + 0x170]
push ecx
mov ecx, dword [ebp + 0x28]
push edi
push 0x46
push ecx
mov ecx, dword [ebp + 0x550]
push 1
push ecx
push eax
call edx
mov dword [esp + 0x14], eax
test eax, eax
jns 0x6058e2
mov ecx, dword [ebp + 0x144]
push ecx
push eax
lea edx, [esp + 0x28]
push edx
call fcn.0060b790
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x6c], 3
call fcn.004a9f20
lea ecx, [esp + 0x20]
call fcn.004a8c20
mov eax, dword [esp + 0x14]
jmp 0x605f21
xor eax, eax
mov dword [ebp + 0x37c], eax
mov eax, dword [ebp + 0x4cc]
mov dword [esp + 0x64], 0xffffffff
mov dword [ebp + 0x3d4], 0
test eax, 0x200
je 0x605ba2
test eax, 0x2000000
je 0x605ba2
mov dword [ebp + 0x3d4], 2
fldz
fstp dword [ebp + 0x554]
call fcn.00533c70
mov eax, dword [eax + 0x7c]
dec eax
cmp eax, 8
ja case.default.0x605bb8
jmp dword [eax*4 + 0x605f44]
mov esi, 0x400
mov edi, 0x300
jmp 0x605c33
mov esi, 0x320
mov edi, 0x258
jmp 0x605c33
mov esi, 0x280
mov edi, 0x1e0
jmp 0x605c33
mov esi, 0x200
lea edi, [esi - 0x80]
jmp 0x605c33
mov esi, 0x180
lea edi, [esi - 0x60]
jmp 0x605c33
mov esi, 0xa00
mov edi, 0x640
jmp 0x605c33
mov esi, 0x780
mov edi, 0x438
jmp 0x605c33
mov esi, 0x528
mov edi, 0x384
jmp 0x605c33
mov esi, 0x500
mov edi, 0x2d0
jmp 0x605c33
mov esi, dword [ebp + 0x61c]
mov edi, dword [ebp + 0x620]
mov eax, dword [ebp + 0x84]
lea ebx, [ebp + 0x84]
test eax, eax
je 0x605cf5
mov ecx, dword [ebp + 0x170]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x20]
call eax
xor esi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], esi
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x64], 6
cmp eax, esi
je 0x605c7f
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
lea ecx, [esp + 0x28]
push ecx
push eax
call edx
mov eax, dword [ebp + 0x88]
cmp eax, esi
je 0x605c97
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0x88], esi
call fcn.00533c70
cmp dword [eax + 0x78], esi
jle 0x605d7a
push 0xf8
call fcn.007c8529
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
mov byte [esp + 0x64], 7
test esi, esi
je 0x605d74
mov ebx, dword [ebx]
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00533c70
xor ecx, ecx
cmp byte [eax + 0x81], cl
sete cl
push ecx
call fcn.00533c70
mov edx, dword [eax + 0x78]
push edx
mov ecx, esi
call fcn.00631b10
test eax, eax
jmp 0x605da6
push 0x88
call fcn.007c8529
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], 5
test eax, eax
je 0x605d35
mov ebx, dword [ebp + 0x170]
push 0
call fcn.00533c70
movzx ecx, byte [eax + 0x80]
push ecx
mov ecx, dword [esp + 0x28]
push edi
push esi
push ebx
call fcn.00633b00
jmp 0x605d37
xor eax, eax
mov dword [esp + 0x64], 0xffffffff
test eax, eax
je 0x605d48
add eax, 0xc
jmp 0x605d4a
xor eax, eax
lea ebx, [ebp + 0x84]
push eax
mov ecx, ebx
call fcn.005b1960
cmp dword [ebx], 0
jne 0x605c56
mov ecx, dword [esp + 0x18]
push 0x43a928
call fcn.004aaf10
jmp 0x605f1c
xor eax, eax
test eax, eax
jmp 0x605da6
push 0x70
call fcn.007c8529
add esp, 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x64], 8
cmp eax, esi
je 0x605da2
mov ebx, dword [ebx]
lea ecx, [esp + 0x14]
push ecx
push ebx
mov ecx, eax
call fcn.00631a20
jmp 0x605da4
xor eax, eax
cmp eax, esi
mov byte [esp + 0x64], 6
je 0x605db2
add eax, 0xc
jmp 0x605db4
xor eax, eax
push eax
lea ecx, [ebp + 0x88]
call fcn.005b1960
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x605ef6
cmp dword [esp + 0x14], 0
jl 0x605ef6
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x605dea
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0xc]
call eax
mov edi, dword [ebp + 0x5b4]
test edi, edi
je 0x605e8e
mov eax, dword [ebp + 0x61c]
cmp eax, 0x640
jl 0x605e0a
mov eax, 0x640
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
lea ecx, [ebp + 0x370]
fnstcw word [esp + 0x18]
fdiv qword [0x43a920]
push ecx
xor ecx, ecx
mov esi, dword [ebp + 0x170]
cmp eax, 0x320
movzx eax, word [esp + 0x1c]
setge cl
push 0x41c188
or eax, 0xc00
mov dword [esp + 0x28], eax
push 1
push 4
push 0
push 1
dec ecx
push 0
and ecx, 0xfffffed4
push 0
add ecx, 0x2bc
push ecx
fst qword [ebp + 0xed0]
fld qword [0x43a918]
fmul st(1)
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
push edx
fldcw word [esp + 0x40]
fmul qword [0x43a910]
call fcn.00802da0
push eax
push esi
call edi
mov eax, dword [ebp + 0x5b8]
test eax, eax
je 0x605ea8
mov edx, dword [ebp + 0x170]
lea ecx, [ebp + 0x374]
push ecx
push edx
call eax
mov eax, dword [ebp + 0x5b0]
test eax, eax
je 0x605ec2
mov edx, dword [ebp + 0x170]
lea ecx, [ebp + 0x36c]
push ecx
push edx
call eax
call fcn.00533c60
mov ecx, eax
call fcn.005fe750
mov dword [ebp + 0x548], eax
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x54c], edx
mov dword [esp + 0x64], 0xffffffff
test eax, eax
je 0x605ef2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
jmp 0x605f21
mov ecx, dword [esp + 0x18]
push 0x43a8e0
call fcn.004aaf10
mov eax, dword [esp + 0x28]
mov dword [esp + 0x64], 0xffffffff
test eax, eax
je 0x605f1c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x80004005
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.0080262b
add esp, 0x54
ret 4