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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x621c64
mov eax, dword fs:[0]
push eax
sub esp, 0x490
mov eax, dword [0x67dc50]
xor eax, esp
mov dword [esp + 0x488], eax
push ebx
push esi
push edi
mov eax, dword [0x67dc50]
xor eax, esp
push eax
lea eax, [esp + 0x4a0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, ecx
movsx ecx, word [eax + 2]
mov dword [esp + 0x68], esi
test ecx, 0x800
je 0x5680e4
test cl, 8
je 0x5680df
mov ecx, dword [eax + 4]
jmp 0x5680f2
mov ecx, dword [eax + 0xc]
jmp 0x5680f2
test byte [eax + 0x12], 8
je 0x5680ef
mov ecx, dword [eax + 0x14]
jmp 0x5680f2
mov ecx, dword [eax + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [ebp + 0xc]
sar edx, 1
cmp ecx, 2
jge 0x568193
cmp ecx, 1
jne 0x56a75d
test edx, edx
je 0x56a75d
fldz
push 2
sub esp, 8
mov ecx, esp
fst qword [ecx]
mov dword [esp + 0x48], esp
sub esp, 8
mov ecx, esp
fstp qword [ecx]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], esp
mov dword [esp + 0x74], ecx
push edx
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x260]
mov dword [esp + 0x78], eax
call fcn.00517ef0
mov ecx, dword [0x67e9dc]
push eax
mov dword [esp + 0x4ac], 0
call fcn.00580950
lea ecx, [esp + 0x244]
mov dword [esp + 0x4a8], 0xffffffff
call fcn.00518980
mov edx, dword [0x67e9dc]
mov eax, dword [esi + 0x34]
push 0
push 3
push edx
mov ecx, esi
call eax
jmp 0x56a75d
xor edi, edi
cmp edx, edi
jne 0x5681a8
push edi
push ecx
push eax
mov ecx, esi
call fcn.00543e90
jmp 0x56a75d
push ecx
push eax
lea ecx, [esp + 0x374]
mov dword [esp + 0x24], edi
call fcn.0056d9e0
lea ecx, [esp + 0x70]
mov dword [esp + 0x4a8], 1
call fcn.005794f0
lea ecx, [esp + 0x268]
mov byte [esp + 0x4a8], 2
call fcn.0056f1e0
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x4a8], 3
call fcn.00517e90
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x4a8], 4
call fcn.00517e90
push fcn.00518980
push fcn.00517e90
push 2
push 0x24
lea ecx, [esp + 0x2ec]
push ecx
mov byte [esp + 0x4bc], 5
call fcn.005f6257
push fcn.00518980
push fcn.00517e90
push 2
push 0x24
lea edx, [esp + 0x2a4]
push edx
mov byte [esp + 0x4bc], 6
call fcn.005f6257
push fcn.004ed1b0
push fcn.005eb500
push 3
push 0x10
lea eax, [esp + 0x178]
push eax
mov byte [esp + 0x4bc], 7
call fcn.005f6257
push fcn.004ed1b0
push fcn.005eb500
push 3
push 0x10
lea ecx, [esp + 0x1a8]
push ecx
mov byte [esp + 0x4bc], 8
call fcn.005f6257
lea ecx, [esp + 0x44]
mov byte [esp + 0x4a8], 9
call fcn.0051d230
lea ecx, [esp + 0x154]
mov byte [esp + 0x4a8], 0xa
call fcn.0051d230
lea ecx, [esp + 0x220]
mov byte [esp + 0x4a8], 0xb
call fcn.00517e90
lea ecx, [esp + 0x324]
mov byte [esp + 0x4a8], 0xc
call fcn.00517e90
lea ecx, [esp + 0x348]
mov byte [esp + 0x4a8], 0xd
call fcn.00517e90
mov byte [esp + 0x4a8], 0xe
mov dword [esp + 0x18], edi
mov byte [esp + 0x17], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x3c], edi
cmp dword [esp + 0x38c], edi
je 0x56a620
mov edx, dword [esp + 0x378]
cmp edx, dword [esp + 0x37c]
ja 0x56a5f5
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x38c]
push eax
call fcn.005c65f0
add esp, 4
test eax, eax
je 0x56a42c
mov ecx, dword [esp + 0x38c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
call eax
push 6
mov ecx, edi
mov esi, eax
call fcn.00540460
push 6
mov ecx, edi
call fcn.005639d0
cmp esi, 0x16
jne 0x568e57
mov eax, dword [0x67e9ec]
test eax, eax
je 0x568dc6
cmp dword [esp + 0x1c], 0
je 0x568ca8
mov ebx, dword [esp + 0x38c]
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 4]
push 0x3e8
lea edx, [esp + 0x1cc]
mov dword [esp + 0x64], ecx
push edx
lea ecx, [esp + 0x270]
mov dword [esp + 0x64], esi
call fcn.0051a210
mov ecx, dword [eax]
mov dword [esp + 0x74], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x80], eax
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x38c]
add eax, 0xc
push eax
lea ecx, [esp + 0xf0]
push ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], esi
mov dword [esp + 0xf4], esi
call fcn.00521130
add esp, 8
test eax, eax
jne 0x56a42c
mov edx, dword [esp + 0x290]
push eax
push edx
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x250]
call fcn.00579540
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x19c]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x174]
push ecx
lea esi, [ebx + 0xc]
push esi
lea ecx, [esp + 0x258]
mov byte [esp + 0x4bc], 0xf
call fcn.0057a710
test eax, eax
je 0x568ab0
push 0
push esi
lea ecx, [esp + 0x270]
call fcn.00578fb0
test eax, eax
jne 0x568ab0
cmp dword [esp + 0x38], 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x6c], eax
jne 0x568544
cmp dword [esp + 0x34], 3
je 0x568544
mov edx, dword [esp + 0x28c]
cmp edx, dword [esp + 0x290]
je 0x568544
push 1
push 1
lea eax, [esp + 0x48]
push eax
sub esp, 0x2c
lea edx, [esp + 0x2a0]
mov ecx, esp
mov dword [esp + 0x74], esp
push edx
lea esi, [esp + 0x360]
lea edi, [esp + 0x214]
call fcn.00573970
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xb8], esp
push ebx
mov byte [esp + 0x500], 0x10
call fcn.00579570
mov byte [esp + 0x4fc], 0xf
call fcn.005640f0
add esp, 0x54
test eax, eax
je 0x568530
lea eax, [esp + 0x1e4]
push eax
lea ecx, [esp + 0x1e0]
call fcn.0040ad00
test eax, eax
je 0x568544
add dword [esp + 0x18], 2
jmp 0x568544
lea ecx, [esp + 0x44]
push ecx
mov ecx, ebx
call fcn.0057b250
mov dword [esp + 0x1c], 1
cmp dword [esp + 0x34], 1
jne 0x568601
cmp dword [esp + 0x38], 3
je 0x56860c
mov edx, dword [esp + 0x290]
cmp dword [esp + 0x28c], edx
je 0x568601
push 0
push 1
lea eax, [esp + 0x60]
push eax
sub esp, 0x2c
lea edx, [esp + 0x2a0]
mov ecx, esp
mov dword [esp + 0x9c], esp
push edx
lea esi, [esp + 0x384]
lea edi, [esp + 0x238]
call fcn.00573970
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
mov byte [esp + 0x500], 0x11
call fcn.00579570
mov byte [esp + 0x4fc], 0xf
call fcn.005640f0
add esp, 0x54
test eax, eax
je 0x5685ea
lea eax, [esp + 0x208]
push eax
lea ecx, [esp + 0x204]
call fcn.0040ad00
test eax, eax
je 0x568601
inc dword [esp + 0x18]
jmp 0x568601
lea ecx, [esp + 0x154]
push ecx
mov ecx, ebx
call fcn.0057b400
mov dword [esp + 0x6c], 1
cmp dword [esp + 0x38], 3
jne 0x568753
lea edx, [esp + 0x220]
push edx
lea ecx, [esp + 0x16c]
call fcn.00580b30
and byte [esp + 0x17], 0xfb
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x1dc]
push ecx
mov ecx, dword [0x67e9dc]
lea edx, [esp + 0x1f]
push edx
lea eax, [esp + 0x22c]
push eax
push ecx
mov eax, 1
mov esi, 0x67e9ec
call fcn.005643f0
mov ecx, dword [esp + 0x3a0]
add esp, 0x14
lea edx, [esp + 0x44]
push edx
call fcn.0057b400
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x204]
call fcn.0051bd10
mov esi, eax
test esi, esi
jne 0x5686f6
mov edx, dword [esp + 0x28c]
cmp edx, dword [esp + 0x290]
je 0x5686f6
lea ecx, [esp + 0x268]
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x5686f6
cmp dword [esp + 0x30], 4
jne 0x5686f6
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x29c]
call fcn.0051bd10
mov esi, eax
test esi, esi
je 0x5686f6
mov ecx, dword [0x67ea2c]
sub ecx, 3
mov dword [0x67ea2c], ecx
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x1fc]
push edx
call fcn.00580b30
mov ecx, dword [esp + 0x290]
xor eax, eax
cmp dword [esp + 0x28c], ecx
lea edx, [esp + 0x18]
setne al
lea ecx, [esp + 0x44]
push eax
push 1
push edx
lea eax, [esp + 0x208]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x2b]
push edx
push eax
mov eax, dword [0x67ea28]
push ecx
lea edx, [esp + 0x40]
push edx
mov edx, esi
push eax
lea ecx, [esp + 0x290]
mov esi, 0x67ea2c
call fcn.005644e0
add esp, 0x28
jmp 0x568c8b
mov ebx, 3
cmp dword [esp + 0x34], ebx
jne 0x5688a4
lea ecx, [esp + 0x220]
push ecx
lea ecx, [esp + 0x19c]
call fcn.00580b30
and byte [esp + 0x17], 0xfb
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x200]
push eax
mov eax, dword [0x67ea28]
lea ecx, [esp + 0x1f]
push ecx
lea edx, [esp + 0x22c]
push edx
push eax
xor eax, eax
mov esi, 0x67ea2c
call fcn.005643f0
add esp, 0x14
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x390]
call fcn.0057b250
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1e0]
call fcn.0051bd10
mov esi, eax
test esi, esi
jne 0x568847
mov ecx, dword [esp + 0x28c]
cmp ecx, dword [esp + 0x290]
je 0x568847
lea ecx, [esp + 0x268]
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x568847
cmp dword [esp + 0x30], 4
jne 0x568847
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x2e4]
call fcn.0051bd10
mov esi, eax
test esi, esi
je 0x568847
mov ecx, dword [0x67e9ec]
sub ecx, ebx
mov dword [0x67e9ec], ecx
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x1d8]
push edx
call fcn.00580b30
mov ecx, dword [esp + 0x290]
xor eax, eax
cmp dword [esp + 0x28c], ecx
lea edx, [esp + 0x18]
setne al
lea ecx, [esp + 0x44]
push eax
push 0
push edx
lea eax, [esp + 0x1e4]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x2b]
push edx
push eax
mov eax, dword [0x67e9dc]
push ecx
lea edx, [esp + 0x40]
push edx
mov edx, esi
push eax
lea ecx, [esp + 0x290]
mov esi, 0x67e9ec
call fcn.005644e0
add esp, 0x28
jmp 0x568c8b
mov edi, dword [esp + 0x18]
cmp edi, 2
je 0x568955
cmp edi, ebx
je 0x568955
test byte [esp + 0x17], 1
je 0x5688e0
mov eax, dword [0x67e9ec]
mov esi, 1
mov ecx, eax
add eax, esi
lea edx, [esp + 0x1dc]
mov dword [0x67e9ec], eax
push edx
jmp 0x568994
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
lea eax, [esp + 0x1d8]
push eax
call fcn.00580950
mov ecx, dword [0x67e9ec]
add ecx, ebx
mov esi, 1
mov dword [0x67e9ec], ecx
cmp dword [esp + 0x40], esi
jne 0x568933
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x324]
push edx
call fcn.00580950
add dword [0x67e9ec], ebx
jmp 0x5689a2
cmp dword [esp + 0x1c], esi
jne 0x5689a2
mov eax, ecx
shl eax, 4
add eax, dword [0x67e9dc]
add ecx, esi
mov dword [0x67e9ec], ecx
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
jmp 0x56899d
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
mov esi, 1
lea edx, [esp + 0x1dc]
add eax, esi
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ecx, eax
add eax, esi
mov dword [0x67e9ec], eax
lea eax, [esp + 0x1e4]
push eax
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.005808e0
cmp edi, esi
je 0x568a63
cmp edi, ebx
je 0x568a63
test byte [esp + 0x17], 2
je 0x5689e2
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x200]
add eax, esi
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
jmp 0x568c8b
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
lea eax, [esp + 0x1fc]
push eax
call fcn.00580950
mov ecx, dword [0x67ea2c]
add ecx, ebx
mov dword [0x67ea2c], ecx
cmp dword [esp + 0x58], esi
jne 0x568a33
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x348]
push edx
call fcn.00580950
add dword [0x67ea2c], ebx
jmp 0x568c8b
cmp dword [esp + 0x6c], esi
jne 0x568c8b
mov eax, ecx
inc ecx
shl eax, 4
add eax, dword [0x67ea28]
mov dword [0x67ea2c], ecx
lea ecx, [esp + 0x158]
push ecx
mov ecx, eax
call fcn.005808e0
jmp 0x568c8b
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x200]
add eax, esi
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
mov eax, dword [0x67ea2c]
mov ecx, eax
add eax, esi
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [0x67ea2c], eax
lea eax, [esp + 0x208]
push eax
call fcn.005808e0
jmp 0x568c8b
mov esi, dword [esp + 0x18]
mov ebx, 3
cmp esi, 2
je 0x568b04
cmp esi, ebx
je 0x568b04
test byte [esp + 0x17], 1
je 0x568ae0
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
lea edx, [esp + 0x1dc]
mov dword [0x67e9ec], eax
push edx
jmp 0x568b3c
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
lea eax, [esp + 0x1d8]
push eax
call fcn.00580950
add dword [0x67e9ec], ebx
jmp 0x568b4a
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x1dc]
inc eax
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
mov dword [0x67e9ec], eax
lea eax, [esp + 0x1e4]
push eax
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.005808e0
cmp esi, 1
je 0x568b95
cmp esi, ebx
je 0x568b95
test byte [esp + 0x17], 2
je 0x568b71
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
lea edx, [esp + 0x200]
mov dword [0x67ea2c], eax
push edx
jmp 0x568bcd
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
lea eax, [esp + 0x1fc]
push eax
call fcn.00580950
add dword [0x67ea2c], ebx
jmp 0x568bdb
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x200]
inc eax
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
lea eax, [esp + 0x208]
push eax
shl ecx, 4
add ecx, dword [0x67ea28]
call fcn.005808e0
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
push ecx
lea ecx, [esp + 0x26c]
call fcn.00576090
add dword [0x67e9ec], ebx
mov ecx, edi
call fcn.005672e0
mov edx, dword [0x67e9ec]
mov eax, dword [0x67e9dc]
push 0
push edx
mov edx, dword [edi + 0x34]
push eax
mov ecx, edi
call edx
mov esi, dword [esp + 0x38c]
lea eax, [esi + 0xc]
push eax
lea ecx, [esi + 4]
mov dword [0x67e9ec], 0
call fcn.00516c00
test eax, eax
je 0x568c8b
mov ecx, dword [0x67e9dc]
push ecx
mov ecx, esi
call fcn.00579bb0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
mov eax, dword [0x67e9dc]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [esp + 0x138], edx
lea edx, [esp + 0x134]
push edx
mov dword [esp + 0x138], eax
call fcn.005808e0
mov dword [0x67e9ec], ebx
lea ecx, [esp + 0x244]
mov byte [esp + 0x4a8], 0xe
call fcn.005795a0
mov edi, dword [esp + 0x68]
jmp 0x568e31
mov edx, dword [0x67ea2c]
mov esi, dword [esp + 0x38c]
shl edx, 4
add edx, dword [0x67ea28]
lea ecx, [esp + 0x34]
push ecx
push edx
shl eax, 4
add eax, dword [0x67e9dc]
lea ecx, [esp + 0x40]
push ecx
push eax
add esi, 0xc
push esi
lea ecx, [esp + 0x84]
call fcn.0057a710
test eax, eax
je 0x568d0e
push esi
lea ecx, [esp + 0x74]
call fcn.0057b5b0
test eax, eax
jne 0x568d0e
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
add dword [0x67e9ec], edx
add dword [0x67ea2c], eax
jmp 0x568e31
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
push ecx
lea ecx, [esp + 0x74]
call fcn.00579f10
mov ebx, 3
add dword [0x67e9ec], ebx
mov ecx, edi
call fcn.005672e0
mov edx, dword [0x67e9ec]
mov eax, dword [0x67e9dc]
push 0
push edx
mov edx, dword [edi + 0x34]
push eax
mov ecx, edi
call edx
mov esi, dword [esp + 0x38c]
lea eax, [esi + 0xc]
push eax
lea ecx, [esi + 4]
mov dword [0x67e9ec], 0
call fcn.00516c00
test eax, eax
je 0x568e38
mov ecx, dword [0x67e9dc]
push ecx
mov ecx, esi
call fcn.00579bb0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
mov eax, dword [0x67e9dc]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [esp + 0x148], edx
lea edx, [esp + 0x144]
push edx
mov dword [esp + 0x148], eax
call fcn.005808e0
mov dword [0x67e9ec], ebx
jmp 0x568e31
mov esi, dword [esp + 0x38c]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 4]
jne 0x568ddd
mov ecx, dword [esi + 0x10]
cmp ecx, dword [esi + 8]
je 0x568e38
mov edx, dword [0x67e9dc]
push edx
mov ecx, esi
call fcn.00579bb0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
mov eax, dword [0x67e9dc]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [esp + 0x110], edx
lea edx, [esp + 0x10c]
push edx
mov dword [esp + 0x110], eax
call fcn.005808e0
mov dword [0x67e9ec], 3
mov esi, dword [esp + 0x38c]
push esi
lea ecx, [esp + 0x74]
call fcn.0057c280
mov dword [esp + 0x3c], 1
mov dword [esp + 0x1c], 0
jmp 0x56a42c
cmp esi, 0x11
jne 0x56a42c
xor esi, esi
cmp dword [0x67e9ec], esi
je 0x56a194
cmp dword [esp + 0x1c], esi
je 0x569221
mov ebx, dword [esp + 0x18]
cmp ebx, 1
je 0x568ec8
cmp ebx, 3
je 0x568ec8
test byte [esp + 0x17], 2
je 0x568ea3
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
lea eax, [esp + 0x200]
jmp 0x568eff
lea ecx, [esp + 0x1fc]
push ecx
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
call fcn.00580950
add dword [0x67ea2c], 3
jmp 0x568f0e
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x200]
inc eax
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
lea eax, [esp + 0x208]
shl ecx, 4
add ecx, dword [0x67ea28]
push eax
call fcn.005808e0
cmp ebx, 2
je 0x568f65
cmp ebx, 3
je 0x568f65
test byte [esp + 0x17], 1
je 0x568f36
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
lea edx, [esp + 0x1dc]
mov dword [0x67e9ec], eax
push edx
jmp 0x568f9d
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
lea eax, [esp + 0x1d8]
push eax
call fcn.00580950
mov eax, dword [0x67e9ec]
mov ebx, 3
add eax, ebx
mov dword [0x67e9ec], eax
jmp 0x568fb5
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x1dc]
inc eax
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
mov dword [0x67e9ec], eax
lea eax, [esp + 0x1e4]
push eax
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ebx, 3
shl eax, 4
add eax, dword [0x67e9dc]
lea ecx, [esp + 0x268]
push eax
call fcn.00576090
add dword [0x67e9ec], ebx
mov ecx, edi
call fcn.005672e0
mov ecx, dword [0x67e9ec]
mov edx, dword [0x67e9dc]
mov eax, dword [edi + 0x34]
push esi
push ecx
push edx
mov ecx, edi
call eax
mov ecx, dword [0x67e9dc]
push ecx
mov ecx, dword [esp + 0x390]
mov dword [0x67e9ec], esi
call fcn.005759a0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
mov eax, dword [0x67e9dc]
mov dword [0x67e9ec], ebx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [esp + 0x108], edx
lea edx, [esp + 0x104]
push edx
mov dword [esp + 0x108], eax
call fcn.005808e0
mov ecx, dword [esp + 0x38c]
mov eax, dword [ecx + 0x24]
and byte [esp + 0x17], 4
cmp eax, dword [ecx + 0x28]
je 0x56a3ef
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x56a3e8
mov edx, dword [esp + 0x38c]
lea ecx, [esp + 0x2dc]
push ecx
sub esp, 0x2c
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
lea edi, [esp + 0x2c8]
call fcn.00573970
mov ecx, edi
call fcn.005638e0
add esp, 0x30
mov dword [esp + 0x30], eax
cmp eax, 4
jne 0x5691eb
lea eax, [esp + 0x2e8]
push eax
lea ecx, [esp + 0x2e4]
call fcn.00516c00
test eax, eax
je 0x5690f2
lea ecx, [esp + 0x2dc]
push ecx
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.00580950
add dword [0x67e9ec], ebx
jmp 0x569138
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x2e0]
inc eax
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
shl ecx, 4
add ecx, dword [0x67e9dc]
mov dword [0x67e9ec], eax
lea eax, [esp + 0x2e8]
push eax
call fcn.005808e0
lea ecx, [esp + 0x2a0]
push ecx
lea ecx, [esp + 0x29c]
call fcn.00516c00
test eax, eax
je 0x569174
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x294]
push edx
call fcn.00580950
add dword [0x67ea2c], ebx
jmp 0x5691ba
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [0x67ea2c], eax
lea eax, [esp + 0x298]
push eax
call fcn.005808e0
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x2a0]
inc eax
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
lea eax, [esp + 0x300]
push eax
lea ecx, [esp + 0x1dc]
call fcn.00519c60
lea ecx, [esp + 0x2b8]
push ecx
lea ecx, [esp + 0x200]
call fcn.00519c60
mov dword [esp + 0x18], esi
jmp 0x56a3aa
cmp eax, 2
jne 0x569218
lea edx, [esp + 0x2dc]
push edx
lea ecx, [esp + 0x1dc]
call fcn.00519c60
lea eax, [esp + 0x294]
push eax
lea ecx, [esp + 0x200]
call fcn.00519c60
mov dword [esp + 0x18], esi
jmp 0x56a3aa
push 0x3e8
lea ecx, [esp + 0x1d4]
push ecx
mov ecx, dword [esp + 0x394]
call fcn.0051a170
mov ecx, dword [esp + 0x38c]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov eax, dword [ecx + 0x24]
and byte [esp + 0x17], 4
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x6c], esi
cmp eax, dword [ecx + 0x28]
je 0x56931f
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x569318
mov edx, dword [esp + 0x38c]
lea ecx, [esp + 0x2dc]
push ecx
sub esp, 0x2c
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
lea esi, [esp + 0x2c8]
call fcn.00573970
mov ecx, esi
call fcn.005638e0
mov dword [esp + 0x60], eax
add esp, 0x30
lea eax, [esp + 0x2dc]
push eax
lea ecx, [esp + 0x1dc]
call fcn.00519c60
mov ecx, esi
push ecx
lea ecx, [esp + 0x200]
call fcn.00519c60
lea edx, [esp + 0x1e4]
push edx
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1c], 0
call fcn.0040ad00
test eax, eax
je 0x5692fa
mov dword [esp + 0x18], 2
lea eax, [esp + 0x208]
push eax
lea ecx, [esp + 0x204]
call fcn.0040ad00
test eax, eax
je 0x569340
inc dword [esp + 0x18]
jmp 0x569340
mov ecx, dword [esp + 0x38c]
lea edx, [esp + 0x1fc]
push edx
lea edi, [esp + 0x1dc]
mov esi, ecx
call fcn.00563740
mov edi, dword [esp + 0x6c]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x19c]
push edx
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x174]
push ecx
lea edx, [esp + 0xbc]
xor esi, esi
push edx
lea ecx, [esp + 0x84]
mov dword [esp + 0x30], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0xc0], ebx
call fcn.0057a710
test eax, eax
je 0x569ddd
mov ecx, dword [esp + 0x38c]
push 1
lea eax, [esp + 0x78]
push eax
call fcn.00578fb0
test eax, eax
jne 0x569ddd
cmp dword [esp + 0x38], 1
jne 0x569461
cmp dword [esp + 0x34], 3
je 0x569461
mov eax, dword [esp + 0x38c]
mov ecx, dword [eax + 0x24]
cmp ecx, dword [eax + 0x28]
je 0x569461
push 1
push esi
lea edx, [esp + 0x24]
push edx
sub esp, 0x2c
mov ecx, esp
mov dword [esp + 0x9c], esp
push eax
lea esi, [esp + 0x360]
lea edi, [esp + 0x214]
call fcn.00573970
sub esp, 0x1c
lea eax, [esp + 0xc4]
mov ecx, esp
mov dword [esp + 0xe0], esp
push eax
mov byte [esp + 0x500], 0x12
call fcn.00579570
mov byte [esp + 0x4fc], 0xe
call fcn.005640f0
add esp, 0x54
test eax, eax
jne 0x569461
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x74]
call fcn.0057b250
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x50]
inc eax
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov ebx, 1
lea edi, [ebx + 2]
cmp dword [esp + 0x34], ebx
jne 0x569522
cmp dword [esp + 0x38], edi
je 0x56952c
mov eax, dword [esp + 0x38c]
mov ecx, dword [eax + 0x24]
cmp ecx, dword [eax + 0x28]
je 0x569522
push 0
push 0
lea edx, [esp + 0x48]
push edx
sub esp, 0x2c
mov ecx, esp
mov dword [esp + 0xc4], esp
push eax
lea esi, [esp + 0x384]
lea edi, [esp + 0x238]
call fcn.00573970
sub esp, 0x1c
lea eax, [esp + 0xc4]
mov ecx, esp
mov dword [esp + 0xb8], esp
push eax
mov byte [esp + 0x500], 0x13
call fcn.00579570
mov byte [esp + 0x4fc], 0xe
call fcn.005640f0
add esp, 0x54
test eax, eax
jne 0x56951d
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x74]
call fcn.0057b400
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x50]
add eax, ebx
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
mov edi, 3
cmp dword [esp + 0x38], edi
jne 0x56998c
lea eax, [esp + 0x220]
push eax
lea ecx, [esp + 0x16c]
call fcn.00580b30
and byte [esp + 0x17], 0xfb
lea ecx, [esp + 0x1dc]
push ecx
lea edx, [esp + 0x228]
push edx
call fcn.00521130
add esp, 8
test eax, eax
je 0x569566
or byte [esp + 0x17], 4
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x224]
call fcn.0051b680
test byte [esp + 0x17], 4
je 0x5695a7
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x224]
add eax, ebx
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
jmp 0x5695c9
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
lea eax, [esp + 0x220]
push eax
call fcn.00580950
add dword [0x67e9ec], edi
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x74]
call fcn.0057b400
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x204]
call fcn.0051bd10
mov esi, eax
test esi, esi
jne 0x56965b
mov ecx, dword [esp + 0x38c]
mov edx, dword [ecx + 0x24]
cmp edx, dword [ecx + 0x28]
je 0x5697dd
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x5697d6
cmp dword [esp + 0x30], 4
jne 0x5697d6
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x2c0]
call fcn.0051bd10
mov esi, eax
test esi, esi
je 0x56965b
lea edx, [esp + 0x2b8]
push edx
lea ecx, [esp + 0x200]
call fcn.00519c60
mov dword [esp + 0x6c], ebx
cmp esi, ebx
jne 0x5696c5
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x114]
mov dword [esp + 0x114], eax
push edx
lea eax, [esp + 0x20c]
push eax
mov dword [esp + 0x120], ecx
call fcn.00521130
add esp, 8
test eax, eax
je 0x569696
or byte [esp + 0x17], 2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x124]
mov dword [esp + 0x124], ecx
push eax
lea ecx, [esp + 0x200]
mov dword [esp + 0x12c], edx
call fcn.0051b550
jmp 0x569e7a
cmp esi, 2
jne 0x5697d6
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.00527360
fstp qword [esp + 0x94]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.00527360
fcomp qword [esp + 0x9c]
add esp, 0x10
fnstsw ax
test ah, 0x41
jne 0x569770
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc4], edx
push ecx
lea edx, [esp + 0x20c]
push edx
mov dword [esp + 0xd0], eax
call fcn.00521130
add esp, 8
test eax, eax
je 0x569741
or byte [esp + 0x17], 2
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0xcc]
mov dword [esp + 0xd0], ecx
push edx
lea ecx, [esp + 0x200]
mov dword [esp + 0xd0], eax
call fcn.0051b550
jmp 0x569e7a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x14c]
mov dword [esp + 0x14c], eax
push edx
lea eax, [esp + 0x20c]
push eax
mov dword [esp + 0x158], ecx
call fcn.00521130
add esp, 8
test eax, eax
je 0x5697a7
or byte [esp + 0x17], 2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0xdc]
mov dword [esp + 0xdc], ecx
push eax
lea ecx, [esp + 0x200]
mov dword [esp + 0xe4], edx
call fcn.0051b550
jmp 0x569e7a
mov ecx, dword [esp + 0x38c]
mov edx, dword [ecx + 0x24]
cmp edx, dword [ecx + 0x28]
je 0x569966
lea eax, [esp + 0x168]
push eax
call fcn.005759a0
lea ecx, [esp + 0x220]
push ecx
lea ecx, [esp + 0x16c]
call fcn.00580b30
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x228]
call fcn.0051bd10
test eax, eax
je 0x569881
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x11c]
mov dword [esp + 0x11c], ecx
push eax
lea ecx, [esp + 0x224]
mov dword [esp + 0x124], edx
call fcn.0051b680
lea ecx, [esp + 0x220]
call fcn.0051b2a0
lea ecx, [esp + 0x220]
push ecx
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
call fcn.00580950
add dword [0x67ea2c], edi
jmp 0x569e7a
lea edx, [esp + 0x224]
push edx
lea ecx, [esp + 0x204]
call fcn.00516c00
test eax, eax
je 0x569940
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0x204]
push ecx
lea ecx, [esp + 0x24c]
call fcn.0051d250
push 0
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x250]
mov byte [esp + 0x4b4], 0x14
call fcn.0051e460
test eax, eax
mov eax, dword [0x67ea2c]
je 0x56990b
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x94], ecx
mov ecx, eax
add eax, ebx
mov dword [0x67ea2c], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x98], edx
push eax
jmp 0x569919
mov ecx, eax
add eax, ebx
lea edx, [esp + 0x50]
mov dword [0x67ea2c], eax
push edx
shl ecx, 4
add ecx, dword [0x67ea28]
call fcn.005808e0
lea ecx, [esp + 0x244]
mov byte [esp + 0x4a8], 0xe
call fcn.0051d2c0
jmp 0x569e7a
mov eax, dword [0x67ea2c]
mov ecx, eax
add eax, ebx
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [0x67ea2c], eax
lea eax, [esp + 0x50]
push eax
call fcn.005808e0
jmp 0x569e7a
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x50]
add eax, ebx
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
jmp 0x569e7a
cmp dword [esp + 0x34], edi
jne 0x569e7a
lea eax, [esp + 0x220]
push eax
lea ecx, [esp + 0x19c]
call fcn.00580b30
and byte [esp + 0x17], 0xfb
lea ecx, [esp + 0x200]
push ecx
lea edx, [esp + 0x228]
push edx
call fcn.00521130
add esp, 8
test eax, eax
je 0x5699d0
or byte [esp + 0x17], 4
lea eax, [esp + 0x200]
push eax
lea ecx, [esp + 0x224]
call fcn.0051b680
test byte [esp + 0x17], 4
je 0x569a11
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x224]
add eax, ebx
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
jmp 0x569a33
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
lea eax, [esp + 0x220]
push eax
call fcn.00580950
add dword [0x67ea2c], edi
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x74]
call fcn.0057b250
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1e0]
call fcn.0051bd10
mov esi, eax
test esi, esi
jne 0x569ac5
mov ecx, dword [esp + 0x38c]
mov edx, dword [ecx + 0x24]
cmp edx, dword [ecx + 0x28]
je 0x569c47
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x569c40
cmp dword [esp + 0x30], 4
jne 0x569c40
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x308]
call fcn.0051bd10
mov esi, eax
test esi, esi
je 0x569ac5
lea edx, [esp + 0x300]
push edx
lea ecx, [esp + 0x1dc]
call fcn.00519c60
mov dword [esp + 0x58], ebx
cmp esi, ebx
jne 0x569b2f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x13c]
mov dword [esp + 0x13c], eax
push edx
lea eax, [esp + 0x1e8]
push eax
mov dword [esp + 0x148], ecx
call fcn.00521130
add esp, 8
test eax, eax
je 0x569b00
or byte [esp + 0x17], 1
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0xfc]
mov dword [esp + 0xfc], ecx
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x104], edx
call fcn.0051b550
jmp 0x569e7a
cmp esi, 2
jne 0x569c40
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x80]
push edx
call fcn.00527360
fstp qword [esp + 0x94]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.00527360
fcomp qword [esp + 0x9c]
add esp, 0x10
fnstsw ax
test ah, 0x41
jne 0x569bda
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x12c]
mov dword [esp + 0x12c], edx
push ecx
lea edx, [esp + 0x1e8]
push edx
mov dword [esp + 0x138], eax
call fcn.00521130
add esp, 8
test eax, eax
je 0x569bab
or byte [esp + 0x17], 1
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0xbc]
mov dword [esp + 0xc0], ecx
push edx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xc0], eax
call fcn.0051b550
jmp 0x569e7a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], eax
push edx
lea eax, [esp + 0x1e8]
push eax
mov dword [esp + 0xc0], ecx
call fcn.00521130
add esp, 8
test eax, eax
je 0x569c11
or byte [esp + 0x17], 1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0xd4]
mov dword [esp + 0xd4], ecx
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xdc], edx
call fcn.0051b550
jmp 0x569e7a
mov ecx, dword [esp + 0x38c]
mov edx, dword [ecx + 0x24]
cmp edx, dword [ecx + 0x28]
je 0x569db7
lea eax, [esp + 0x198]
push eax
call fcn.005759a0
lea ecx, [esp + 0x220]
push ecx
lea ecx, [esp + 0x19c]
call fcn.00580b30
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x228]
call fcn.0051bd10
test eax, eax
je 0x569cdf
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0xe4]
mov dword [esp + 0xe4], ecx
push eax
lea ecx, [esp + 0x224]
mov dword [esp + 0xec], edx
call fcn.0051b550
lea ecx, [esp + 0x220]
push ecx
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.00580950
add dword [0x67e9ec], edi
jmp 0x569e7a
lea edx, [esp + 0x22c]
push edx
lea ecx, [esp + 0x1e0]
call fcn.00516c00
test eax, eax
je 0x569d91
lea eax, [esp + 0x22c]
push eax
lea ecx, [esp + 0x1e0]
push ecx
lea ecx, [esp + 0x24c]
call fcn.0051d250
push 0
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x250]
mov byte [esp + 0x4b4], 0x15
call fcn.0051e460
test eax, eax
mov eax, dword [0x67e9ec]
je 0x569d75
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xf4], ecx
mov ecx, eax
add eax, ebx
mov dword [0x67e9ec], eax
lea eax, [esp + 0xf4]
shl ecx, 4
add ecx, dword [0x67e9dc]
mov dword [esp + 0xf8], edx
push eax
jmp 0x569922
mov ecx, eax
add eax, ebx
lea edx, [esp + 0x50]
shl ecx, 4
add ecx, dword [0x67e9dc]
mov dword [0x67e9ec], eax
push edx
jmp 0x569922
mov eax, dword [0x67e9ec]
mov ecx, eax
add eax, ebx
shl ecx, 4
add ecx, dword [0x67e9dc]
mov dword [0x67e9ec], eax
lea eax, [esp + 0x50]
push eax
call fcn.005808e0
jmp 0x569e7a
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x50]
add eax, ebx
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
jmp 0x569e7a
mov eax, dword [0x67e9ec]
shl eax, 4
add eax, dword [0x67e9dc]
lea ecx, [esp + 0x70]
push eax
call fcn.00579f10
mov ebx, 3
add dword [0x67e9ec], ebx
mov ecx, edi
call fcn.005672e0
mov ecx, dword [0x67e9ec]
mov edx, dword [0x67e9dc]
mov eax, dword [edi + 0x34]
push esi
push ecx
push edx
mov ecx, edi
call eax
mov ecx, dword [0x67e9dc]
push ecx
mov ecx, dword [esp + 0x390]
mov dword [0x67e9ec], esi
call fcn.005759a0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
mov eax, dword [0x67e9dc]
mov dword [0x67e9ec], ebx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [esp + 0xa0], edx
lea edx, [esp + 0x9c]
push edx
mov dword [esp + 0xa0], eax
call fcn.005808e0
mov edi, ebx
mov ecx, dword [esp + 0x38c]
mov eax, dword [ecx + 0x24]
cmp eax, dword [ecx + 0x28]
je 0x56a121
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x56a121
cmp dword [esp + 0x30], 4
jne 0x56a121
cmp dword [esp + 0x6c], 0
jne 0x569fe1
cmp dword [esp + 0x40], 1
jne 0x569ee2
lea ecx, [esp + 0x348]
push ecx
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
call fcn.00580950
add dword [0x67ea2c], edi
lea edx, [esp + 0x1fc]
push edx
lea ecx, [esp + 0x248]
call fcn.0051afc0
lea eax, [esp + 0x2b8]
push eax
lea ecx, [esp + 0x200]
mov byte [esp + 0x4ac], 0x16
call fcn.00519c60
lea ecx, [esp + 0x208]
push ecx
lea ecx, [esp + 0x204]
call fcn.0040ad00
test eax, eax
je 0x569f4b
lea edx, [esp + 0x244]
push edx
lea ecx, [esp + 0x200]
call fcn.00519c60
mov dword [esp + 0x30], 2
jmp 0x569fcd
lea eax, [esp + 0x250]
push eax
lea ecx, [esp + 0x24c]
call fcn.00516c00
test eax, eax
je 0x569f87
lea ecx, [esp + 0x244]
push ecx
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
call fcn.00580950
add dword [0x67ea2c], edi
jmp 0x569fcd
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x248]
inc eax
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [0x67ea2c], eax
lea eax, [esp + 0x250]
push eax
call fcn.005808e0
lea ecx, [esp + 0x244]
mov byte [esp + 0x4a8], 0xe
call fcn.00518980
cmp dword [esp + 0x58], 0
jne 0x56a114
cmp dword [esp + 0x1c], 1
jne 0x56a015
lea ecx, [esp + 0x324]
push ecx
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.00580950
add dword [0x67e9ec], edi
lea edx, [esp + 0x1d8]
push edx
lea ecx, [esp + 0x248]
call fcn.0051afc0
lea eax, [esp + 0x300]
push eax
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x4ac], 0x17
call fcn.00519c60
lea ecx, [esp + 0x1e4]
push ecx
lea ecx, [esp + 0x1e0]
call fcn.0040ad00
test eax, eax
je 0x56a07e
lea edx, [esp + 0x244]
push edx
lea ecx, [esp + 0x1dc]
call fcn.00519c60
mov dword [esp + 0x30], 2
jmp 0x56a100
lea eax, [esp + 0x250]
push eax
lea ecx, [esp + 0x24c]
call fcn.00516c00
test eax, eax
je 0x56a0ba
lea ecx, [esp + 0x244]
push ecx
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.00580950
add dword [0x67e9ec], edi
jmp 0x56a100
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x248]
inc eax
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
shl ecx, 4
add ecx, dword [0x67e9dc]
mov dword [0x67e9ec], eax
lea eax, [esp + 0x250]
push eax
call fcn.005808e0
lea ecx, [esp + 0x244]
mov byte [esp + 0x4a8], 0xe
call fcn.00518980
mov dword [esp + 0x18], 0
jmp 0x56a3aa
mov eax, dword [esp + 0x38c]
mov ecx, dword [eax + 0x24]
cmp ecx, dword [eax + 0x28]
je 0x56a40c
mov esi, 1
cmp dword [esp + 0x1c], esi
jne 0x56a162
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x324]
push edx
call fcn.00580950
add dword [0x67e9ec], 3
cmp dword [esp + 0x40], esi
jne 0x56a40c
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
lea eax, [esp + 0x348]
push eax
call fcn.00580950
add dword [0x67ea2c], 3
jmp 0x56a40c
mov ecx, dword [0x67e9dc]
and byte [esp + 0x17], 4
push ecx
mov ecx, dword [esp + 0x390]
call fcn.005759a0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
mov eax, dword [0x67e9dc]
mov edi, 3
mov dword [0x67e9ec], edi
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [esp + 0xa8], edx
lea edx, [esp + 0xa4]
push edx
mov dword [esp + 0xa8], eax
call fcn.005808e0
mov ecx, dword [esp + 0x38c]
mov eax, dword [ecx + 0x24]
cmp eax, dword [ecx + 0x28]
je 0x56a3ef
call fcn.0051b430
fcomp qword [0x62e328]
fnstsw ax
test ah, 0x41
jne 0x56a3e8
mov edx, dword [esp + 0x38c]
lea ecx, [esp + 0x2dc]
push ecx
sub esp, 0x2c
mov ecx, esp
mov dword [esp + 0xbc], esp
push edx
lea esi, [esp + 0x2c8]
call fcn.00573970
mov ecx, esi
call fcn.005638e0
add esp, 0x30
mov dword [esp + 0x30], eax
cmp eax, 4
jne 0x56a37d
lea eax, [esp + 0x2e8]
push eax
lea ecx, [esp + 0x2e4]
call fcn.00516c00
test eax, eax
je 0x56a297
lea ecx, [esp + 0x2dc]
push ecx
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.00580950
add dword [0x67e9ec], edi
jmp 0x56a2dd
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x2e0]
inc eax
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
shl ecx, 4
add ecx, dword [0x67e9dc]
mov dword [0x67e9ec], eax
lea eax, [esp + 0x2e8]
push eax
call fcn.005808e0
lea ecx, [esp + 0x2a0]
push ecx
lea ecx, [esp + 0x29c]
call fcn.00516c00
test eax, eax
je 0x56a319
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x294]
push edx
call fcn.00580950
add dword [0x67ea2c], edi
jmp 0x56a35f
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
shl ecx, 4
add ecx, dword [0x67ea28]
mov dword [0x67ea2c], eax
lea eax, [esp + 0x298]
push eax
call fcn.005808e0
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x2a0]
inc eax
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
lea eax, [esp + 0x300]
push eax
lea ecx, [esp + 0x1dc]
call fcn.00519c60
lea ecx, [esp + 0x2b8]
push ecx
jmp 0x56a39e
cmp eax, 2
jne 0x56a3aa
lea edx, [esp + 0x2dc]
push edx
lea ecx, [esp + 0x1dc]
call fcn.00519c60
lea eax, [esp + 0x294]
push eax
lea ecx, [esp + 0x200]
call fcn.00519c60
lea ecx, [esp + 0x1e4]
push ecx
lea ecx, [esp + 0x1e0]
call fcn.0040ad00
test eax, eax
je 0x56a3ca
mov dword [esp + 0x18], 2
lea edx, [esp + 0x208]
push edx
lea ecx, [esp + 0x204]
call fcn.0040ad00
test eax, eax
je 0x56a40c
inc dword [esp + 0x18]
jmp 0x56a40c
mov ecx, dword [esp + 0x38c]
lea eax, [esp + 0x1fc]
push eax
lea edi, [esp + 0x1dc]
mov esi, ecx
call fcn.00563740
mov dword [esp + 0x1c], eax
add esp, 4
mov ecx, dword [esp + 0x38c]
push ecx
lea ecx, [esp + 0x26c]
call fcn.00573740
mov edi, dword [esp + 0x68]
mov dword [esp + 0x1c], 1
lea ecx, [esp + 0x36c]
call fcn.0056dbf0
mov edx, dword [esp + 0x378]
cmp edx, dword [esp + 0x37c]
jbe 0x568335
cmp dword [esp + 0x1c], 0
je 0x56a5b7
push 6
mov ecx, edi
call fcn.00540460
push 6
mov ecx, edi
call fcn.005639d0
mov esi, dword [esp + 0x18]
mov edi, 3
cmp esi, 2
je 0x56a4bc
cmp esi, edi
je 0x56a4bc
test byte [esp + 0x17], 1
je 0x56a498
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
mov dword [0x67e9ec], eax
lea eax, [esp + 0x1dc]
jmp 0x56a4f3
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
call fcn.00580950
add dword [0x67e9ec], edi
jmp 0x56a502
mov eax, dword [0x67e9ec]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67e9dc]
lea edx, [esp + 0x1dc]
inc eax
push edx
mov dword [0x67e9ec], eax
call fcn.005808e0
mov eax, dword [0x67e9ec]
mov ecx, eax
inc eax
mov dword [0x67e9ec], eax
lea eax, [esp + 0x1e4]
shl ecx, 4
add ecx, dword [0x67e9dc]
push eax
call fcn.005808e0
cmp esi, 1
je 0x56a54d
cmp esi, edi
je 0x56a54d
test byte [esp + 0x17], 2
je 0x56a529
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
lea edx, [esp + 0x200]
mov dword [0x67ea2c], eax
push edx
jmp 0x56a585
mov ecx, dword [0x67ea2c]
shl ecx, 4
add ecx, dword [0x67ea28]
lea eax, [esp + 0x1fc]
push eax
call fcn.00580950
add dword [0x67ea2c], edi
jmp 0x56a593
mov eax, dword [0x67ea2c]
mov ecx, eax
shl ecx, 4
add ecx, dword [0x67ea28]
lea edx, [esp + 0x200]
inc eax
push edx
mov dword [0x67ea2c], eax
call fcn.005808e0
mov eax, dword [0x67ea2c]
mov ecx, eax
inc eax
mov dword [0x67ea2c], eax
lea eax, [esp + 0x208]
push eax
shl ecx, 4
add ecx, dword [0x67ea28]
call fcn.005808e0
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
push ecx
lea ecx, [esp + 0x26c]
call fcn.00576090
add dword [0x67e9ec], edi
jmp 0x56a5f5
cmp dword [esp + 0x3c], 0
je 0x56a5f5
mov edx, dword [esp + 0x7c]
cmp edx, dword [esp + 0x74]
jne 0x56a5d5
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x78]
je 0x56a5f5
mov ecx, dword [0x67e9ec]
shl ecx, 4
add ecx, dword [0x67e9dc]
push ecx
lea ecx, [esp + 0x74]
call fcn.00579f10
add dword [0x67e9ec], 3
mov esi, dword [esp + 0x68]
mov ecx, esi
call fcn.005672e0
mov edx, dword [0x67e9ec]
mov eax, dword [0x67e9dc]
push 0
push edx
mov edx, dword [esi + 0x34]
push eax
mov ecx, esi
call edx
mov dword [0x67e9ec], 0
lea ecx, [esp + 0x348]
mov byte [esp + 0x4a8], 0xd
call fcn.00518980
lea ecx, [esp + 0x324]
mov byte [esp + 0x4a8], 0xc
call fcn.00518980
lea ecx, [esp + 0x220]
mov byte [esp + 0x4a8], 0xb
call fcn.00518980
lea ecx, [esp + 0x154]
mov byte [esp + 0x4a8], 0xa
call fcn.0051d2c0
lea ecx, [esp + 0x44]
mov byte [esp + 0x4a8], 9
call fcn.0051d2c0
push fcn.004ed1b0
push 3
push 0x10
lea eax, [esp + 0x1a4]
push eax
mov byte [esp + 0x4b8], 8
call fcn.005f61f4
push fcn.004ed1b0
push 3
push 0x10
lea ecx, [esp + 0x174]
push ecx
mov byte [esp + 0x4b8], 7
call fcn.005f61f4
push fcn.00518980
push 2
push 0x24
lea edx, [esp + 0x2a0]
push edx
mov byte [esp + 0x4b8], 6
call fcn.005f61f4
push fcn.00518980
push 2
push 0x24
lea eax, [esp + 0x2e8]
push eax
mov byte [esp + 0x4b8], 5
call fcn.005f61f4
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x4a8], 4
call fcn.00518980
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x4a8], 3
call fcn.00518980
lea ecx, [esp + 0x268]
mov byte [esp + 0x4a8], 2
call fcn.0056f230
lea ecx, [esp + 0x70]
mov byte [esp + 0x4a8], 1
call fcn.005795a0
lea ecx, [esp + 0x36c]
mov dword [esp + 0x4a8], 0xffffffff
call fcn.0056cc30
mov ecx, dword [esp + 0x4a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x488]
xor ecx, esp
call fcn.005f617e
mov esp, ebp
pop ebp
ret 8