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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x2a
push 0
push 0
dec ecx
jne 0x56f3e9
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.0040b914
mov eax, dword [ebp - 0xc]
call fcn.0040b914
xor eax, eax
push ebp
push 0x57083f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x88
mov edx, dword [0x56f140]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0x8c
mov edx, dword [0x404bdc]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0x90
mov edx, dword [0x567a18]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0x94
mov edx, dword [0x56f180]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0x98
mov edx, dword [0x404cfc]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0x9c
mov edx, dword [0x404bdc]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xa0
mov edx, dword [0x56e03c]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xa4
mov edx, dword [0x56f1bc]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xa8
mov edx, dword [0x56f1f8]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xac
mov edx, dword [0x404bdc]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xb0
mov edx, dword [0x56f234]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xb4
mov edx, dword [0x56f270]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xb8
mov edx, dword [0x56dffc]
call fcn.0040ed20
mov eax, dword [ebp - 4]
add eax, 0xbc
mov edx, dword [0x56f2ac]
call fcn.0040ed20
lea eax, [ebp - 0x11c]
mov edx, dword [ebp - 8]
call fcn.0040c5b4
mov eax, dword [ebp - 0x11c]
lea edx, [ebp - 0x118]
call fcn.004268f0
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x114]
call fcn.004fc6c8
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 4]
add eax, 4
mov ecx, 0
call fcn.0040c338
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
call fcn.0040c5b4
mov eax, dword [ebp - 0x120]
mov dl, 1
call fcn.0042647c
test al, al
je 0x56f5a0
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
call fcn.0040bce8
jmp 0x56f73e
push 0x570860
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 0x128]
mov edx, 3
call fcn.0040c0b8
mov edx, dword [ebp - 0x128]
lea eax, [ebp - 0x124]
call fcn.0040c5b4
mov eax, dword [ebp - 0x124]
mov dl, 1
call fcn.0042647c
test al, al
je 0x56f604
push 0x570860
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040c0b8
jmp 0x56f73e
push 0x570888
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 0x130]
mov edx, 3
call fcn.0040c0b8
mov edx, dword [ebp - 0x130]
lea eax, [ebp - 0x12c]
call fcn.0040c5b4
mov eax, dword [ebp - 0x12c]
mov dl, 1
call fcn.0042647c
test al, al
je 0x56f668
push 0x570888
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040c0b8
jmp 0x56f73e
cmp dword [ebp - 0xc], 0
je 0x56f73e
push dword [ebp - 0xc]
push 0x57089c
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 0x138]
mov edx, 4
call fcn.0040c0b8
mov edx, dword [ebp - 0x138]
lea eax, [ebp - 0x134]
call fcn.0040c5b4
mov eax, dword [ebp - 0x134]
mov dl, 1
call fcn.0042647c
test al, al
je 0x56f6d9
push dword [ebp - 0xc]
push 0x57089c
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040c0b8
jmp 0x56f73e
push dword [ebp - 0xc]
push 0x5708b4
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 0x140]
mov edx, 4
call fcn.0040c0b8
mov edx, dword [ebp - 0x140]
lea eax, [ebp - 0x13c]
call fcn.0040c5b4
mov eax, dword [ebp - 0x13c]
mov dl, 1
call fcn.0042647c
test al, al
je 0x56f73e
push dword [ebp - 0xc]
push 0x5708b4
mov eax, dword [ebp - 4]
push dword [eax + 4]
push 0x570874
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040c0b8
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x144]
mov edx, dword [ebp - 8]
call fcn.0040c5b4
mov eax, dword [ebp - 0x144]
mov dl, 1
call fcn.0042647c
test al, al
jne 0x56f76a
mov byte [ebp - 0xd], 1
jmp 0x5707ad
mov dl, 1
mov eax, dword [0x4f3668]
call fcn.004f50a4
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x148]
mov edx, dword [ebp - 8]
call fcn.0040c5b4
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x30]
call fcn.004b5c8c
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x30]
call fcn.004f513c
mov eax, dword [ebp - 4]
lea edx, [eax + 0xc]
mov ecx, 0x7c
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov ecx, 0xc
xor edx, edx
div ecx
push eax
mov eax, dword [ebp - 4]
add eax, 0x90
mov ecx, 1
mov edx, dword [0x567a18]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x90]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x74]
shr eax, 2
push eax
mov eax, dword [ebp - 4]
add eax, 0x94
mov ecx, 1
mov edx, dword [0x56f180]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x94]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7c]
shr eax, 2
push eax
mov eax, dword [ebp - 4]
add eax, 0x98
mov ecx, 1
mov edx, dword [0x404cfc]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x78]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x7c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x98]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
call fcn.004f5728
lea eax, [ebp - 0x24]
call fcn.0040bddc
mov dword [ebp - 0x20], eax
mov dl, 1
mov eax, dword [0x510230]
call fcn.005105d0
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x34]
call fcn.0051067c
cmp dword [ebp - 0x20], 0
je 0x56fa97
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
mov edx, 0x5708c8
call fcn.0040c180
je 0x56f91e
mov byte [ebp - 0xd], 2
jmp 0x5707ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x56f93f
mov eax, dword [ebp - 0x54]
mov eax, dword [eax - 4]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
inc eax
push eax
mov eax, dword [ebp - 4]
add eax, 0x88
mov ecx, 1
mov edx, dword [0x56f140]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x56f980
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax - 4]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
dec eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x88]
lea eax, [edx + eax*8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x56f9b4
mov eax, dword [ebp - 0x64]
mov eax, dword [eax - 4]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
dec eax
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x34]
call fcn.0051067c
jmp 0x56fa6c
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x56f9eb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax - 4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
inc eax
push eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov ecx, 1
mov edx, dword [0x512be4]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x56fa27
mov eax, dword [ebp - 0x74]
mov eax, dword [eax - 4]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
dec eax
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov edx, dword [edx + 4]
call fcn.0040bc9c
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x34]
call fcn.0051067c
mov eax, dword [ebp - 0x38]
add eax, 4
mov edx, dword [ebp - 0x34]
mov edx, dword [edx + 4]
call fcn.0040bc9c
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x34]
call fcn.0051067c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
mov edx, 0x5708d8
call fcn.0040c180
jne 0x56f9cd
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x34]
call fcn.0051067c
cmp dword [ebp - 0x20], 0
jne 0x56f903
mov eax, dword [ebp - 0x34]
call fcn.00409a4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 4]
add eax, 0x8c
mov ecx, 1
mov edx, dword [0x404bdc]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x8c]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov ecx, 0x14
xor edx, edx
div ecx
push eax
mov eax, dword [ebp - 4]
add eax, 0xa0
mov ecx, 1
mov edx, dword [0x56e03c]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x56fb48
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax - 4]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
dec eax
test eax, eax
jl 0x56fbff
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa0]
lea eax, [edx + eax*4]
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x30]
call fcn.004f5930
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x154]
mov dword [eax], edx
mov edx, dword [ebp - 0x150]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x14c]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x40]
mov byte [eax + 0x11], 0
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x18]
fldz
fld dword [eax + edx*4]
fucompp
wait
fnstsw ax
test ah, 5
jp 0x56fbcd
mov ecx, dword [ebp - 0x18]
mov eax, 1
shl eax, cl
or dword [ebp - 0x1c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jne 0x56fbab
mov eax, dword [ebp - 0x30]
call fcn.004f5614
mov eax, dword [ebp - 0x40]
fstp dword [eax + 0xc]
wait
mov eax, dword [ebp - 0x30]
call fcn.004f55c8
mov edx, dword [ebp - 0x40]
mov byte [edx + 0x10], al
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x56fb5f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
mov ecx, 0x14
xor edx, edx
div ecx
push eax
mov eax, dword [ebp - 4]
add eax, 0xa4
mov ecx, 1
mov edx, dword [0x56f1bc]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xa4]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
shr eax, 1
push eax
mov eax, dword [ebp - 4]
add eax, 0xa8
mov ecx, 1
mov edx, dword [0x56f1f8]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je 0x56fcb6
mov eax, dword [ebp - 0x84]
mov eax, dword [eax - 4]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
dec eax
test eax, eax
jl 0x56fcfd
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x30]
call fcn.004f5510
movzx eax, ax
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa4]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa8]
mov ecx, dword [ebp - 0x14]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x56fccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
push eax
mov eax, dword [ebp - 4]
add eax, 0xac
mov ecx, 1
mov edx, dword [0x404bdc]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp - 4]
lea edx, [eax + 0xac]
mov eax, dword [ebp - 0x30]
call fcn.004b3de8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
mov ecx, 0x1c
xor edx, edx
div ecx
push eax
mov eax, dword [ebp - 4]
add eax, 0xb0
mov ecx, 1
mov edx, dword [0x56f234]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x56fdb8
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax - 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
dec eax
test eax, eax
jl 0x56ff40
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
lea edx, [ebp - 0x110]
mov ecx, 0x1c
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov cx, word [ebp + ecx*2 - 0x108]
mov word [eax + edx*2 + 8], cx
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov cx, word [ebp + ecx*2 - 0x102]
mov word [eax + edx*2 + 0xe], cx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jne 0x56fdea
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
mov ecx, dword [ebp - 0x110]
mov dword [edx + eax*8], ecx
movzx eax, word [ebp - 0xfc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa8]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x14]
add edx, edx
lea edx, [edx + edx*2]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0xb0]
mov dword [ecx + edx*8 + 0x20], eax
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
movzx ecx, word [ebp - 0xfa]
mov dword [edx + eax*8 + 0x24], ecx
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x56fec7
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
xor ecx, ecx
mov dword [edx + eax*8 + 0x18], ecx
jmp 0x56feea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xac]
mov edx, dword [ebp - 0x1c]
add eax, edx
mov edx, dword [ebp - 0x14]
add edx, edx
lea edx, [edx + edx*2]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0xb0]
mov dword [ecx + edx*8 + 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
xor ecx, ecx
mov dword [edx + eax*8 + 0x1c], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov cl, byte [ebp + ecx - 0xf8]
mov byte [eax + edx + 0x2c], cl
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jne 0x56ff06
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x56fdd2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov ecx, 0x18
xor edx, edx
div ecx
push eax
mov eax, dword [ebp - 4]
add eax, 0xb4
mov ecx, 1
mov edx, dword [0x56f270]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x56ffb0
mov eax, dword [ebp - 0x94]
mov eax, dword [eax - 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
dec eax
test eax, eax
jl 0x57011e
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
lea edx, [ebp - 0xf4]
mov ecx, 0x18
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov cx, word [ebp + ecx*2 - 0xec]
mov word [eax + edx*2 + 8], cx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov cx, word [ebp + ecx*2 - 0xe6]
mov word [eax + edx*2 + 0xe], cx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jne 0x56ffe2
mov eax, dword [ebp - 0xf4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa0]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x14]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + edx*8 + 0x18], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
mov cx, word [ebp - 0xe0]
mov word [edx + eax*8 + 0x24], cx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
mov cx, word [ebp - 0xde]
mov word [edx + eax*8 + 0x26], cx
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movsx eax, word [ebp + eax*2 - 0xf0]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x5700d9
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x14]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0xb4]
lea edx, [ecx + edx*8]
mov ecx, dword [ebp - 0x18]
mov dword [edx + ecx*4 + 0x1c], eax
jmp 0x570109
or eax, 0xffffffff
sub eax, dword [ebp - 0x1c]
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb0]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x14]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0xb4]
lea edx, [ecx + edx*8]
mov ecx, dword [ebp - 0x18]
mov dword [edx + ecx*4 + 0x1c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jne 0x570098
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x56ffca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x570151
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax - 4]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jle 0x57016a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
xor edx, edx
call fcn.0056f328
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
shr eax, 3
push eax
mov eax, dword [ebp - 4]
add eax, 0xb8
mov ecx, 1
mov edx, dword [0x56dffc]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
je 0x5701d4
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax - 4]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa4]
shl ecx, 3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xb8]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x84]
shr eax, 6
push eax
mov eax, dword [ebp - 4]
add eax, 0xbc
mov ecx, 1
mov edx, dword [0x56f2ac]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x30]
call fcn.004b3814
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x57025e
mov eax, dword [ebp - 0xac]
mov eax, dword [eax - 4]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
shl ecx, 6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xbc]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 0x30]
call fcn.00409a4c
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
add ecx, 0xb8
mov dword [edx + eax*8 + 0xc4], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
add ecx, 0xa0
mov dword [edx + eax*8 + 0xc8], ecx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + eax*8 + 0xcc], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x5702fe
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax - 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xb4]
dec ecx
mov dword [edx + eax*8 + 0xd0], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jne 0x570287
mov eax, dword [ebp - 4]
add eax, 0xec
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x10], 0xc1800000
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], 0xc1800000
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x18], 0xc2100000
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x1c], 0x41800000
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x20], 0x41800000
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x24], 0x42100000
mov eax, dword [ebp - 4]
add eax, 0x114
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x10], 0xc2000000
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x14], 0xc2000000
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x18], 0xc2000000
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x1c], 0x42000000
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x20], 0x42000000
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x24], 0x42000000
mov eax, dword [ebp - 4]
add eax, 0x13c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x10], 0xc1800000
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x14], 0xc1800000
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x18], 0xc1900000
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x1c], 0x41800000
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x20], 0x41800000
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x24], 0x41900000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x57042a
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax - 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 4]
add eax, 0xc0
mov ecx, 1
mov edx, dword [0x56dffc]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
add eax, 0xc0
mov edx, dword [ebp - 4]
mov dword [edx + 0xc4], eax
mov eax, dword [ebp - 4]
add eax, 0xa0
mov edx, dword [ebp - 4]
mov dword [edx + 0xc8], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xcc], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x5704ac
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax - 4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0xd0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xd0]
sub edx, eax
jl 0x5705c4
inc edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
mov eax, dword [edx + eax*8 + 0x18]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0xa0]
mov ecx, 0x14
xor edx, edx
div ecx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc0]
mov ecx, dword [ebp - 0x14]
mov dword [edx + ecx*8], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4 + 0x1c]
cmp dword [eax], 0
jge 0x570569
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4 + 0x1c]
mov ax, word [eax]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc0]
mov ecx, dword [ebp - 0x14]
lea edx, [edx + ecx*8]
mov ecx, dword [ebp - 0x18]
mov word [edx + ecx*2 + 4], ax
jmp 0x5705ab
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4 + 0x1c]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0xb4]
mov ecx, 0x28
xor edx, edx
div ecx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc0]
mov ecx, dword [ebp - 0x14]
lea edx, [edx + ecx*8]
mov ecx, dword [ebp - 0x18]
mov word [edx + ecx*2 + 4], ax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jne 0x570516
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x5704dd
push 6
mov eax, dword [ebp - 4]
add eax, 0x190
mov ecx, 1
mov edx, dword [0x56e3a0]
call fcn.0040ebfc
add esp, 4
push 6
mov eax, dword [ebp - 4]
add eax, 0x18c
mov ecx, 1
mov edx, dword [0x56e374]
call fcn.0040ebfc
add esp, 4
mov eax, dword [ebp - 4]
add eax, 0x190
mov edx, dword [ebp - 4]
mov dword [edx + 0x164], eax
mov eax, dword [ebp - 4]
add eax, 0x18c
mov edx, dword [ebp - 4]
mov dword [edx + 0x168], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x16c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x57065e
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax - 4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x170], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x5706a1
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax - 4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
dec eax
test eax, eax
jl 0x5707ad
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx*8], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x14]
and edx, 1
mov word [eax + edx*2 + 4], 0xffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x57071c
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax - 4]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
dec eax
cmp eax, dword [ebp - 0x14]
jne 0x570749
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x14]
and edx, 1
xor edx, 1
mov word [eax + edx*2 + 4], 0xfffe
jmp 0x57076b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x14]
and edx, 1
xor edx, 1
mov cx, word [ebp - 0x14]
inc ecx
mov word [eax + edx*2 + 4], cx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x18c]
mov ecx, dword [ebp - 0x14]
shr ecx, 1
mov byte [edx + eax*4 + 0x10], cl
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x18c]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x14]
shr edx, 1
mov dword [eax + edx*4], 0x3f800000
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x5706bb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x570849
lea eax, [ebp - 0x148]
mov edx, 2
call fcn.0040b870
lea eax, [ebp - 0x140]
call fcn.0040b834
lea eax, [ebp - 0x13c]
call fcn.0040b810
lea eax, [ebp - 0x138]
call fcn.0040b834
lea eax, [ebp - 0x134]
call fcn.0040b810
lea eax, [ebp - 0x130]
call fcn.0040b834
lea eax, [ebp - 0x12c]
call fcn.0040b810
lea eax, [ebp - 0x128]
call fcn.0040b834
lea eax, [ebp - 0x124]
mov edx, 5
call fcn.0040b870
lea eax, [ebp - 0x24]
call fcn.0040b834
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0040b8a8
pop eax
jmp eax