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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ef7a2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2b4
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x3c]
call fcn.005df190
lea ecx, [esp + 0x24]
mov dword [esp + 0x2c8], 0
call fcn.005df190
lea ecx, [esp + 0x38]
mov byte [esp + 0x2c8], 1
call fcn.005df190
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c8], 2
call fcn.005df190
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c8], 3
call fcn.005df190
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c8], 4
call fcn.005df190
lea ecx, [esp + 0x28]
mov byte [esp + 0x2c8], 5
call fcn.005df190
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c8], 6
call fcn.005df190
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c8], 7
call fcn.005df190
lea ecx, [esp + 0x34]
mov byte [esp + 0x2c8], 8
call fcn.005df190
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c8], 9
call fcn.005df190
lea ecx, [esp + 0x30]
mov byte [esp + 0x2c8], 0xa
call fcn.005df190
cmp word [0x63c4c4], 0
mov byte [esp + 0x2c8], 0xb
ja 0x4f99ff
call fcn.005df286
test eax, eax
je 0x4f8885
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x4f8887
xor eax, eax
mov eax, dword [eax + 0xd4]
test eax, eax
mov dword [esp + 0xa4], eax
je 0x4f99ff
mov eax, dword [esi + 0x334]
mov ecx, dword [esi + 0x330]
mov edx, dword [esi + 0x338]
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 0x260]
mov dword [esp + 0x94], ecx
mov ecx, dword [esi + 0x264]
mov dword [esp + 0xac], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x9c], edx
mov edx, dword [esi + 0x268]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esp + 0xd4], eax
mov eax, dword [esi + 0x94]
mov dword [esp + 0x84], edx
mov edx, dword [esi + 0x90]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esi + 0x434]
mov dword [esp + 0xd0], eax
mov eax, dword [esi + 0x43c]
mov dword [esp + 0xcc], edx
mov edx, dword [esi + 0x438]
mov dword [esp + 0x88], ecx
mov ecx, dword [esi + 0x440]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x448]
mov dword [esp + 0xb8], edx
mov edx, dword [esi + 0x444]
mov dword [esp + 0x54], ecx
mov ecx, dword [esi + 0x44c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], edx
mov edx, dword [esi + 0x450]
lea eax, [esi + 0x430]
mov dword [esp + 0x6c], ecx
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x78], edx
call fcn.005df274
mov eax, dword [esi + 0x4f0]
lea edi, [esi + 0x4f0]
push 0x635508
push eax
call dword [0x5fca74]
add esp, 8
test eax, eax
jne 0x4f89d8
push 0x6317dc
lea ecx, [esp + 0x74]
push 0x63c118
push ecx
call fcn.005df262
push eax
mov ecx, edi
mov byte [esp + 0x2cc], 0xc
call fcn.005df274
lea ecx, [esp + 0x70]
mov byte [esp + 0x2c8], 0xb
call fcn.005df184
push edi
lea ecx, [esp + 0x3c]
call fcn.005df274
lea eax, [esi + 0x454]
lea ecx, [esp + 0x1c]
push eax
call fcn.005df274
lea eax, [esi + 0x458]
lea ecx, [esp + 0x14]
push eax
call fcn.005df274
lea eax, [esi + 0x45c]
lea ecx, [esp + 0x10]
push eax
call fcn.005df274
lea eax, [esi + 0x460]
lea ecx, [esp + 0x28]
push eax
call fcn.005df274
lea eax, [esi + 0x464]
lea ecx, [esp + 0x2c]
push eax
call fcn.005df274
lea eax, [esi + 0x468]
lea ecx, [esp + 0x20]
push eax
call fcn.005df274
lea eax, [esi + 0x46c]
lea ecx, [esp + 0x34]
push eax
call fcn.005df274
lea eax, [esi + 0x470]
lea ecx, [esp + 0x18]
push eax
call fcn.005df274
lea eax, [esi + 0x4f4]
lea ecx, [esp + 0x30]
push eax
call fcn.005df274
mov edx, dword [esi + 0xa4]
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xf4]
lea ebx, [esi + 0xa4]
mov dword [esp + 0xc], edx
mov edx, dword [esi + 0x11c]
mov dword [esp + 0xa8], eax
mov eax, dword [esi + 0x144]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x16c]
mov dword [esp + 0x90], edx
mov edx, dword [esi + 0x194]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x1bc]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esi + 0xa8]
mov dword [esp + 0x60], edx
mov edx, dword [esi + 0xd0]
mov dword [esp + 0x98], eax
mov eax, dword [esi + 0xf8]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 0x120]
mov dword [esp + 0xc0], edx
mov edx, dword [esi + 0x148]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x170]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esi + 0x198]
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x1c0]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0x478]
mov dword [esp + 0x80], ecx
mov ecx, dword [esi + 0x47c]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x474]
mov dword [esp + 0xc4], eax
mov eax, dword [esi + 0x4d0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x40], eax
push 0
lea ecx, [esp + 0xe4]
call fcn.004efb60
mov ecx, dword [esi + 0x334]
mov eax, dword [esi + 0x338]
mov edx, dword [esi + 0x330]
mov dword [esp + 0x140], ecx
mov ecx, dword [esi + 0x260]
mov dword [esp + 0x148], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x150], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esp + 0x160], eax
mov eax, dword [esi + 0x94]
mov dword [esp + 0x144], edx
mov edx, dword [esi + 0x264]
mov dword [esp + 0x164], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x16c], eax
mov eax, dword [esi + 0x434]
mov dword [esp + 0x154], edx
mov edx, dword [esi + 0x90]
mov dword [esp + 0x170], ecx
mov ecx, dword [esi + 0x438]
mov dword [esp + 0x174], eax
mov eax, dword [esi + 0x440]
mov dword [esp + 0x168], edx
mov edx, dword [esi + 0x42c]
mov dword [esp + 0x178], ecx
mov ecx, dword [esi + 0x444]
mov dword [esp + 0x180], eax
mov eax, dword [esi + 0x44c]
mov dword [esp + 0x1f8], edx
mov edx, dword [esi + 0x43c]
mov dword [esp + 0x184], ecx
fild dword [esi + 0x268]
mov ecx, dword [esi + 0x450]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x17c], edx
mov edx, dword [esi + 0x448]
fstp qword [esp + 0x158]
lea eax, [esi + 0x430]
mov dword [esp + 0x190], ecx
push eax
lea ecx, [esp + 0x204]
mov byte [esp + 0x2cc], 0xd
mov dword [esp + 0x18c], edx
call fcn.005df274
push edi
lea ecx, [esp + 0x208]
call fcn.005df274
lea eax, [esi + 0x454]
lea ecx, [esp + 0x194]
push eax
call fcn.005df274
lea eax, [esi + 0x458]
lea ecx, [esp + 0x198]
push eax
call fcn.005df274
lea eax, [esi + 0x45c]
lea ecx, [esp + 0x19c]
push eax
call fcn.005df274
lea eax, [esi + 0x460]
lea ecx, [esp + 0x1a0]
push eax
call fcn.005df274
lea eax, [esi + 0x464]
lea ecx, [esp + 0x1a4]
push eax
call fcn.005df274
lea eax, [esi + 0x468]
lea ecx, [esp + 0x1a8]
push eax
call fcn.005df274
lea eax, [esi + 0x46c]
lea ecx, [esp + 0x1ac]
push eax
call fcn.005df274
lea eax, [esi + 0x470]
push eax
lea ecx, [esp + 0x1b4]
call fcn.005df274
lea eax, [esi + 0x4f4]
lea ecx, [esp + 0x1b4]
push eax
call fcn.005df274
mov ecx, dword [esi + 0xf4]
mov edx, dword [ebx]
mov eax, dword [esi + 0xcc]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esi + 0x16c]
mov dword [esp + 0x1b8], edx
mov edx, dword [esi + 0x11c]
mov dword [esp + 0x1bc], eax
mov eax, dword [esi + 0x144]
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esi + 0xa8]
mov dword [esp + 0x1c4], edx
mov edx, dword [esi + 0x194]
mov dword [esp + 0x1c8], eax
mov eax, dword [esi + 0x1bc]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esi + 0x120]
mov dword [esp + 0x1d0], edx
mov edx, dword [esi + 0xd0]
mov dword [esp + 0x1d4], eax
mov eax, dword [esi + 0xf8]
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esi + 0x198]
mov dword [esp + 0x1dc], edx
mov edx, dword [esi + 0x148]
mov dword [esp + 0x1e0], eax
mov eax, dword [esi + 0x170]
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esi + 0x484]
mov dword [esp + 0x1e8], edx
mov edx, dword [esi + 0x1c0]
mov dword [esp + 0x1ec], eax
mov eax, dword [esi + 0x480]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esi + 0x490]
mov dword [esp + 0x1f4], edx
mov edx, dword [esi + 0x488]
mov dword [esp + 0x218], eax
mov eax, dword [esi + 0x48c]
mov dword [esp + 0x228], ecx
mov ecx, dword [esi + 0x49c]
mov dword [esp + 0x220], edx
mov edx, dword [esi + 0x494]
mov dword [esp + 0x224], eax
mov eax, dword [esi + 0x498]
mov dword [esp + 0x234], ecx
mov ecx, dword [esi + 0x4a8]
mov dword [esp + 0x22c], edx
mov edx, dword [esi + 0x4a0]
mov dword [esp + 0x230], eax
mov eax, dword [esi + 0x4a4]
mov dword [esp + 0x240], ecx
mov ecx, dword [esi + 0x4b4]
mov dword [esp + 0x238], edx
mov edx, dword [esi + 0x4ac]
mov dword [esp + 0x23c], eax
mov eax, dword [esi + 0x4b0]
mov dword [esp + 0x24c], ecx
mov ecx, dword [esi + 0x478]
mov dword [esp + 0x244], edx
mov edx, dword [esi + 0x4b8]
mov dword [esp + 0x248], eax
mov eax, dword [esi + 0x4bc]
mov dword [esp + 0x210], ecx
mov ecx, dword [esi + 0x4d0]
mov dword [esp + 0x250], edx
mov edx, dword [esi + 0x47c]
mov dword [esp + 0x254], eax
mov eax, dword [esi + 0x474]
mov dword [esp + 0x1fc], ecx
lea ecx, [esp + 0xe0]
mov dword [esp + 0x214], edx
mov dword [esp + 0x208], eax
call fcn.005df076
cmp eax, 1
jne 0x4f98d7
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov dword [esi + 0x334], edx
mov edx, dword [esp + 0x150]
mov dword [esi + 0x330], eax
mov eax, dword [esp + 0x154]
mov dword [esi + 0x338], ecx
fld qword [esp + 0x158]
mov dword [esi + 0x260], edx
mov dword [esi + 0x264], eax
call fcn.005dfdf0
fld qword [esp + 0xac]
mov dword [esi + 0x268], eax
fcomp qword [esi + 0x260]
fnstsw ax
test ah, 0x40
jne 0x4f903d
mov ecx, dword [esi + 0x1ec]
xor eax, eax
cmp ecx, eax
jbe 0x4f9019
mov edx, dword [esi + 0x1c8]
fld qword [edx + ecx*8 - 8]
fcomp qword [esi + 0x260]
fnstsw ax
test ah, 0x41
jne 0x4f9003
fld qword [edx + ecx*8 - 8]
dec ecx
fst qword [esi + 0x60]
fsub qword [esi + 0x260]
test ecx, ecx
fst qword [esi + 0x68]
jl 0x4f8fdc
lea edx, [edx + ecx*8]
fcom qword [edx]
fnstsw ax
test ah, 1
je 0x4f8ffb
dec ecx
sub edx, 8
test ecx, ecx
jge 0x4f8fcb
fstp st(0)
xor ecx, ecx
mov dword [esi + 0x4ec], ecx
mov ecx, dword [esi + 0x4dc]
mov dword [esi + 0x4d4], ecx
mov ecx, esi
call fcn.004fce00
jmp 0x4f903d
test ecx, ecx
fstp st(0)
jge 0x4f8fe0
jmp 0x4f8fde
mov edx, dword [esi + 0x260]
mov eax, dword [esi + 0x264]
mov dword [esi + 0x60], edx
mov dword [esi + 0x64], eax
xor eax, eax
jmp 0x4f902b
mov ecx, dword [esi + 0x260]
mov edx, dword [esi + 0x264]
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], edx
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x4d4], eax
mov dword [esi + 0x4ec], eax
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
mov dword [esi + 0x88], eax
mov eax, dword [esp + 0x16c]
mov dword [esi + 0x8c], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [esi + 0x90], edx
mov edx, dword [esp + 0x174]
mov dword [esi + 0x94], eax
mov eax, dword [esp + 0x178]
mov dword [esi + 0x42c], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esi + 0x434], edx
mov edx, dword [esp + 0x180]
mov dword [esi + 0x438], eax
mov eax, dword [esp + 0x184]
mov dword [esi + 0x43c], ecx
mov ecx, dword [esp + 0x188]
mov dword [esi + 0x440], edx
mov edx, dword [esp + 0x18c]
mov dword [esi + 0x444], eax
mov eax, dword [esp + 0x190]
mov dword [esi + 0x448], ecx
lea ecx, [esp + 0x200]
mov dword [esi + 0x44c], edx
push ecx
lea ecx, [esi + 0x430]
mov dword [esi + 0x450], eax
call fcn.005df274
lea edx, [esp + 0x204]
mov ecx, edi
push edx
call fcn.005df274
lea eax, [esp + 0x194]
lea ecx, [esi + 0x454]
push eax
call fcn.005df274
lea ecx, [esp + 0x198]
push ecx
lea ecx, [esi + 0x458]
call fcn.005df274
lea edx, [esp + 0x19c]
lea ecx, [esi + 0x45c]
push edx
call fcn.005df274
lea eax, [esp + 0x1a0]
lea ecx, [esi + 0x460]
push eax
call fcn.005df274
lea ecx, [esp + 0x1a4]
push ecx
lea ecx, [esi + 0x464]
call fcn.005df274
lea edx, [esp + 0x1a8]
lea ecx, [esi + 0x468]
push edx
call fcn.005df274
lea eax, [esp + 0x1ac]
lea ecx, [esi + 0x46c]
push eax
call fcn.005df274
lea ecx, [esp + 0x1b0]
push ecx
lea ecx, [esi + 0x470]
call fcn.005df274
lea edx, [esp + 0x1b4]
lea ecx, [esi + 0x4f4]
push edx
call fcn.005df274
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c0]
mov dword [ebx], eax
mov eax, dword [esp + 0x1c4]
mov dword [esi + 0xcc], ecx
mov ecx, dword [esp + 0x1c8]
mov dword [esi + 0xf4], edx
mov edx, dword [esp + 0x1cc]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x144], ecx
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
mov dword [esi + 0x16c], edx
mov edx, dword [esp + 0x1d8]
mov dword [esi + 0x194], eax
mov eax, dword [esp + 0x1dc]
mov dword [esi + 0x1bc], ecx
mov ecx, dword [esp + 0x1e0]
mov dword [esi + 0xa8], edx
mov edx, dword [esp + 0x1e4]
mov dword [esi + 0xd0], eax
mov eax, dword [esp + 0x1e8]
mov dword [esi + 0xf8], ecx
mov ecx, dword [esp + 0x1ec]
mov dword [esi + 0x120], edx
mov edx, dword [esp + 0x1f0]
mov dword [esi + 0x148], eax
mov eax, dword [esp + 0x1f4]
mov dword [esi + 0x170], ecx
mov ecx, dword [esp + 0x218]
mov dword [esi + 0x198], edx
mov edx, dword [esp + 0x21c]
mov dword [esi + 0x1c0], eax
mov eax, dword [esp + 0x220]
mov dword [esi + 0x480], ecx
mov ecx, dword [esp + 0x224]
mov dword [esi + 0x484], edx
mov edx, dword [esp + 0x228]
mov dword [esi + 0x488], eax
mov eax, dword [esp + 0x22c]
mov dword [esi + 0x48c], ecx
mov ecx, dword [esp + 0x230]
mov dword [esi + 0x490], edx
mov edx, dword [esp + 0x234]
mov dword [esi + 0x494], eax
mov eax, dword [esp + 0x238]
mov dword [esi + 0x498], ecx
mov ecx, dword [esp + 0x23c]
mov dword [esi + 0x49c], edx
mov edx, dword [esp + 0x240]
mov dword [esi + 0x4a0], eax
mov eax, dword [esp + 0x244]
mov dword [esi + 0x4a4], ecx
mov ecx, dword [esp + 0x248]
mov dword [esi + 0x4a8], edx
mov edx, dword [esp + 0x24c]
mov dword [esi + 0x4ac], eax
mov eax, dword [esp + 0x250]
mov dword [esi + 0x4b0], ecx
mov ecx, dword [esp + 0x254]
mov dword [esi + 0x4b8], eax
mov eax, dword [esp + 0x214]
mov dword [esi + 0x4b4], edx
mov edx, dword [esp + 0x210]
mov dword [esi + 0x4bc], ecx
mov ecx, dword [esp + 0x208]
mov dword [esi + 0x478], edx
mov edx, dword [esp + 0xc]
mov dword [esi + 0x474], ecx
mov ecx, dword [ebx]
mov dword [esi + 0x47c], eax
mov eax, dword [esp + 0x1fc]
cmp edx, ecx
mov dword [esi + 0x4d0], eax
jne 0x4f93fb
mov ecx, dword [esp + 0xa8]
mov edx, dword [esi + 0xcc]
cmp ecx, edx
jne 0x4f93fb
mov edx, dword [esp + 0x50]
mov ecx, dword [esi + 0xf4]
cmp edx, ecx
jne 0x4f93fb
mov ecx, dword [esp + 0x90]
mov edx, dword [esi + 0x11c]
cmp ecx, edx
jne 0x4f93fb
mov edx, dword [esp + 0x58]
mov ecx, dword [esi + 0x144]
cmp edx, ecx
jne 0x4f93fb
mov ecx, dword [esp + 0xb4]
mov edx, dword [esi + 0x16c]
cmp ecx, edx
jne 0x4f93fb
mov edx, dword [esp + 0x60]
mov ecx, dword [esi + 0x194]
cmp edx, ecx
jne 0x4f93fb
mov ecx, dword [esp + 0x98]
mov edx, dword [esi + 0x1bc]
cmp ecx, edx
je 0x4f940a
mov dword [esi + 0x4e8], 1
jmp 0x4f9496
mov edx, dword [esp + 0x68]
mov ecx, dword [esi + 0xa8]
cmp edx, ecx
jne 0x4f9496
mov ecx, dword [esp + 0xc0]
mov edx, dword [esi + 0xd0]
cmp ecx, edx
jne 0x4f9496
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0xf8]
cmp edx, ecx
jne 0x4f9496
mov ecx, dword [esp + 0xa0]
mov edx, dword [esi + 0x120]
cmp ecx, edx
jne 0x4f9496
mov edx, dword [esp + 0x78]
mov ecx, dword [esi + 0x148]
cmp edx, ecx
jne 0x4f9496
mov ecx, dword [esp + 0xbc]
mov edx, dword [esi + 0x170]
cmp ecx, edx
jne 0x4f9496
mov edx, dword [esp + 0x80]
mov ecx, dword [esi + 0x198]
cmp edx, ecx
jne 0x4f9496
mov ecx, dword [esp + 0x44]
mov edx, dword [esi + 0x1c0]
cmp ecx, edx
jne 0x4f9496
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], 0
cmp ecx, eax
je 0x4f949e
mov dword [esp + 0xc], 1
test eax, eax
jne 0x4f9596
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4f94d8
xor eax, eax
cmp dword [ebx], 0
je 0x4f94be
inc eax
add ebx, 0x28
cmp eax, 8
jl 0x4f94b0
push eax
mov ecx, esi
call fcn.004f7d50
mov ebx, dword [0x5fca74]
mov ecx, esi
call fcn.004f7fe0
jmp 0x4f9651
mov eax, dword [esi + 0x454]
mov edx, dword [esp + 0x1c]
mov ebx, dword [0x5fca74]
push eax
push edx
call ebx
add esp, 8
test eax, eax
jne 0x4f958a
mov eax, dword [esi + 0x458]
push eax
mov eax, dword [esp + 0x18]
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4f958a
mov eax, dword [esi + 0x45c]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x4f958a
mov eax, dword [esi + 0x460]
mov edx, dword [esp + 0x28]
push eax
push edx
call ebx
add esp, 8
test eax, eax
jne 0x4f958a
mov eax, dword [esi + 0x464]
push eax
mov eax, dword [esp + 0x30]
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4f958a
mov eax, dword [esi + 0x468]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x4f958a
mov eax, dword [esi + 0x46c]
mov edx, dword [esp + 0x34]
push eax
push edx
call ebx
add esp, 8
test eax, eax
jne 0x4f958a
mov eax, dword [esi + 0x470]
push eax
mov eax, dword [esp + 0x1c]
push eax
call ebx
add esp, 8
test eax, eax
je 0x4f95d3
mov ecx, esi
call fcn.004f7fe0
jmp 0x4f9651
mov eax, dword [esi + 0x430]
mov ecx, dword [esp + 0x24]
mov ebx, dword [0x5fca74]
lea edi, [esi + 0x430]
push eax
push ecx
call ebx
add esp, 8
test eax, eax
je 0x4f95cb
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push edi
call fcn.005df334
mov ecx, esi
call fcn.004fc170
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f9651
mov edx, dword [esp + 0x88]
mov eax, dword [esi + 0x434]
cmp edx, eax
jne 0x4f9651
mov eax, dword [esp + 0xb8]
mov ecx, dword [esi + 0x438]
cmp eax, ecx
jne 0x4f9651
mov ecx, dword [esp + 0x4c]
mov eax, dword [esi + 0x43c]
cmp ecx, eax
jne 0x4f9651
mov edx, dword [esp + 0x54]
mov eax, dword [esi + 0x440]
cmp edx, eax
jne 0x4f9651
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi + 0x444]
cmp eax, ecx
jne 0x4f9651
mov ecx, dword [esp + 0x64]
mov eax, dword [esi + 0x448]
cmp ecx, eax
jne 0x4f9651
mov edx, dword [esp + 0x6c]
mov eax, dword [esi + 0x44c]
cmp edx, eax
jne 0x4f9651
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x450]
cmp eax, ecx
mov dword [esp + 0xc], 0
je 0x4f9659
mov dword [esp + 0xc], 1
mov eax, dword [esi + 0x4cc]
mov edi, 1
test eax, eax
je 0x4f96cb
cmp dword [esi + 0x474], edi
jne 0x4f96dd
cmp dword [esp + 0x7c], edi
jne 0x4f9698
fld qword [esp + 0xc4]
fcomp qword [esi + 0x478]
fnstsw ax
test ah, 0x40
je 0x4f9698
mov ecx, dword [esp + 0x40]
mov eax, dword [esi + 0x4d0]
cmp ecx, eax
je 0x4f96cb
mov eax, dword [esi + 0x4d0]
test eax, eax
jne 0x4f96cb
fld qword [esi + 0x478]
fmul qword [0x5fe940]
call fcn.005dfdf0
mov edx, dword [esi + 0x20]
push 0
push eax
push edi
push edx
call dword [0x5fcb14]
mov dword [esi + 0x4c4], 0
cmp dword [esi + 0x474], edi
jne 0x4f96dd
mov eax, dword [esi + 0x4d0]
test eax, eax
je 0x4f96e8
mov eax, dword [esi + 0x20]
push edi
push eax
call dword [0x5fcb18]
fld qword [esp + 0xac]
fcomp qword [esi + 0x260]
fnstsw ax
test ah, 0x40
je 0x4f9797
mov ecx, dword [esp + 0x84]
mov eax, dword [esi + 0x268]
cmp ecx, eax
jne 0x4f9797
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x334]
cmp edx, eax
jne 0x4f9797
mov eax, dword [esp + 0x94]
mov ecx, dword [esi + 0x330]
cmp eax, ecx
jne 0x4f9797
mov ecx, dword [esp + 0x9c]
mov eax, dword [esi + 0x338]
cmp ecx, eax
jne 0x4f9797
fld qword [esp + 0xd4]
fcomp qword [esi + 0x88]
fnstsw ax
test ah, 0x40
je 0x4f9797
fld qword [esp + 0xcc]
fcomp qword [esi + 0x90]
fnstsw ax
test ah, 0x40
je 0x4f9797
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f9797
mov eax, dword [esi + 0x4d0]
test eax, eax
jne 0x4f9797
mov eax, dword [esi + 0x4f4]
mov edx, dword [esp + 0x30]
push eax
push edx
call ebx
add esp, 8
test eax, eax
je 0x4f97a5
mov eax, dword [esi + 0x20]
push 0
push 0
push eax
call dword [0x5fcb10]
mov eax, dword [esi + 0x4d0]
test eax, eax
jne 0x4f97e4
mov eax, dword [0x63c2f8]
test eax, eax
jne 0x4f97e4
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + 0x8c]
test eax, eax
jbe 0x4f97e4
mov eax, dword [esi + 0x1ec]
test eax, eax
jne 0x4f97e4
mov eax, dword [esi + 0x4cc]
test eax, eax
jle 0x4f97e4
mov ecx, esi
call fcn.004fb4b0
mov dword [esi + 0x4f8], 0
lea ecx, [esp + 0x258]
mov byte [esp + 0x2c8], 0x25
call fcn.004f01d0
lea ecx, [esp + 0x204]
mov byte [esp + 0x2c8], 0x24
call fcn.005df184
lea ecx, [esp + 0x200]
mov byte [esp + 0x2c8], 0x23
call fcn.005df184
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x2c8], 0x22
call fcn.005df184
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x2c8], 0x21
call fcn.005df184
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x2c8], 0x20
call fcn.005df184
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x2c8], 0x1f
call fcn.005df184
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x2c8], 0x1e
call fcn.005df184
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x2c8], 0x1d
call fcn.005df184
lea ecx, [esp + 0x19c]
mov byte [esp + 0x2c8], 0x1c
call fcn.005df184
lea ecx, [esp + 0x198]
mov byte [esp + 0x2c8], 0x1b
call fcn.005df184
mov byte [esp + 0x2c8], 0x1a
jmp 0x4f99df
mov eax, dword [esi + 0x4f8]
test eax, eax
je 0x4f98fb
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x10
push edx
mov dword [esi + 0x4f8], 0
call dword [0x5fcb00]
lea ecx, [esp + 0x258]
mov byte [esp + 0x2c8], 0x19
call fcn.004f01d0
lea ecx, [esp + 0x204]
mov byte [esp + 0x2c8], 0x18
call fcn.005df184
lea ecx, [esp + 0x200]
mov byte [esp + 0x2c8], 0x17
call fcn.005df184
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x2c8], 0x16
call fcn.005df184
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x2c8], 0x15
call fcn.005df184
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x2c8], 0x14
call fcn.005df184
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x2c8], 0x13
call fcn.005df184
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x2c8], 0x12
call fcn.005df184
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x2c8], 0x11
call fcn.005df184
lea ecx, [esp + 0x19c]
mov byte [esp + 0x2c8], 0x10
call fcn.005df184
lea ecx, [esp + 0x198]
mov byte [esp + 0x2c8], 0xf
call fcn.005df184
mov byte [esp + 0x2c8], 0xe
lea ecx, [esp + 0x194]
call fcn.005df184
lea ecx, [esp + 0xe0]
mov byte [esp + 0x2c8], 0xb
call fcn.005df16c
lea ecx, [esp + 0x30]
mov byte [esp + 0x2c8], 0xa
call fcn.005df184
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c8], 9
call fcn.005df184
lea ecx, [esp + 0x34]
mov byte [esp + 0x2c8], 8
call fcn.005df184
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c8], 7
call fcn.005df184
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c8], 6
call fcn.005df184
lea ecx, [esp + 0x28]
mov byte [esp + 0x2c8], 5
call fcn.005df184
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c8], 4
call fcn.005df184
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c8], 3
call fcn.005df184
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c8], 2
call fcn.005df184
lea ecx, [esp + 0x38]
mov byte [esp + 0x2c8], 1
call fcn.005df184
lea ecx, [esp + 0x24]
mov byte [esp + 0x2c8], 0
call fcn.005df184
lea ecx, [esp + 0x3c]
mov dword [esp + 0x2c8], 0xffffffff
call fcn.005df184
mov ecx, dword [esp + 0x2c0]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4