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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x48
push 0
push 0
dec ecx
jne 0x55ee3d
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x28]
mov edx, dword [0x514e68]
call fcn.00405ea4
lea eax, [ebp - 0x38]
mov edx, dword [0x514ec8]
call fcn.00405ea4
lea eax, [ebp - 0x48]
mov edx, dword [0x514e10]
call fcn.00405ea4
xor eax, eax
push ebp
push 0x562d3e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x289], 0
je 0x562cb9
xor eax, eax
push ebp
push 0x55eec3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55eed7
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
mov ebx, eax
movzx ecx, bl
cmp ecx, 0x84
jg 0x55ef9d
je case.0x55efba.135
cmp ecx, 0x43
jg 0x55ef36
je 0x560be8
cmp ecx, 0x1f
jg 0x55ef1f
je 0x55f59c
dec ecx
je 0x55f013
sub ecx, 4
je 0x55f036
jmp case.0x55efba.136
sub ecx, 0x31
je 0x560e09
sub ecx, 0x11
je 0x560a1b
jmp case.0x55efba.136
add ecx, 0xffffffa3
cmp ecx, 0x14
ja case.0x55efba.136
jmp dword [ecx*4 + 0x55ef49]
cmp ecx, 0x91
jg 0x55efe9
je 0x5622ca
add ecx, 0xffffff7a
cmp ecx, 9
ja case.0x55efba.136
jmp dword [ecx*4 + 0x55efc1]
sub ecx, 0x9a
je 0x56237c
sub ecx, 0x34
je 0x562396
dec ecx
je 0x562833
sub ecx, 0x1d
je 0x562939
jmp case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x8a], 1
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov word [eax + 0x9e], 0
jmp case.0x55efba.136
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
cmp byte [eax + 0x140], 0
jne case.0x55efba.136
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x58]
add edx, 3
call fcn.00405430
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x58]
add eax, 2
movzx ecx, byte [eax]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x58]
inc eax
cmp byte [eax], 4
jne 0x55f1d4
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xba0]
call fcn.004e3ea8
test al, al
je 0x55f1d4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
call fcn.0055ebc4
test al, al
je 0x55f1d4
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0x3e8
jle 0x55f12a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x360]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x4c]
cmp eax, dword [edx + 0x370]
je 0x55f0f2
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov edx, dword [eax]
call dword [edx + 0xf0]
jmp 0x55f12a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0x7d0
jle 0x55f12a
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x55f12a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov edx, dword [eax]
call dword [edx + 0xf0]
call fcn.0040c6c0
fstp qword [ebp - 0x80]
wait
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
lea eax, [ebp - 0x10]
mov edx, 0x562d58
call fcn.0040d2c0
push dword [ebp - 0x10]
push 0x562d70
push dword [ebp - 4]
lea eax, [ebp - 0x104]
mov edx, 3
call fcn.004055cc
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
call fcn.0040c6c0
fstp qword [ebp - 0x88]
wait
push dword [ebp - 0x84]
push dword [ebp - 0x88]
lea eax, [ebp - 0x14]
mov edx, 0x562d58
call fcn.0040d2c0
push 0x562d7c
push dword [ebp - 0x14]
push 0x562d70
push dword [ebp - 4]
lea eax, [ebp - 0x108]
mov edx, 4
call fcn.004055cc
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe04]
call fcn.0053db68
mov edx, dword [ebp - 4]
mov eax, 0x562d90
call fcn.00405814
test eax, eax
jle 0x55f209
mov edx, dword [ebp - 4]
mov eax, 0x562da4
call fcn.00405814
test eax, eax
jle 0x55f209
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x454], 1
jmp 0x55f28d
mov edx, dword [ebp - 4]
mov eax, 0x562db0
call fcn.00405814
test eax, eax
jle 0x55f22a
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x1f2], 1
jmp 0x55f28d
mov edx, dword [ebp - 4]
mov eax, 0x562dc4
call fcn.00405814
test eax, eax
jg 0x55f24c
mov edx, dword [ebp - 4]
mov eax, 0x562dd4
call fcn.00405814
test eax, eax
jle 0x55f28d
mov edx, dword [ebp - 4]
mov eax, 0x562de4
call fcn.00405814
test eax, eax
jg 0x55f27f
mov edx, dword [ebp - 4]
mov eax, 0x562df0
call fcn.00405814
test eax, eax
jg 0x55f27f
mov edx, dword [ebp - 4]
mov eax, 0x562dfc
call fcn.00405814
test eax, eax
jle 0x55f28d
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x17d], 1
mov edx, dword [ebp - 4]
mov eax, 0x562e0c
call fcn.00405814
mov ebx, eax
test ebx, ebx
jle 0x55f3ca
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 4]
call fcn.00409e20
mov edx, dword [ebp - 0x10c]
lea eax, [ebp - 4]
call fcn.004052d0
mov edx, dword [ebp - 4]
mov eax, 0x562d70
call fcn.00405814
mov ebx, eax
test ebx, ebx
jle 0x55f2e7
lea eax, [ebp - 4]
push eax
lea edx, [ebx + 2]
mov ecx, 0x7fffffff
mov eax, dword [ebp - 4]
call fcn.00405730
mov edx, dword [ebp - 4]
mov eax, 0x562e20
call fcn.00405814
mov ebx, eax
test ebx, ebx
jle 0x55f30e
lea eax, [ebp - 4]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov edx, dword [ebp - 4]
mov eax, 0x562e2c
call fcn.00405814
mov ebx, eax
test ebx, ebx
jle 0x55f335
lea eax, [ebp - 4]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 4]
call fcn.00409e20
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.004052d0
movzx eax, byte [0x562e30]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x11c]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x11c]
xor ecx, ecx
mov edx, 0x562e3c
call fcn.0040f970
mov eax, dword [ebp - 0x118]
lea edx, [ebp - 0x114]
call fcn.00409e20
mov edx, dword [ebp - 0x114]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x1b0
call fcn.0040528c
call fcn.004bd2e4
mov ecx, dword [0x5a0c0c]
mov ecx, dword [ecx]
mov dword [ecx + 0x1b8], eax
mov dword [ecx + 0x1bc], edx
mov eax, dword [ebp - 0x58]
inc eax
movzx ebx, byte [eax]
cmp ebx, 1
jne 0x55f48c
mov edx, dword [ebp - 4]
mov eax, 0x562e48
call fcn.00405814
test eax, eax
jg 0x55f40d
mov edx, dword [ebp - 4]
mov eax, 0x562e54
call fcn.00405814
test eax, eax
jg 0x55f40d
mov edx, dword [ebp - 4]
mov eax, 0x562e64
call fcn.00405814
test eax, eax
jle 0x55f431
mov edx, dword [ebp - 4]
mov eax, 0x562e74
call fcn.00405814
test eax, eax
jle 0x55f431
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1c4], 2
jmp 0x55f464
mov edx, dword [ebp - 4]
mov eax, 0x562e84
call fcn.00405814
test eax, eax
jle 0x55f464
mov edx, dword [ebp - 4]
mov eax, 0x562e74
call fcn.00405814
test eax, eax
jle 0x55f464
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1c4], 1
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x350], 0
je case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
call fcn.0051c974
jmp case.0x55efba.136
cmp ebx, 2
jne case.0x55efba.136
mov edx, dword [ebp - 4]
mov eax, 0x562e94
call fcn.00405814
test eax, eax
jle 0x55f4bb
mov edx, dword [ebp - 4]
mov eax, 0x562ea4
call fcn.00405814
test eax, eax
jg case.0x55efba.136
mov edx, dword [ebp - 4]
mov eax, 0x562eb4
call fcn.00405814
test eax, eax
jle 0x55f560
mov edx, dword [ebp - 4]
mov eax, 0x562ec0
call fcn.00405814
test eax, eax
jle 0x55f560
mov edx, dword [ebp - 4]
mov eax, 0x562e94
call fcn.00405814
test eax, eax
jle 0x55f536
mov edx, dword [ebp - 4]
mov eax, 0x562ed0
call fcn.00405814
mov edi, eax
test edi, edi
jle case.0x55efba.136
lea eax, [ebp - 0x120]
push eax
mov ecx, 0xa
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00405730
mov edx, dword [ebp - 0x120]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00515c8c
jmp case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x1c1], 0
je case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1c4], 3
jmp case.0x55efba.136
mov edx, dword [ebp - 4]
mov eax, 0x562edc
call fcn.00405814
test eax, eax
jg 0x55f586
mov edx, dword [ebp - 4]
mov eax, 0x562eec
call fcn.00405814
test eax, eax
jle case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1c4], 2
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, word [eax]
cmp ax, 0x201
jne 0x56070a
xor edx, edx
push ebp
push 0x5606fb
push dword fs:[edx]
mov dword fs:[edx], esp
mov ebx, dword [ebp - 0x58]
add ebx, 7
movzx eax, byte [ebx]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0xc]
mov edx, ebx
inc edx
call fcn.00405430
cmp dword [ebp - 0xc], 0
je 0x55f5ec
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x64]
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00405730
mov eax, dword [ebp - 0xc]
mov edx, 0x562efc
call fcn.00405660
jne 0x55f608
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x562cb9
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
test eax, eax
je 0x55f620
sub eax, 0x9a
jne 0x55f665
mov eax, dword [ebp - 0x58]
add eax, 0xa
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx edi, byte [eax]
mov eax, dword [ebp - 0x58]
add eax, 0xa
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
mov edx, eax
lea eax, [ebp - 4]
call fcn.00405430
jmp 0x55f6a8
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx edi, byte [eax]
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
mov edx, eax
lea eax, [ebp - 4]
call fcn.00405430
cmp dword [ebp - 4], 0
je 0x55f6c1
lea eax, [ebp - 4]
push eax
mov ecx, edi
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
lea edx, [ebp - 0x124]
mov eax, dword [ebp - 0xc]
call fcn.00409e20
cmp dword [ebp - 0x124], 0
je 0x55f721
lea edx, [ebp - 0x128]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00519744
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0xc]
call fcn.00405660
je 0x55f721
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
movzx eax, ax
mov edx, dword [ebp - 0x58]
add edx, 3
cmp eax, dword [edx]
je 0x55f721
mov eax, dword [ebp - 0x58]
add eax, 3
cmp dword [eax], 0xff
jae 0x55f765
mov edx, dword [ebp - 4]
mov eax, 0x562f0c
call fcn.00405814
test eax, eax
jle 0x55f765
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1ec], 1
mov edx, dword [ebp - 4]
mov eax, 0x562f1c
call fcn.00405814
test eax, eax
jle 0x55f765
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1ec], 2
mov edx, dword [ebp - 4]
mov eax, 0x562f2c
call fcn.00405814
test eax, eax
jle 0x55f85f
mov edx, dword [ebp - 4]
mov eax, 0x562f3c
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562f50
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562f64
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562f78
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562f8c
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562fa0
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562fb4
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562fc8
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562fdc
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x562ff0
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x563004
call fcn.00405814
test eax, eax
jg 0x55f856
mov edx, dword [ebp - 4]
mov eax, 0x563018
call fcn.00405814
test eax, eax
jle 0x55f85f
mov eax, dword [0x5a0690]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x6b0]
call fcn.004e3ea8
test al, al
je 0x55f8b5
mov edx, dword [ebp - 4]
mov eax, 0x562e74
call fcn.00405814
test eax, eax
jle 0x55f8b5
mov edx, dword [ebp - 4]
mov eax, 0x562eb4
call fcn.00405814
test eax, eax
jle 0x55f8b5
mov edx, dword [ebp - 4]
mov eax, 0x562e48
call fcn.00405814
test eax, eax
jle 0x55f8b5
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1c4], 3
mov eax, dword [ebp - 0x58]
add eax, 3
movzx eax, word [eax]
sub ax, 2
jae 0x55fb9e
mov eax, dword [ebp - 4]
test eax, eax
je 0x55f8d4
sub eax, 4
mov eax, dword [eax]
cmp eax, 0x12
jle 0x55fb9e
lea eax, [ebp - 0x130]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x12c]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x12c]
mov edx, 0x56303c
call fcn.00409d28
test al, al
jne 0x55f9ae
lea eax, [ebp - 0x138]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x138]
lea ecx, [ebp - 0x134]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x134]
mov edx, 0x563050
call fcn.00409d28
test al, al
jne 0x55f9ae
lea eax, [ebp - 0x140]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x13c]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x13c]
mov edx, 0x563064
call fcn.00409d28
test al, al
je 0x55fb65
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x35c], 1
xor eax, eax
push ebp
push 0x55faa5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x58]
add eax, 2
mov byte [eax], 1
call fcn.004bd2e4
push edx
push eax
lea eax, [ebp - 0x14c]
call fcn.0040a2b0
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 0x148]
call fcn.00478b98
mov eax, dword [ebp - 0x148]
lea edx, [ebp - 0x144]
call fcn.00409b08
mov edx, dword [ebp - 0x144]
lea eax, [ebp - 8]
mov ecx, 0x563078
call fcn.00405550
lea eax, [ebp - 8]
call fcn.00405728
mov edx, dword [ebp - 0x58]
add edx, 8
mov ecx, dword [ebp - 0x64]
call fcn.00403170
mov eax, dword [ebp - 4]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x55fa53
mov eax, dword [ebp - 0x8c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x20
jle 0x55fa69
mov dword [ebp - 0x60], 0x20
lea eax, [ebp - 8]
call fcn.00405728
push eax
mov eax, dword [ebp - 0x58]
add eax, 0xa
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
mov edx, eax
mov ecx, dword [ebp - 0x60]
pop eax
call fcn.00403170
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55faaf
lea eax, [ebp - 0x154]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x150]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x150]
mov edx, 0x563064
call fcn.00409d28
test al, al
je 0x55fb9e
call fcn.004ba48c
test al, al
je 0x55fb9e
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x15c]
push eax
mov ecx, 0x7fffffff
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x158]
mov edx, 0x56302c
call fcn.004bb758
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x55fb9e
lea eax, [ebp - 0x160]
push eax
mov ecx, 0x7fffffff
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x160]
mov edx, 0x5630b0
call fcn.00405660
jne 0x55fb9e
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x3cc], 1
mov eax, dword [ebp - 0x58]
add eax, 3
cmp word [eax], 1
jne 0x560649
cmp dword [ebp - 0xc], 0
je 0x560649
lea edx, [ebp - 0x164]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00519744
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0xc]
call fcn.00405660
je 0x560649
mov eax, dword [ebp - 4]
mov edx, 0x5630bc
call fcn.00405660
jne 0x55fd2e
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x590], 2
jne 0x55fcbe
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xc04]
call fcn.004e3ea8
test al, al
je 0x55fcbe
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x428]
mov edx, dword [eax]
call dword [edx + 0xdc]
test eax, eax
jle 0x55fcbe
lea edx, [ebp - 0x168]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00519744
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0xc]
call fcn.00405660
je 0x55fcbe
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.0051a2a4
test al, al
jne 0x55fcbe
lea edx, [ebp - 0xc]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.0051a5cc
test al, al
jne 0x55fcbe
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.0051b698
cmp eax, 8
jge 0x55fcbe
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xbec]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
jl 0x55fcbe
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde8]
add eax, 0xbc
mov edx, dword [ebp - 0xc]
call fcn.0040528c
lea eax, [ebp - 4]
mov edx, 0x5630e0
call fcn.004052d0
mov eax, dword [ebp - 4]
test eax, eax
je 0x55fcd7
sub eax, 4
mov eax, dword [eax]
mov edi, eax
mov esi, edi
test esi, esi
jle 0x5606ee
mov ebx, 1
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
mov edx, dword [ebp - 4]
movzx edx, byte [edx + ebx - 1]
mov byte [eax], dl
inc ebx
dec esi
jne 0x55fce8
jmp 0x5606ee
mov eax, dword [ebp - 4]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x55fd51
mov eax, dword [ebp - 0x90]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x12
jle 0x55fd9e
lea eax, [ebp - 0x170]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x170]
lea ecx, [ebp - 0x16c]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x16c]
mov edx, 0x563050
call fcn.00405660
sete al
jmp 0x55fda0
xor eax, eax
test al, al
je 0x55fdbd
mov eax, dword [0x5a0844]
mov eax, dword [eax]
add eax, 0x220
mov edx, dword [ebp - 0xc]
call fcn.0040528c
jmp 0x5606ee
mov eax, dword [ebp - 4]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x55fde0
mov eax, dword [ebp - 0x94]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x12
jle 0x55fe31
lea eax, [ebp - 0x178]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x178]
lea ecx, [ebp - 0x174]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x174]
mov edx, 0x5630fc
call fcn.00405660
sete byte [ebp - 0x95]
jmp 0x55fe38
mov byte [ebp - 0x95], 0
cmp byte [ebp - 0x95], 0
je 0x55fed4
lea eax, [ebp - 0x17c]
push eax
mov ecx, 0x7fffffff
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x17c]
mov edx, 0x563110
call fcn.00405660
jne 0x55fe83
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x74], 1
jmp 0x5606ee
lea eax, [ebp - 0x180]
push eax
mov ecx, 0x7fffffff
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x180]
mov edx, 0x56311c
call fcn.00405660
jne 0x55fec1
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x74], 3
jmp 0x5606ee
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x74], 2
jmp 0x5606ee
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x878]
call fcn.004e3ea8
test al, al
je 0x55ff19
mov eax, dword [ebp - 4]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x55ff09
mov eax, dword [ebp - 0x9c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x12
setg byte [ebp - 0x9d]
jmp 0x55ff20
mov byte [ebp - 0x9d], 0
cmp byte [ebp - 0x9d], 0
je 0x55ff71
lea eax, [ebp - 0x188]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x184]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x184]
mov edx, 0x56312c
call fcn.00405660
sete byte [ebp - 0x9e]
jmp 0x55ff78
mov byte [ebp - 0x9e], 0
cmp byte [ebp - 0x9e], 0
je 0x5602b7
lea eax, [ebp - 4]
push eax
mov ecx, 0x7fffffff
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
cmp byte [eax + 0xb8], 0
jne 0x560032
mov eax, dword [ebp - 4]
mov edx, 0x563140
call fcn.00405660
jne 0x560032
lea edx, [ebp - 0x100]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov ecx, 0xa
call fcn.00515660
test al, al
je 0x560032
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x18c]
mov edx, 0x56302c
mov eax, 0x5630fc
call fcn.004bbd74
lea eax, [ebp - 0x18c]
mov edx, 0x563110
call fcn.00405504
mov ecx, dword [ebp - 0x18c]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, 2
call fcn.0051a174
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x78
mov edx, dword [ebp - 0xc]
call fcn.0040528c
jmp 0x5606ee
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
cmp byte [eax + 0xb8], 0
jne 0x56013f
lea eax, [ebp - 0x190]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x190]
mov edx, 0x56314c
call fcn.00405660
jne 0x56013f
lea ecx, [ebp - 0x100]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, 0x563158
call fcn.005179dc
test al, al
je 0x5600fa
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x194]
mov edx, 0x56302c
mov eax, 0x5630fc
call fcn.004bbd74
lea eax, [ebp - 0x194]
mov edx, 0x563110
call fcn.00405504
mov ecx, dword [ebp - 0x194]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, 2
call fcn.0051a174
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x7c
mov edx, dword [ebp - 0xc]
call fcn.0040528c
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x80], 0x65
jmp 0x5606ee
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x198]
mov edx, 0x56302c
mov eax, 0x5630fc
call fcn.004bbd74
lea eax, [ebp - 0x198]
mov edx, 0x5630b0
call fcn.00405504
mov ecx, dword [ebp - 0x198]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, 2
call fcn.0051a174
jmp 0x5606ee
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
cmp byte [eax + 0xb8], 0
jne 0x560272
lea eax, [ebp - 0x19c]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x19c]
mov edx, 0x56316c
call fcn.00405660
jne 0x560272
lea eax, [ebp - 4]
push eax
mov ecx, 0x7fffffff
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.00405730
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0040a36c
mov edi, eax
mov eax, dword [0x5a0738]
mov eax, dword [eax]
xor edx, edx
call fcn.0051a4d4
mov ebx, eax
test ebx, 3
jle 0x5601c1
or ebx, 3
test edi, edi
jle 0x56022d
test ebx, edi
jle 0x56022d
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x1a0]
mov edx, 0x56302c
mov eax, 0x5630fc
call fcn.004bbd74
lea eax, [ebp - 0x1a0]
mov edx, 0x563110
call fcn.00405504
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, 2
call fcn.0051a174
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x7c
mov edx, dword [ebp - 0xc]
call fcn.0040528c
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x80], edi
jmp 0x5606ee
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x1a4]
mov edx, 0x56302c
mov eax, 0x5630fc
call fcn.004bbd74
lea eax, [ebp - 0x1a4]
mov edx, 0x5630b0
call fcn.00405504
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, 2
call fcn.0051a174
jmp 0x5606ee
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x1a8]
mov edx, 0x56302c
mov eax, 0x5630fc
call fcn.004bbd74
lea eax, [ebp - 0x1a8]
mov edx, 0x5630b0
call fcn.00405504
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, 2
call fcn.0051a174
jmp 0x5606ee
mov eax, dword [ebp - 4]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
je 0x5602da
mov eax, dword [ebp - 0xa4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x12
jle 0x56032a
lea eax, [ebp - 0x1b0]
push eax
mov ecx, 0x12
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x1ac]
mov edx, 0x56302c
call fcn.004bb758
mov eax, dword [ebp - 0x1ac]
mov edx, 0x563178
call fcn.00409d28
mov byte [ebp - 0xa5], al
jmp 0x560331
mov byte [ebp - 0xa5], 0
cmp byte [ebp - 0xa5], 0
je 0x560475
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x50
mov edx, dword [ebp - 0xc]
call fcn.0040528c
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x4c
push eax
mov ecx, 0x7fffffff
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.00405730
mov edx, 7
mov eax, dword [ebp - 0x4c]
call fcn.00568af0
xor eax, eax
push ebp
push 0x560466
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x58]
add eax, 2
mov byte [eax], 1
call fcn.004bd2e4
push edx
push eax
lea eax, [ebp - 0x1bc]
call fcn.0040a2b0
mov eax, dword [ebp - 0x1bc]
lea edx, [ebp - 0x1b8]
call fcn.00478b98
mov eax, dword [ebp - 0x1b8]
lea edx, [ebp - 0x1b4]
call fcn.00409b08
mov edx, dword [ebp - 0x1b4]
lea eax, [ebp - 8]
mov ecx, 0x56318c
call fcn.00405550
lea eax, [ebp - 8]
call fcn.00405728
mov edx, dword [ebp - 0x58]
add edx, 8
mov ecx, dword [ebp - 0x64]
call fcn.00403170
mov eax, dword [ebp - 4]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x560411
mov eax, dword [ebp - 0xac]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x20
jle 0x560427
mov dword [ebp - 0x60], 0x20
lea eax, [ebp - 8]
call fcn.00405728
push eax
mov eax, dword [ebp - 0x58]
add eax, 0xa
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
mov edx, eax
mov ecx, dword [ebp - 0x60]
pop eax
call fcn.00403170
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5606ee
mov edx, dword [ebp - 4]
mov eax, 0x5631bc
call fcn.00405814
test eax, eax
jne 0x5606ee
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xba0]
call fcn.004e3ea8
test al, al
je 0x560577
call fcn.0040c6c0
fstp qword [ebp - 0xb8]
wait
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
lea eax, [ebp - 0x18]
mov edx, 0x562d58
call fcn.0040d2c0
push dword [ebp - 0x18]
push dword [ebp - 0xc]
push 0x5631c8
push dword [ebp - 4]
lea eax, [ebp - 4]
mov edx, 4
call fcn.004055cc
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0x3e8
jle 0x560560
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x360]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x4c]
cmp eax, dword [edx + 0x370]
je 0x560528
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov edx, dword [eax]
call dword [edx + 0xf0]
jmp 0x560560
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0x7d0
jle 0x560560
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x560560
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov edx, dword [eax]
call dword [edx + 0xf0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x69c]
call fcn.004e3ea8
test al, al
je 0x5606ee
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xbec]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
jge 0x5606ee
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x1a4
mov edx, dword [ebp - 0xc]
call fcn.0040528c
call fcn.0040342c
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x6a4]
mov eax, dword [eax + 0x270]
mov edx, dword [eax]
call dword [edx + 0x14]
call fcn.00403454
mov edx, eax
lea ecx, [ebp - 0x1c0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x6a4]
mov eax, dword [eax + 0x270]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c0]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.0052dd38
call fcn.004bd2e4
mov ecx, dword [0x5a0c0c]
mov ecx, dword [ecx]
mov dword [ecx + 0x198], eax
mov dword [ecx + 0x19c], edx
push 0x5631dc
push 2
push 1
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov ecx, 0x562efc
mov edx, 1
call fcn.0052e018
jmp 0x5606ee
mov eax, dword [ebp - 0x58]
add eax, 3
cmp word [eax], 0
jne 0x5606ee
mov eax, dword [ebp - 4]
mov edx, 0x5630bc
call fcn.00405660
jne 0x5606ee
lea eax, [ebp - 4]
mov edx, 0x563240
call fcn.004052d0
mov eax, dword [ebp - 4]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x56069c
mov eax, dword [ebp - 0xbc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov edi, dword [ebp - 0xbc]
mov esi, edi
test esi, esi
jle 0x5606ee
mov ebx, 1
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
mov edx, dword [ebp - 4]
movzx edx, byte [edx + ebx - 1]
mov byte [eax], dl
inc ebx
dec esi
jne 0x5606ad
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp case.0x55efba.136
cmp ax, 0x2501
jne case.0x55efba.136
mov eax, dword [ebp - 0x58]
add eax, 7
movzx eax, byte [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx edi, byte [eax]
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
mov edx, eax
lea eax, [ebp - 4]
call fcn.00405430
lea eax, [ebp - 4]
push eax
mov ecx, edi
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [0x5a0844]
mov eax, dword [eax]
add eax, 0x1c4
mov edx, dword [ebp - 4]
call fcn.0040528c
mov edx, dword [ebp - 4]
mov eax, 0x56325c
call fcn.00405814
test eax, eax
jg 0x5607c9
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe20]
mov edx, dword [ebp - 4]
call fcn.00405814
test eax, eax
jg 0x5607c9
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe1c]
mov edx, dword [ebp - 4]
call fcn.00405814
test eax, eax
jle 0x56085a
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov dword [eax + 0x5ac], 6
mov eax, dword [0x5a0690]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x560806
mov eax, dword [ebp - 0xc0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov edi, dword [ebp - 0xc0]
mov esi, edi
test esi, esi
jle case.0x55efba.136
mov ebx, 1
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
mov byte [eax], 0x72
inc ebx
dec esi
jne 0x56081b
jmp case.0x55efba.136
mov edx, dword [ebp - 4]
mov eax, 0x563278
call fcn.00405814
test eax, eax
jg 0x56087c
mov edx, dword [ebp - 4]
mov eax, 0x563294
call fcn.00405814
test eax, eax
jle 0x5608f3
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x56089f
mov eax, dword [ebp - 0xc4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov edi, dword [ebp - 0xc4]
mov esi, edi
test esi, esi
jle case.0x55efba.136
mov ebx, 1
mov eax, dword [ebp - 0x58]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
mov byte [eax], 0x31
inc ebx
dec esi
jne 0x5608b4
jmp case.0x55efba.136
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xa5c]
call fcn.004e3ea8
test al, al
je case.0x55efba.136
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x58]
add edx, 7
inc edx
call fcn.00405430
call fcn.0040c6c0
fstp qword [ebp - 0xd0]
wait
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
lea eax, [ebp - 0x1c]
mov edx, 0x5632ac
call fcn.0040d2c0
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push 0x5632c0
push dword [ebp - 4]
lea eax, [ebp - 4]
mov edx, 4
call fcn.004055cc
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0x3e8
jle 0x5609d8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x360]
mov eax, dword [eax + 0x2b4]
mov edx, dword [ebp - 0x4c]
cmp eax, dword [edx + 0x370]
je 0x5609a0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov edx, dword [eax]
call dword [edx + 0xf0]
jmp 0x5609d8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0x7d0
jle 0x5609d8
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x5609d8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov edx, dword [eax]
call dword [edx + 0xf0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x4c8]
mov eax, dword [eax + 0x270]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x1c4]
mov ecx, dword [ebp - 4]
mov edx, 0x562d7c
call fcn.00405550
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe04]
call fcn.0053db68
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
add eax, 4
movzx eax, byte [eax]
dec eax
sub al, 2
jae case.0x55efba.136
mov eax, dword [ebp - 0x58]
add eax, 5
movzx eax, word [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x634]
call fcn.004e3ea8
test al, al
jne 0x560a61
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x614]
call fcn.004e3ea8
test al, al
je 0x560bb6
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
add eax, 0xffffffce
sub eax, 0x32
jb 0x560bb6
mov eax, dword [ebp - 0x58]
add eax, 2
movzx eax, word [eax]
mov edx, dword [ebp - 0x4c]
cmp ax, word [edx + 0xe36]
jne 0x560bb6
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0x4c]
movzx edx, word [eax + 0xe36]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.00522468
test al, al
je case.0x55efba.136
mov eax, dword [ebp - 0x68]
call fcn.0053051c
mov edi, eax
sub edi, dword [ebp - 0x64]
test edi, edi
jge 0x560ac7
xor edi, edi
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x634]
call fcn.004e3ea8
test al, al
je 0x560ae5
mov cl, 1
mov edx, edi
mov eax, dword [ebp - 0x68]
call fcn.00530744
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x614]
call fcn.004e3ea8
test al, al
je 0x560ba9
lea eax, [ebp - 0x1c8]
push eax
lea edx, [ebp - 0x1f4]
mov eax, dword [ebp - 0x68]
call fcn.005305d8
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0xb
lea ecx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax + 0xe36]
mov edx, 4
call fcn.0040a2d8
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0xb
mov dword [ebp - 0x1e0], edi
mov byte [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x68]
call fcn.005305b4
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 0x1cc], 0
lea edx, [ebp - 0x1f0]
mov ecx, 4
mov eax, 0x5632d4
call fcn.0040b5b8
mov edx, dword [ebp - 0x1c8]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.0052dec8
mov eax, dword [ebp - 0x68]
call fcn.00404270
jmp case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
movzx eax, word [eax + 0x94]
mov edx, dword [ebp - 0x58]
add edx, 2
cmp ax, word [edx]
jne case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, dword [ebp - 0x64]
mov dword [eax + 0xb4], edx
jmp case.0x55efba.136
mov edx, dword [ebp - 0x4c]
cmp dword [edx + 0xde8], 0
je 0x560c1d
mov eax, dword [ebp - 0x58]
add eax, 7
movzx eax, word [eax]
cmp ax, 0xffff
je 0x560c08
test ax, ax
jne 0x560c1d
mov eax, dword [ebp - 0x58]
inc eax
movzx edx, word [eax]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde8]
call fcn.0056c768
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x614]
call fcn.004e3ea8
test al, al
jne 0x560c45
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x634]
call fcn.004e3ea8
test al, al
je case.0x55efba.136
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
sub eax, 0x96
je 0x560c67
sub eax, 6
je 0x560c67
sub eax, 0x21
jne case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, word [eax]
mov edx, dword [ebp - 0x4c]
cmp ax, word [edx + 0xe36]
jne case.0x55efba.136
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0x4c]
movzx edx, word [eax + 0xe36]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.00522468
test al, al
je case.0x55efba.136
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x634]
call fcn.004e3ea8
test al, al
je 0x560cc5
mov eax, dword [ebp - 0x68]
call fcn.0053051c
mov edx, eax
mov cl, 1
mov eax, dword [ebp - 0x68]
call fcn.00530744
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x614]
call fcn.004e3ea8
test al, al
je 0x560dfc
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax + 0xe38]
mov edx, dword [ebp - 0x4c]
cmp ax, word [edx + 0xe36]
jne 0x560de8
mov eax, dword [ebp - 0x68]
call fcn.0053051c
mov edx, dword [ebp - 0x58]
add edx, 5
movzx edx, word [edx]
sub edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x68]
call fcn.0053051c
cmp eax, dword [ebp - 0x64]
jge 0x560d23
mov eax, dword [ebp - 0x68]
call fcn.0053051c
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x58]
add eax, 5
movzx edi, word [eax]
mov eax, dword [ebp - 0x68]
call fcn.0053051c
cmp edi, eax
jle 0x560d3a
xor edi, edi
lea eax, [ebp - 0x1fc]
push eax
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x68]
call fcn.005305d8
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0xb
lea ecx, [ebp - 0x204]
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax + 0xe36]
mov edx, 4
call fcn.0040a2d8
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0xb
mov dword [ebp - 0x1e0], edi
mov byte [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x68]
call fcn.005305b4
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 0x1cc], 0
lea edx, [ebp - 0x1f0]
mov ecx, 4
mov eax, 0x5632d4
call fcn.0040b5b8
mov edx, dword [ebp - 0x1fc]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.0052dec8
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax + 0xe36]
mov edx, dword [ebp - 0x4c]
mov word [edx + 0xe38], ax
mov eax, dword [ebp - 0x68]
call fcn.00404270
jmp case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x328], 0
jne case.0x55efba.136
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x58]
add edx, 6
call fcn.00405430
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x360]
mov edx, dword [ebp - 0xc]
call fcn.00405660
je 0x560e6a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x874]
call fcn.004e3ea8
test al, al
jne 0x560e6a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x878]
call fcn.004e3ea8
test al, al
je case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x360
call fcn.00405238
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x878]
call fcn.004e3ea8
test al, al
je 0x560ef7
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
mov edx, dword [edx + 0x78]
call fcn.00405660
jne 0x560ec3
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x78
call fcn.00405238
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
mov byte [eax + 0xb7], 1
jmp 0x560ef7
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
mov edx, dword [edx + 0x7c]
call fcn.00405660
jne 0x560ef7
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x7c
call fcn.00405238
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
mov byte [eax + 0xb9], 1
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
add eax, 0xb0
mov edx, dword [ebp - 0xc]
call fcn.0040528c
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, word [eax]
mov edx, dword [ebp - 0x4c]
mov edx, dword [edx + 0xde4]
mov word [edx + 0xb4], ax
jmp case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
mov edx, dword [ebp - 0x58]
add edx, 2
cmp ax, word [edx]
jne case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
cmp byte [eax + 0x89], 0
je case.0x55efba.136
mov eax, dword [ebp - 0x58]
cmp word [eax], 0x15d
jne 0x560f77
mov eax, dword [ebp - 0x58]
mov word [eax], 0x5d
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x6a], 1
jmp 0x560f8b
mov eax, dword [ebp - 0x58]
cmp word [eax], 0x5d
jne 0x560f8b
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x69], 1
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x89], 0
jmp case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
mov edx, dword [ebp - 0x58]
add edx, 2
cmp ax, word [edx]
jne case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
cmp byte [eax + 0x89], 0
je case.0x55efba.136
mov eax, dword [ebp - 0x58]
cmp word [eax], 0x161
jne 0x56100b
mov eax, dword [ebp - 0x58]
add eax, 0xa
cmp dword [eax], 0xffffffff
je 0x56100b
mov eax, dword [ebp - 0x58]
add eax, 0xa
mov eax, dword [eax]
mov edx, dword [ebp - 0x58]
add edx, 6
mov dword [edx], eax
mov eax, dword [ebp - 0x58]
add eax, 0xa
mov dword [eax], 0xffffffff
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x6a], 1
jmp 0x56101f
mov eax, dword [ebp - 0x58]
cmp word [eax], 0x61
jne 0x56101f
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x69], 1
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x89], 0
jmp case.0x55efba.136
xor esi, esi
mov word [ebp - 0x6a], 0
cmp al, 0x70
jne 0x5610bc
mov eax, dword [ebp - 0x58]
add eax, 2
movzx esi, word [eax]
mov eax, dword [ebp - 0x58]
add eax, 6
movzx edi, word [eax]
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp si, ax
jne 0x56123e
cmp dword [ebp - 0x5c], 0x12
jne 0x56123e
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x634]
call fcn.004e3ea8
test al, al
je 0x56123e
mov eax, dword [0x5a0844]
mov eax, dword [eax]
mov byte [eax + 0x154], 1
mov eax, dword [ebp - 0x58]
add eax, 0xa
mov eax, dword [eax]
mov edx, dword [0x5a0844]
mov edx, dword [edx]
mov dword [edx + 0x150], eax
mov eax, dword [0x5a0844]
mov eax, dword [eax]
mov word [eax + 0x14c], di
jmp 0x56123e
mov eax, dword [ebp - 0x58]
inc eax
cmp byte [eax], 1
jne 0x56123e
cmp dword [ebp - 0x5c], 0xa
jb 0x562cb9
mov eax, dword [ebp - 0x58]
add eax, 3
movzx esi, word [eax]
mov eax, dword [ebp - 0x58]
add eax, 7
movzx edi, word [eax]
mov eax, dword [ebp - 0x58]
add eax, 2
movzx eax, byte [eax]
mov word [ebp - 0x6a], ax
cmp di, si
jne 0x56112d
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp di, ax
jne 0x56112d
movzx eax, word [ebp - 0x6a]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
cmp eax, dword [edx + 0x344]
jne 0x56112d
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x344], 0xffffffff
movzx eax, word [ebp - 0x6a]
add eax, 0xffffffe9
sub ax, 4
jb 0x561140
sub ax, 0x38
jne 0x561155
call fcn.004bd2e4
mov ecx, dword [0x5a0738]
mov ecx, dword [ecx]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x561181
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp si, ax
jne 0x561181
cmp word [ebp - 0x6a], 0x11
jne 0x561181
call fcn.004bd2e4
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0xe90], eax
mov dword [ecx + 0xe94], edx
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x56123e
cmp word [ebp - 0x6a], 0x47
jne 0x5611bc
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp si, ax
jne 0x5611bc
call fcn.004bd2e4
mov ecx, dword [0x5a0738]
mov ecx, dword [ecx]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp si, ax
jne 0x56123e
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp di, ax
jne 0x56123e
movzx eax, word [ebp - 0x6a]
cmp eax, 0x4d
jg 0x5611f8
je 0x56122b
sub eax, 7
je 0x561209
sub eax, 0x41
je 0x56122b
dec eax
je 0x561216
jmp 0x56123e
sub eax, 0x4e
je 0x561216
sub eax, 2
je 0x56122b
sub eax, 2
je 0x56122b
jmp 0x56123e
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0x6a], 1
jmp 0x56123e
call fcn.004bd2e4
mov ecx, dword [0x5a0738]
mov ecx, dword [ecx]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
jmp 0x56123e
call fcn.004bd2e4
mov ecx, dword [0x5a0738]
mov ecx, dword [ecx]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x634]
call fcn.004e3ea8
test al, al
je 0x5612ad
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
add eax, 0xffffffce
sub eax, 0x32
jb 0x5612ad
mov eax, dword [ebp - 0x4c]
cmp si, word [eax + 0xe36]
je 0x5612ad
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp di, ax
jne 0x5612ad
mov eax, dword [0x5a0844]
mov eax, dword [eax]
mov byte [eax + 0x154], 0
mov eax, dword [0x5a0844]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0x150], edx
mov eax, dword [0x5a0844]
mov eax, dword [eax]
mov word [eax + 0x14c], si
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp si, ax
je 0x5614f6
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
movzx eax, ax
mov edx, dword [0x5a0b54]
add eax, dword [edx]
movzx edx, si
cmp eax, edx
je 0x5614f6
test si, si
je 0x5614f6
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp di, ax
je 0x561384
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
movzx eax, ax
mov edx, dword [0x5a0b54]
add eax, dword [edx]
movzx edx, di
cmp eax, edx
je 0x561384
cmp si, di
je 0x56160f
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x56160f
lea ecx, [ebp - 0x68]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov edx, esi
call fcn.00522834
test al, al
jne 0x561365
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde8]
mov ecx, edi
mov edx, esi
call fcn.0056c1a0
jmp 0x56160f
mov eax, dword [ebp - 0x68]
call fcn.00404270
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde8]
mov ecx, esi
mov edx, edi
call fcn.0056c1a0
jmp 0x56160f
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp di, ax
jne 0x56160f
movzx eax, word [ebp - 0x6a]
cmp ax, 0x47
ja 0x5613ad
and eax, 0x7f
bt dword [0x5632e8], eax
jb 0x5614d1
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00518824
test al, al
jne 0x5614d1
lea ecx, [ebp - 0x68]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov edx, esi
call fcn.00522834
test al, al
je 0x5614d1
call fcn.004bd2e4
push edx
push eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0xe64]
mov eax, dword [eax + 0xe60]
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x561409
cmp eax, 0xfa0
jbe 0x56145f
push 0x5632fc
lea edx, [ebp - 0x20c]
mov eax, dword [ebp - 0x68]
call fcn.005305d8
push dword [ebp - 0x20c]
push 0x563310
lea eax, [ebp - 0x208]
mov edx, 3
call fcn.004055cc
mov edx, dword [ebp - 0x208]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.0052aca8
call fcn.004bd2e4
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0xe60], eax
mov dword [ecx + 0xe64], edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x48c]
call fcn.004e3ea8
test al, al
je 0x5614a6
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp si, word [eax + 0x9e]
je 0x5614a6
lea edx, [ebp - 0x210]
mov eax, dword [ebp - 0x68]
call fcn.005305d8
mov edx, dword [ebp - 0x210]
mov eax, dword [0x5a0844]
mov eax, dword [eax]
add eax, 0x148
call fcn.0040528c
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x31c], 0
jne 0x5614c4
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov word [eax + 0x9e], si
mov eax, dword [ebp - 0x68]
call fcn.00404270
jmp 0x56160f
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x56160f
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde8]
mov edx, esi
call fcn.0056c18c
jmp 0x56160f
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp si, ax
je 0x561543
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
movzx eax, ax
mov edx, dword [0x5a0b54]
add eax, dword [edx]
movzx edx, si
cmp eax, edx
jne 0x56160f
movzx eax, word [ebp - 0x6a]
cmp ax, 0x47
ja 0x56153d
and eax, 0x7f
bt dword [0x5632e8], eax
jb 0x56160f
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, edi
call fcn.0051ab98
call fcn.004bd2e4
mov ecx, dword [0x5a0738]
mov ecx, dword [ecx]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov edx, dword [0x5a0738]
mov edx, dword [edx]
mov ecx, dword [edx + 0x30]
mov dword [eax + 0x98], ecx
mov ecx, dword [edx + 0x34]
mov dword [eax + 0x9c], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x610]
call fcn.004e3ea8
test al, al
je 0x56160f
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x610]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x56160f
mov eax, dword [ebp - 0x4c]
call fcn.0055ab38
test eax, eax
jge 0x56160f
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
cmp word [eax + 0xf0], 0
jne 0x56160f
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xde4]
mov edx, 1
call fcn.00535f7c
call fcn.004bd2e4
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx + 0xde4]
mov dword [ecx + 0xe8], eax
mov dword [ecx + 0xec], edx
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax + 0xe36]
mov edx, dword [ebp - 0x4c]
mov edx, dword [edx + 0xde4]
mov word [edx + 0xf0], ax
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x3a5], 0
jne 0x561643
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x850]
call fcn.004e3ea8
test al, al
je 0x561679
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x850]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x561679
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp di, ax
jne 0x561679
cmp bl, 0x6e
jne 0x561669
mov eax, dword [ebp - 0x58]
add eax, 7
mov word [eax], 0
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
add eax, 6
mov word [eax], 0
jmp case.0x55efba.136
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x850]
call fcn.004e3ea8
test al, al
je case.0x55efba.136
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x850]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x55efba.136
movzx eax, word [ebp - 0x6a]
add eax, 0xffffffe9
sub ax, 4
jb case.0x55efba.136
sub ax, 0x38
je case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
cmp si, ax
jne case.0x55efba.136
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x5616f5
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x3a5], 0
je case.0x55efba.136
lea ecx, [ebp - 0x68]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov edx, edi
call fcn.00522468
test al, al
je case.0x55efba.136
mov eax, dword [ebp - 0x68]
call fcn.005305f8
cmp ax, 0xffff
je 0x56172a
mov eax, dword [ebp - 0x68]
call fcn.005305f8
cmp ax, 5
jne 0x56173a
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x600], 9
jne 0x561756
mov eax, dword [ebp - 0x58]
cmp byte [eax], 0x6e
jne 0x56174d
mov eax, dword [ebp - 0x58]
add eax, 3
mov word [eax], di
jmp 0x561756
mov eax, dword [ebp - 0x58]
add eax, 2
mov word [eax], di
mov eax, dword [ebp - 0x68]
call fcn.00404270
jmp case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
call fcn.00517154
mov edx, dword [ebp - 0x58]
inc edx
cmp ax, word [edx]
jne case.0x55efba.136
mov eax, dword [0x5a0738]
mov eax, dword [eax]
mov byte [eax + 0xa4], 1
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, word [eax]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
mov dword [edx + 0x108], eax
jmp case.0x55efba.136
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x5dc], 1
jne 0x5618b9
mov esi, dword [ebp - 0x5c]
sub esi, 5
sub esi, 0x14
jl 0x5618b9
inc esi
mov ebx, 0x14
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
cmp dword [eax], 0xa0d0a0d
jne 0x5618b1
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 4
adc edx, 0
mov edx, eax
lea eax, [ebp - 4]
call fcn.00405430
mov edx, dword [ebp - 4]
mov eax, 0x563324
call fcn.00405814
test eax, eax
jg 0x561838
mov edx, dword [ebp - 4]
mov eax, 0x563334
call fcn.00405814
test eax, eax
jle 0x561892
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x91], 0
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x590], 0
jle 0x5618b1
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x400]
call fcn.004e3ea8
test al, al
je 0x5618b1
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xde8], 0
je 0x561885
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x3dc]
mov eax, dword [ebp - 0x4c]
call fcn.00546454
mov eax, dword [0x5a0844]
mov eax, dword [eax]
mov byte [eax + 0x7b], 1
jmp 0x5618b1
mov edx, dword [ebp - 4]
mov eax, 0x563344
call fcn.00405814
test eax, eax
jle 0x5618b1
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x90], 0
inc ebx
dec esi
jne 0x5617d2
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x92], 1
jmp case.0x55efba.136
lea ecx, [ebp - 0x38]
mov eax, dword [ebp - 0x58]
add eax, 4
movzx edx, word [eax]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.005216f4
test al, al
je case.0x55efba.136
cmp byte [ebp - 0x2e], 0
je 0x561925
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x408]
mov eax, dword [eax + 0x284]
mov edx, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x410]
mov eax, dword [eax + 0x284]
mov edx, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp case.0x55efba.136
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x3d4]
mov eax, dword [eax + 0x274]
mov edx, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x420], 0
jne 0x561a3a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe80]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
cmp eax, dword [edx + 0x424]
jne 0x56198a
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x428]
mov edx, dword [ebp - 0x4c]
cmp eax, dword [edx + 0xe84]
je 0x561a3a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe80]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe84]
mov dword [ebp - 0x44], eax
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x424
lea edx, [ebp - 0x48]
mov ecx, dword [0x514e10]
call fcn.004061d8
mov eax, dword [ebp - 0x4c]
mov ebx, dword [eax + 0xe84]
shl ebx, 0x10
mov eax, dword [ebp - 0x4c]
or ebx, dword [eax + 0xe80]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.005229c0
mov dword [ebp - 0x74], eax
xor eax, eax
push ebp
push 0x561a33
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x214]
mov eax, 8
call fcn.0040a300
mov eax, dword [ebp - 0x214]
push eax
mov ecx, 0x563358
mov edx, 0x56336c
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x561a3a
mov eax, dword [ebp - 0x74]
call fcn.00404270
ret
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.0051ceb0
xor edx, edx
push ebp
push 0x5622b0
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
sub eax, 1
jb 0x561a7a
sub eax, 0x95
jb 0x561f1b
sub eax, 0x32
jae 0x562239
mov eax, dword [ebp - 0x58]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x5a0738]
mov edx, dword [edx]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp - 0x58]
add eax, 6
movzx eax, byte [eax]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x100
jge 0x562239
mov esi, dword [ebp - 0x64]
dec esi
test esi, esi
jl 0x562239
inc esi
xor ebx, ebx
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
cmp eax, 0x9e
jne 0x561c30
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 5
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 3
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 9
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0xb
adc edx, 0
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x10
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x16
adc edx, 0
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x23
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x15
adc edx, 0
cmp byte [eax], 0x80
sete al
mov byte [ebp - 0xdc], al
jmp 0x561efc
mov edx, dword [0x5a056c]
cmp eax, 0xc1
jne 0x561da1
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 5
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 3
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 9
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0xb
adc edx, 0
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x10
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x16
adc edx, 0
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x47
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x15
adc edx, 0
cmp byte [eax], 0x80
sete al
mov byte [ebp - 0xdc], al
jmp 0x561efc
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 5
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 3
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 9
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0xb
adc edx, 0
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x10
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x16
adc edx, 0
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
mov eax, dword [ebp - 0x58]
add eax, 7
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x15
adc edx, 0
cmp byte [eax], 0x80
sete al
mov byte [ebp - 0xdc], al
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
lea edx, [ebp - 0x100]
call fcn.0051c5e0
inc ebx
dec esi
jne 0x561ab8
jmp 0x562239
mov eax, dword [ebp - 0x58]
inc eax
mov eax, dword [eax]
mov edx, dword [0x5a0738]
mov edx, dword [edx]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp - 0x58]
add eax, 5
movzx eax, byte [eax]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x100
jge 0x562239
mov esi, dword [ebp - 0x64]
dec esi
test esi, esi
jl 0x562239
inc esi
xor ebx, ebx
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x5dc], 0x81
jne 0x5620c4
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 5
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 3
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 9
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0xb
adc edx, 0
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x10
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
mov eax, ebx
add eax, eax
lea eax, [eax + eax*8]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x11
adc edx, 0
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
jmp 0x56221f
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 5
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 3
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 9
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0xb
adc edx, 0
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x10
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x16
adc edx, 0
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
mov eax, dword [ebp - 0x58]
add eax, 6
xor edx, edx
push edx
push eax
imul eax, ebx, 0x17
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x15
adc edx, 0
cmp byte [eax], 0x80
sete al
mov byte [ebp - 0xdc], al
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
lea edx, [ebp - 0x100]
call fcn.0051c5e0
inc ebx
dec esi
jne 0x561f57
lea eax, [ebp - 4]
call fcn.00405238
mov esi, dword [ebp - 0x5c]
dec esi
test esi, esi
jl 0x562292
inc esi
xor ebx, ebx
push dword [ebp - 4]
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
lea ecx, [ebp - 0x218]
mov edx, 2
call fcn.0040a2d8
push dword [ebp - 0x218]
push 0x562e2c
lea eax, [ebp - 4]
mov edx, 3
call fcn.004055cc
inc ebx
dec esi
jne 0x56224c
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x1e0
mov edx, dword [ebp - 4]
call fcn.0040528c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5622ba
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x24], 1
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, byte [eax]
dec eax
sub al, 2
jae case.0x55efba.136
mov eax, dword [ebp - 0x58]
add eax, 2
movzx edx, byte [eax]
mov dword [ebp - 0xfc], edx
mov edx, eax
add edx, 3
movzx edx, word [edx]
mov dword [ebp - 0x100], edx
mov edx, eax
add edx, 5
movzx edx, word [edx]
mov dword [ebp - 0xf4], edx
mov edx, eax
add edx, 9
movzx edx, word [edx]
mov dword [ebp - 0xf8], edx
mov edx, eax
add edx, 0xb
mov edx, dword [edx]
mov dword [ebp - 0xec], edx
add eax, 0x10
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x5dc], 0x81
jne 0x562353
mov eax, dword [ebp - 0x58]
add eax, 2
add eax, 0x11
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
jmp 0x562365
mov eax, dword [ebp - 0x58]
add eax, 2
add eax, 0x16
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
lea edx, [ebp - 0x100]
call fcn.0052e91c
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, byte [eax]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
mov dword [edx + 0x458], eax
jmp case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp byte [eax + 0x420], 0
jne 0x5624c0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe80]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
cmp eax, dword [edx + 0x434]
jne 0x5623f6
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x438]
mov edx, dword [ebp - 0x4c]
cmp eax, dword [edx + 0xe84]
jne 0x5623f6
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
movzx eax, word [eax + 0xc4]
mov edx, dword [ebp - 0x58]
inc edx
cmp ax, word [edx]
je 0x5624c0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe80]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe84]
mov dword [ebp - 0x44], eax
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x434
lea edx, [ebp - 0x48]
mov ecx, dword [0x514e10]
call fcn.004061d8
mov eax, dword [ebp - 0x4c]
mov ebx, dword [eax + 0xe84]
shl ebx, 0x10
mov eax, dword [ebp - 0x4c]
or ebx, dword [eax + 0xe80]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.005229c0
mov dword [ebp - 0x74], eax
xor eax, eax
push ebp
push 0x5624b9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x21c]
mov eax, 8
call fcn.0040a300
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, 0x563380
mov edx, 0x56336c
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, word [eax]
push eax
mov ecx, 0x563390
mov edx, 0x56336c
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 0xc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5624c0
mov eax, dword [ebp - 0x74]
call fcn.00404270
ret
mov eax, dword [ebp - 0x58]
inc eax
movzx eax, word [eax]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
mov word [edx + 0xc4], ax
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.0051d0b4
xor eax, eax
push ebp
push 0x562819
push dword fs:[eax]
mov dword fs:[eax], esp
mov edi, 8
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
sub eax, 0x81
je 0x562518
sub eax, 0x1d
je 0x56253f
sub eax, 0x23
je 0x56256a
jmp 0x56259a
mov eax, dword [0x5a0738]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0xac], edx
mov eax, dword [ebp - 0x58]
add eax, 7
movzx eax, byte [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 0x16
jmp 0x5625c3
mov eax, dword [ebp - 0x58]
add eax, 3
mov eax, dword [eax]
mov edx, dword [0x5a0738]
mov edx, dword [edx]
mov dword [edx + 0xac], eax
mov eax, dword [ebp - 0x58]
add eax, 7
movzx eax, byte [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 0x27
jmp 0x5625c3
mov eax, dword [ebp - 0x58]
add eax, 4
mov eax, dword [eax]
mov edx, dword [0x5a0738]
mov edx, dword [edx]
mov dword [edx + 0xac], eax
mov eax, dword [ebp - 0x58]
add eax, 8
movzx eax, byte [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 0x4b
mov edi, 9
jmp 0x5625c3
mov eax, dword [ebp - 0x58]
add eax, 3
mov eax, dword [eax]
mov edx, dword [0x5a0738]
mov edx, dword [edx]
mov dword [edx + 0xac], eax
mov eax, dword [ebp - 0x58]
add eax, 7
movzx eax, byte [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 0x1b
mov esi, dword [ebp - 0x64]
dec esi
test esi, esi
jl 0x5627a2
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 3
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 5
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 9
adc edx, 0
movzx eax, word [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0xb
adc edx, 0
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x10
adc edx, 0
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x5dc], 0x81
jne 0x562753
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x11
adc edx, 0
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
jmp 0x562788
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
imul dword [ebp - 0x60]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x16
adc edx, 0
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
lea edx, [ebp - 0x100]
call fcn.0051cb4c
inc ebx
dec esi
jne 0x5625d2
lea eax, [ebp - 4]
call fcn.00405238
mov esi, dword [ebp - 0x5c]
dec esi
test esi, esi
jl 0x5627fb
inc esi
xor ebx, ebx
push dword [ebp - 4]
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
lea ecx, [ebp - 0x220]
mov edx, 2
call fcn.0040a2d8
push dword [ebp - 0x220]
push 0x562e2c
lea eax, [ebp - 4]
mov edx, 3
call fcn.004055cc
inc ebx
dec esi
jne 0x5627b5
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x1e4
mov edx, dword [ebp - 4]
call fcn.0040528c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x562823
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x24], 1
jmp case.0x55efba.136
mov eax, dword [0x5a056c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
add eax, 0xffffff40
sub eax, 2
jb case.0x55efba.136
cmp dword [ebp - 0x5c], 0x1e
jbe case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
cmp byte [eax], 1
jne 0x562909
mov eax, dword [ebp - 0x58]
add eax, 0x1d
cmp word [eax], 0xa
jb 0x562909
mov eax, dword [0x5a056c]
mov eax, dword [eax]
cmp dword [eax + 0x590], 0
jle 0x56288e
mov eax, dword [ebp + 8]
mov dword [eax], 2
mov eax, dword [ebp - 0x58]
add eax, 2
movzx edx, byte [eax]
mov dword [ebp - 0xfc], edx
mov edx, eax
add edx, 7
movzx edx, word [edx]
mov dword [ebp - 0x100], edx
mov edx, eax
add edx, 9
movzx edx, word [edx]
mov dword [ebp - 0xf4], edx
mov edx, eax
add edx, 0xd
movzx edx, word [edx]
mov dword [ebp - 0xf8], edx
mov edx, eax
add edx, 0xf
mov edx, dword [edx]
mov dword [ebp - 0xec], edx
add eax, 0x14
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
add eax, 2
add eax, 0x1a
movzx eax, byte [eax]
mov byte [ebp - 0xf0], al
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
lea edx, [ebp - 0x100]
call fcn.0051cb4c
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
cmp byte [eax], 2
jne case.0x55efba.136
mov eax, dword [ebp - 0x58]
add eax, 0x11
movzx ecx, word [eax]
mov eax, dword [ebp - 0x58]
add eax, 0xb
movzx edx, word [eax]
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
call fcn.0051d634
jmp case.0x55efba.136
mov eax, dword [ebp - 0x58]
inc eax
cmp byte [eax], 2
jne 0x562945
mov byte [edx], 0
mov edx, dword [ebp - 0x4c]
cmp dword [edx + 0xde8], 0
je case.0x55efba.136
cmp byte [eax], 3
jne case.0x55efba.136
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x58]
add edx, 4
call fcn.00405430
mov edx, dword [ebp - 4]
mov eax, 0x5633a4
call fcn.00405814
test eax, eax
jle 0x5629bc
mov edx, dword [ebp - 4]
mov eax, 0x5633b8
call fcn.00405814
test eax, eax
jle case.0x55efba.136
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov byte [eax + 0x204], 1
mov eax, dword [ebp - 0x58]
add eax, 2
movzx eax, word [eax]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
mov dword [edx + 0x334], eax
jmp case.0x55efba.136
mov edx, dword [ebp - 4]
mov eax, 0x562e94
call fcn.00405814
test eax, eax
jle 0x562b06
mov edx, dword [ebp - 4]
mov eax, 0x562ea4
call fcn.00405814
test eax, eax
jle 0x562b06
mov dl, 1
mov eax, dword [0x41cc80]
call fcn.00404240
mov dword [ebp - 0x70], eax
xor edx, edx
push ebp
push 0x562af6
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x562ae0
inc esi
xor ebx, ebx
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0x1e8], edx
lea ecx, [ebp - 0x224]
mov edx, ebx
mov eax, dword [ebp - 0x70]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 4]
call fcn.00409e20
mov eax, dword [ebp - 4]
test eax, eax
je 0x562a5d
sub eax, 4
mov eax, dword [eax]
sub eax, 3
test eax, eax
jle 0x562ac8
mov dword [ebp - 0x78], eax
mov edi, 1
lea eax, [ebp - 0x228]
push eax
mov ecx, 4
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00405730
mov eax, dword [ebp - 0x228]
xor edx, edx
call fcn.0040a36c
test eax, eax
je 0x562ac2
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1e8], 1
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
add eax, 0x1b0
push eax
mov ecx, 4
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00405730
jmp 0x562ac8
inc edi
dec dword [ebp - 0x78]
jne 0x562a6c
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
cmp dword [eax + 0x1e8], 0
jg 0x562ae0
inc ebx
dec esi
jne 0x562a24
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x562afd
mov eax, dword [ebp - 0x70]
call fcn.00404270
ret
mov eax, dword [0x5a0c0c]
mov eax, dword [eax]
mov dword [eax + 0x1ec], 3
mov eax, dword [ebp - 0x58]
add eax, 2
movzx eax, word [eax]
mov edx, dword [0x5a0c0c]
mov edx, dword [edx]
mov dword [edx + 0x334], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x388]
call fcn.004e3ea8
test al, al
je 0x562cb9
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x374]
cmp byte [eax + 0x258], 0
je 0x562cb9
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
call fcn.0055ed00
test al, al
jne 0x562cb9
lea eax, [ebp - 4]
call fcn.00405238
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
mov esi, dword [ebp - 0x5c]
dec esi
test esi, esi
jl 0x562bd2
inc esi
xor ebx, ebx
push dword [ebp - 4]
mov eax, dword [ebp - 0x58]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
lea ecx, [ebp - 0x22c]
mov edx, 2
call fcn.0040a2d8
push dword [ebp - 0x22c]
push 0x562e2c
lea eax, [ebp - 4]
mov edx, 3
call fcn.004055cc
inc ebx
dec esi
jne 0x562b8c
lea edx, [ebp - 0x230]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x61c]
call fcn.00455df8
cmp dword [ebp - 0x230], 0
je 0x562c6a
lea edx, [ebp - 0x234]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x61c]
call fcn.00455df8
mov eax, dword [ebp - 0x234]
mov edx, dword [ebp - 4]
call fcn.00405814
test eax, eax
jle 0x562cb9
push 0x5633c8
mov eax, dword [ebp - 0x5c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x23c]
call fcn.0040a2b0
push dword [ebp - 0x23c]
push 0x5633d4
push dword [ebp - 4]
lea eax, [ebp - 0x238]
mov edx, 4
call fcn.004055cc
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x562cb9
push 0x5633c8
mov eax, dword [ebp - 0x5c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x244]
call fcn.0040a2b0
push dword [ebp - 0x244]
push 0x5633d4
push dword [ebp - 4]
lea eax, [ebp - 0x240]
mov edx, 4
call fcn.004055cc
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x562d45
lea eax, [ebp - 0x244]
mov edx, 4
call fcn.0040525c
lea eax, [ebp - 0x234]
mov edx, 2
call fcn.0040525c
lea eax, [ebp - 0x22c]
mov edx, 0xf
call fcn.0040525c
lea eax, [ebp - 0x1c8]
mov edx, 0x32
call fcn.0040525c
lea eax, [ebp - 0x48]
mov edx, dword [0x514e10]
call fcn.00405f74
lea eax, [ebp - 0x38]
mov edx, dword [0x514ec8]
call fcn.00405f74
lea eax, [ebp - 0x28]
mov edx, dword [0x514e68]
call fcn.00405f74
lea eax, [ebp - 0x1c]
mov edx, 7
call fcn.0040525c
ret