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

Disassembly:
mov ecx, dword [0x78bd58]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x500f8e
sub esp, 0xa8
mov eax, dword [esp + 0xac]
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x4ffdaf
lea eax, [0x742fd8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040e920
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xb4]
mov ecx, eax
mov eax, dword [esp + 0xac]
jmp 0x4ffdb1
mov edx, ecx
test ecx, ecx
jne 0x500807
test edx, edx
je 0x500371
mov ecx, dword [edx + 8]
cmp ecx, 0x6e78e923
ja 0x5000a7
cmp ecx, 0x43cfbb1f
ja 0x4fff2f
cmp ecx, 0x338a7ec0
jbe 0x4ffe95
cmp ecx, 0x4072c7d5
jne 0x4ffe10
lea ecx, [0x5a6d00]
cmp edx, ecx
jne 0x4ffe09
nop
mov ecx, dword [esp + 0xb0]
xor edx, edx
jmp 0x500df8
test edx, edx
jmp 0x500371
cmp ecx, 0x43cfbb1f
jne 0x4ffe8e
lea ecx, [0x5a98c0]
cmp edx, ecx
jne 0x4ffe87
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.004ff310
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00458320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x78be40]
test eax, eax
je 0x4ffe80
call fcn.0046fef0
mov dword [edi], edx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], edx
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
jmp 0x500371
cmp ecx, 0x2e74d42b
jne 0x4ffee2
lea ecx, [0x5a6b40]
cmp edx, ecx
jne 0x4ffedb
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x40
call fcn.004fddc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb8]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0x338a7ec0
jne 0x4fff28
lea ecx, [0x5a6b00]
cmp edx, ecx
jne 0x4fff21
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004fe350
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx], eax
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
jmp 0x500371
cmp ecx, 0x510ad14d
jbe 0x4ffff6
cmp ecx, 0x62de383d
je 0x4fffb8
cmp ecx, 0x6d448d5d
jne 0x4fff6b
lea ecx, [0x5a6d40]
cmp edx, ecx
jne 0x4fff64
nop
mov ecx, dword [esp + 0xb0]
xor edx, edx
jmp 0x500c66
test edx, edx
jmp 0x500371
cmp ecx, 0x6e78e923
jne 0x4fffb1
lea ecx, [0x5a6c00]
cmp edx, ecx
jne 0x4fffaa
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004fe350
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx], eax
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
jmp 0x500371
lea ecx, [0x5a6ac0]
cmp edx, ecx
jne 0x4fffef
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004fddc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx], eax
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0x49163278
jne 0x500043
lea ecx, [0x5a6b80]
cmp edx, ecx
jne 0x50003c
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x40
call fcn.004fe350
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb8]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0x510ad14d
jne 0x5000a0
lea ecx, [0x5a6c80]
cmp edx, ecx
jne 0x500099
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x40
call fcn.004ff110
movsd xmm0, qword [esp + 0xc]
cvtsd2ss xmm0, xmm0
movsd xmm1, qword [esp + 0x14]
mov eax, dword [esp + 0xb8]
movss dword [eax], xmm0
cvtsd2ss xmm0, xmm1
movss dword [eax + 4], xmm0
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
jmp 0x500371
cmp ecx, 0xba585d67
ja 0x5001f5
cmp ecx, 0x889ce7f8
ja 0x500162
cmp ecx, 0x7afcd172
jne 0x500114
lea ecx, [0x5a6cc0]
cmp edx, ecx
jne 0x50010d
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], pe_nt_image_headers32
call fcn.004ff110
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov eax, dword [esp + 0xb8]
movsd qword [eax], xmm0
movsd qword [eax + 8], xmm1
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0x889ce7f8
jne 0x50015b
lea ecx, [0x5a6a80]
cmp edx, ecx
jne 0x500154
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.004fe350
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov word [ecx], ax
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
jmp 0x500371
cmp ecx, 0x8f96facd
jne 0x5001a8
lea ecx, [0x5a6c40]
cmp edx, ecx
jne 0x5001a1
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004fe350
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx], eax
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0xba585d67
jne 0x5001ee
lea ecx, [0x5a6bc0]
cmp edx, ecx
jne 0x5001e7
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004fddc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx], eax
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
jmp 0x500371
cmp ecx, 0xd6631a7c
ja 0x500295
cmp ecx, 0xc3230e0b
jne 0x500248
lea ecx, [0x5a6a40]
cmp edx, ecx
jne 0x500241
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.004fddc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov word [ecx], ax
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0xd6631a7c
jne 0x50028e
lea ecx, [0x5a69c0]
cmp edx, ecx
jne 0x500287
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.004fddc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov byte [ecx], al
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
jmp 0x500371
cmp ecx, 0xe47f76c1
jne 0x5002f0
lea ecx, [0x5a6980]
cmp edx, ecx
jne 0x5002e9
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.004ff310
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
mov dword [edx + 4], eax
mov eax, dword [0x78be40]
test eax, eax
je 0x5002e2
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0xf3b50de0
jne 0x500333
lea ecx, [0x5a6a00]
cmp edx, ecx
jne 0x50032f
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.004fe350
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov byte [ecx], al
jmp 0x500954
test edx, edx
jmp 0x500371
cmp ecx, 0xfcd60fce
jne 0x50036f
lea ecx, [0x5a6d80]
cmp edx, ecx
jne 0x50036b
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.004fd4f0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xb8]
mov byte [ecx], al
jmp 0x500954
test edx, edx
jmp 0x500371
test edx, edx
je 0x5003ad
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x5003a5
movzx edx, byte [ecx + 0xf]
nop
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x50039f
or edx, 0x80
mov ebx, dword [esp + 0x78]
jmp 0x5003b3
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x5003b3
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov ebp, edx
and edx, 0x1f
nop
cmp edx, 0x16
jne 0x500b64
mov dword [esp + 0x60], ebp
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ecx
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004a98a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov ecx, eax
and eax, 0x1f
mov edx, dword [esp + 0xc]
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x98], ebx
nop
cmp eax, 0xc
ja 0x500561
cmp eax, 1
je 0x500517
lea ebp, [eax - 2]
cmp ebp, 4
ja 0x500495
test ecx, 0x200
jne 0x50042c
lea eax, [0x622d88]
jmp 0x500444
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004af030
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004fddc0
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.004adee0
jmp 0x500954
cmp eax, 7
jb 0x500a64
test ecx, 0x200
jne 0x5004ae
lea eax, [0x622d88]
jmp 0x5004c6
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004af030
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004fe350
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.004ae5b0
jmp 0x500954
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.004fd4f0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], al
call fcn.004ad9f0
jmp 0x500954
cmp eax, 0x10
ja 0x5006d2
cmp eax, 0xe
jbe 0x5005e8
test ecx, 0x200
jne 0x50057f
lea eax, [0x622d88]
jmp 0x500597
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004af030
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004ff110
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.004add50
jmp 0x500954
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004fcf60
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004fd480
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004fe850
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x5c]
test edx, 0x200
jne 0x500643
lea ebx, [0x622d88]
mov ebp, dword [esp + 0x9c]
jmp 0x50066d
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004af030
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, eax
mov ebp, edx
mov eax, dword [ebx + 0x18]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004fee80
movsd xmm0, qword [esp + 0x10]
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
movsd qword [esp + 0xc], xmm0
call fcn.004ade20
jmp 0x500954
cmp eax, 0x17
je 0x500731
cmp eax, 0x18
jne 0x500a64
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.004ff310
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x9c]
mov dword [esp], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004ae790
jmp 0x500954
test ecx, 0x200
jne 0x500741
lea eax, [0x622d88]
jmp 0x500759
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004af030
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x64], edx
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x28]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x50095b
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.004ff310
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x34]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004af850
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x9c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x98]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x5c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004ad8d0
xor eax, eax
jmp 0x50094c
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
lea edx, [0x622698]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc], eax
call ecx
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x50083e
add esp, 0xa8
ret
mov ecx, dword [esp + 0x14]
cmp dword [0x742b40], eax
je 0x50089d
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
lea eax, [0x5b9520]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
call fcn.0040e660
mov eax, dword [esp + 8]
lea ecx, [0x5b9520]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
mov dword [esp + 0x54], eax
mov dword [esp + 0x90], ecx
mov edx, dword [0x742b44]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00408940
movzx eax, byte [esp + 0xc]
test al, al
je 0x5008d8
mov eax, dword [0x742b48]
mov ecx, dword [0x742b4c]
jmp 0x50084a
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
jmp 0x50084a
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004aa470
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x70]
movzx esi, byte [ebp + ebx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
call fcn.004ae5b0
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jl 0x5008e8
add esp, 0xa8
ret
mov eax, dword [esp + 0x60]
test eax, 0x200
jne 0x500a3f
lea eax, [0x622d88]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x5de15b]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00457ee0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
lea edx, [0x5b95e0]
mov dword [esp], edx
call fcn.00410f90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [0x78be40]
test ecx, ecx
jne 0x500a2f
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
lea ecx, [0x621e98]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x5b9520]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
call fcn.0040e660
mov eax, dword [esp + 8]
lea ecx, [0x5b9520]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
call fcn.0046fee0
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
jmp 0x5009e3
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004af030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x500974
mov eax, dword [esp + 0x60]
test eax, 0x200
jne 0x500b3f
lea eax, [0x622d88]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x5de15b]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00457ee0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
lea edx, [0x5b95e0]
mov dword [esp], edx
call fcn.00410f90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x78be40]
test ecx, ecx
jne 0x500b32
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
lea ecx, [0x621e98]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x5b9520]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
call fcn.0040e660
mov eax, dword [esp + 8]
lea ecx, [0x5b9520]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
call fcn.0046fee0
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
jmp 0x500ae9
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004af030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x500a7d
test ebp, ebp
je 0x500c49
test ebp, 0x200
jne 0x500c49
lea eax, [0x622d88]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x5df5c7]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00457ee0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
lea edx, [0x5b95e0]
mov dword [esp], edx
call fcn.00410f90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [0x78be40]
test ecx, ecx
jne 0x500c39
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
lea ecx, [0x621e98]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x5b9520]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
call fcn.0040e660
mov eax, dword [esp + 8]
lea ecx, [0x5b9520]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
call fcn.0046fee0
mov ecx, dword [esp + 0x84]
mov dword [edi], ecx
jmp 0x500bed
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004af030
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x500b7e
cmp edx, 8
jge 0x500d0b
lea ebx, [0x5dae85]
movzx ebp, byte [edx + ebx]
cmp ebp, 0x80
jge 0x500c84
inc edx
jmp 0x500cb4
mov dword [esp], ebx
mov dword [esp + 4], 8
mov dword [esp + 8], edx
call fcn.00467810
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
lea ebx, [0x5dae85]
cmp ecx, ebp
jne 0x500c66
mov dword [esp], eax
call fcn.004fcf60
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004fd480
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004fe850
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 0xc], 0x40
call fcn.004fee80
movsd xmm0, qword [esp + 0x10]
mov eax, dword [esp + 0xb8]
movsd qword [eax], xmm0
jmp 0x500954
mov eax, ecx
sar ecx, 0x1f
lea edx, [esp + 0x2c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004586a0
mov dword [esp], 0
lea eax, [0x5dbd08]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
lea eax, [0x5da7aa]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 6
lea eax, [0x5daab6]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 7
call fcn.00458010
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x88], ecx
lea edx, [0x5b95e0]
mov dword [esp], edx
call fcn.00410f90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [0x78be40]
test ecx, ecx
jne 0x500de8
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
lea ecx, [0x621e98]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x5b9520]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
call fcn.0040e660
mov eax, dword [esp + 8]
lea ecx, [0x5b9520]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
call fcn.0046fee0
mov ecx, dword [esp + 0x88]
mov dword [edi], ecx
jmp 0x500d9c
cmp edx, 8
jge 0x500ea1
lea ebx, [0x5dae85]
movzx ebp, byte [edx + ebx]
cmp ebp, 0x80
jge 0x500e16
inc edx
jmp 0x500e46
mov dword [esp], ebx
mov dword [esp + 4], 8
mov dword [esp + 8], edx
call fcn.00467810
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
lea ebx, [0x5dae85]
cmp ecx, ebp
jne 0x500df8
mov dword [esp], eax
call fcn.004fcf60
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004fd480
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004fe850
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 0xc], 0x20
call fcn.004fee80
movsd xmm0, qword [esp + 0x10]
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 0xb8]
movss dword [eax], xmm0
jmp 0x500954
mov eax, ecx
sar ecx, 0x1f
lea edx, [esp + 0x30]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004586a0
mov dword [esp], 0
lea eax, [0x5dbd08]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
lea eax, [0x5da7aa]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 6
lea eax, [0x5daaaf]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 7
call fcn.00458010
mov eax, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x8c], ecx
lea edx, [0x5b95e0]
mov dword [esp], edx
call fcn.00410f90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [0x78be40]
test ecx, ecx
jne 0x500f7e
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
lea ecx, [0x621e98]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x5b9520]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
call fcn.0040e660
mov eax, dword [esp + 8]
lea ecx, [0x5b9520]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043d570
call fcn.0046fee0
mov ecx, dword [esp + 0x8c]
mov dword [edi], ecx
jmp 0x500f32
call fcn.0046eae0
jmp fcn.004ffd50