Function at 0x56560c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x21
push 0
push 0
dec ecx
jne 0x565615
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x5681b7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00406fe0
mov eax, dword [ebp + 0x14]
inc dword [eax]
mov eax, dword [ebp - 0x18]
call fcn.0055fb9c
mov edx, dword [ebp + 0x14]
cmp eax, dword [edx]
jg 0x56565f
mov eax, dword [ebp + 0x14]
dec dword [eax]
jmp 0x5680f6
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
mov eax, dword [eax + 0x3c]
cmp eax, 0xca
jg 0x565737
je 0x565fc8
cmp eax, 0xbe
jg 0x5656f6
je 0x567989
cmp eax, 0x48
jg 0x5656cd
je 0x565d69
cmp eax, 4
jg 0x5656b6
je 0x565cde
dec eax
je 0x5658db
dec eax
je 0x565cbb
jmp case.0x565745.218
sub eax, 0x16
je 0x5657a0
sub eax, 0x15
je 0x565e63
jmp case.0x565745.218
sub eax, 0x49
je 0x565da9
sub eax, 7
je 0x567a7d
sub eax, 2
je 0x565de9
sub eax, 0x6b
je 0x56755b
jmp case.0x565745.218
add eax, 0xffffff41
cmp eax, 0xa
ja case.0x565745.218
jmp dword [eax*4 + 0x56570b]
add eax, 0xffffff34
cmp eax, 0x14
ja case.0x565745.218
jmp dword [eax*4 + 0x56574c]
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00560a94
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564ee8
jmp 0x56804b
mov eax, dword [ebp - 0x10]
call fcn.00560f78
test eax, eax
je 0x56804b
mov eax, dword [ebp - 0x10]
call fcn.00560f78
cmp word [eax + 0xc2], 0
je 0x56804b
xor eax, eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00560f78
mov ebx, eax
mov edx, dword [ebp - 0x10]
pop ecx
mov eax, dword [ebx + 0xc4]
call dword [ebx + 0xc0]
xor eax, eax
push ebp
push 0x5658d4
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x24], 0
jne 0x56586e
mov eax, dword [ebp + 0x10]
mov byte [eax], 4
mov eax, dword [ebp + 8]
call fcn.00406fe0
jmp 0x5658be
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + 4]
mov edx, dword [ebp + 0x10]
mov byte [edx], al
mov eax, dword [ebp + 0x10]
cmp byte [eax], 1
jne 0x5658b3
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.00405330
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov eax, dword [ebp - 0x24]
call fcn.0055f684
mov edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.0055fe14
jmp 0x5658be
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
call fcn.0055f82c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56804b
mov eax, dword [ebp - 0x24]
call fcn.00405330
ret
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 8]
call fcn.004073ec
mov eax, dword [ebp + 0x10]
mov byte [eax], 3
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor edx, edx
push ebp
push 0x565ad5
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 4]
call fcn.00407414
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x15
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp - 0x20]
call fcn.0055ff2c
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x10]
cmp byte [eax], 1
je 0x5659d9
push 0
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.0055e204
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 8]
call fcn.00407414
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.00405330
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
cmp word [eax + 0x82], 0
je 0x565ab9
mov edx, dword [ebp + 0x10]
cmp byte [edx], 1
jne 0x565a9c
mov eax, dword [ebp - 0x20]
call fcn.0055fb9c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x565ab9
inc ebx
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
call fcn.0055ffbc
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x24], 2
jne 0x565a66
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x28]
call fcn.00407414
jmp 0x565a71
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call fcn.00561024
mov edx, dword [ebp - 0xc]
push edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
push edx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov esi, eax
mov edx, eax
mov ecx, dword [ebp - 4]
mov eax, dword [esi + 0x84]
call dword [esi + 0x80]
inc dword [ebp - 0x28]
dec ebx
jne 0x565a3f
jmp 0x565ab9
mov edx, dword [ebp - 8]
push edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
push edx
mov ebx, eax
mov edx, eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebx + 0x84]
call dword [ebx + 0x80]
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56804b
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x565b63
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x565b6a
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 8]
call fcn.004073ec
mov eax, dword [ebp + 0x10]
mov byte [eax], 4
jmp 0x56804b
mov eax, dword [ebp + 0x14]
inc dword [eax]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.00405330
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x24], 1
jne 0x565d5e
mov eax, dword [ebp + 0xc]
call fcn.00569560
test al, al
je 0x565d5e
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
mov ebx, eax
cmp dword [ebx + 0x3c], 0x14
jne 0x565d3a
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.0055fe4c
jmp 0x565d5e
mov edx, dword [ebx + 0x20]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
call fcn.0056accc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x565d5e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.0055fdf8
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 8]
mov edx, 0x5681d0
call fcn.004073ec
mov eax, dword [ebp + 0x10]
mov byte [eax], 2
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 8]
mov edx, 0x5681e0
call fcn.004073ec
mov eax, dword [ebp + 0x10]
mov byte [eax], 2
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.00405330
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
cmp word [eax + 0x5a], 0
je 0x56804b
mov ebx, eax
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x5c]
call dword [ebx + 0x58]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.0055fdf8
jmp 0x56804b
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x565efa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x565e95
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
mov eax, dword [ebp - 0x20]
call fcn.0055fe14
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055dec4
test al, al
je 0x565ed7
mov eax, dword [ebp + 8]
mov edx, 0x5681e0
call fcn.004073ec
jmp 0x565ee4
mov eax, dword [ebp + 8]
mov edx, 0x5681d0
call fcn.004073ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x565f01
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x565fb6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055dec4
test al, al
je 0x565f93
mov eax, dword [ebp + 8]
mov edx, 0x5681d0
call fcn.004073ec
jmp 0x565fa0
mov eax, dword [ebp + 8]
mov edx, 0x5681e0
call fcn.004073ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x565fbd
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x56604f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566056
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x5661e7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
xor eax, eax
push ebp
push 0x5661b4
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e070
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp + 8]
call fcn.00544904
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5661d1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5661ee
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
inc edx
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
cmp dword [eax + 0x3c], 0x17
je 0x566331
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x566317
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
xor eax, eax
push ebp
push 0x5662e4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x20]
call fcn.0055fb9c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x5662c6
inc ebx
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
call fcn.0055ffbc
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
call fcn.00407f78
mov eax, dword [ebp - 0x50]
call fcn.005447f4
fadd qword [ebp - 0x38]
fstp qword [ebp - 0x38]
wait
inc dword [ebp - 0x28]
dec ebx
jne 0x56628d
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov eax, dword [ebp + 8]
call fcn.00544904
mov eax, dword [ebp + 0x10]
mov byte [eax], 3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x566301
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56631e
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
xor eax, eax
push ebp
push 0x5663b3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
call fcn.0055fb9c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x566395
inc ebx
mov dword [ebp - 0x28], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
call fcn.0055ffbc
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x58]
call fcn.00407f78
mov eax, dword [ebp - 0x58]
call fcn.005447f4
fadd qword [ebp - 0x38]
fstp qword [ebp - 0x38]
wait
inc dword [ebp - 0x28]
dec ebx
jne 0x566364
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov eax, dword [ebp + 8]
call fcn.00544904
mov eax, dword [ebp + 0x10]
mov byte [eax], 3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5663d0
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x566492
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e070
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.00544090
lea edx, [ebp - 0x5c]
call fcn.00420074
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp + 8]
call fcn.00407f8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566499
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x56654d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e070
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.005415bc
lea edx, [ebp - 0x60]
call fcn.00420074
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp + 8]
call fcn.00407f8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566554
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x566603
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e070
call fcn.00404c0c
push edx
push eax
lea eax, [ebp - 0x64]
call fcn.0042009c
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp + 8]
call fcn.00407f8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56660a
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x5666a5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5666ac
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x56673e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5667d7
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x5668a0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5668a7
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x566a9f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x78]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566aa6
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x566c05
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x80]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566c0c
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x84]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 4]
call fcn.00407414
mov eax, dword [ebp - 0x20]
call fcn.00405330
xor eax, eax
push ebp
push 0x566e6f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x15
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.0055e204
mov edx, dword [ebp - 0x88]
lea eax, [ebp - 8]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566e76
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor edx, edx
push ebp
push 0x566f93
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
push 0
lea eax, [ebp - 0x8c]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x566f62
sub ebx, 4
mov eax, dword [ebx]
shr eax, 1
mov ebx, eax
lea edx, [ebp - 0x94]
mov eax, ebx
call fcn.00420074
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp + 8]
call fcn.00407f8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566f9a
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567032
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0x98]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567039
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x5671c8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0xa0]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5671cf
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567289
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567290
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x56747a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0xb0]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567481
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00565258
jmp 0x56804b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
cmp word [eax + 0x62], 0
je 0x56767a
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x56761c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0xb4]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567623
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0xbc]
mov eax, dword [0x77beec]
call fcn.0040b004
mov eax, dword [ebp - 0xbc]
push eax
mov eax, 0x5682f8
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xc0], 0x11
lea edx, [ebp - 0xc4]
xor ecx, ecx
pop eax
call fcn.00421754
mov ecx, dword [ebp - 0xb8]
mov dl, 1
mov eax, dword [0x5573b8]
call fcn.00425db0
call fcn.004066b0
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567761
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0055e204
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 4]
call fcn.00407414
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567768
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
mov edx, dword [eax + 0x20]
lea eax, [ebp - 4]
call fcn.00407414
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x43d2f0]
call fcn.0044be20
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x567977
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x5678f4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
inc edx
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
cmp dword [eax + 0x3c], 0x15
jne 0x567863
mov eax, dword [ebp + 0x14]
inc dword [eax]
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x5678ed
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
push 0
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.0055e204
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xcc]
call fcn.00407f78
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5678f4
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
inc edx
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
cmp dword [eax + 0x3c], 0x17
jne 0x56784a
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 8]
call fcn.00406fe0
mov eax, dword [ebp - 0x10]
call fcn.00560f78
test eax, eax
je 0x567961
mov eax, dword [ebp - 0x10]
call fcn.00560f78
cmp word [eax + 0x72], 0
je 0x567961
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00560f78
mov ebx, eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x74]
call dword [ebx + 0x70]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56797e
mov eax, dword [ebp - 0x30]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.0055fb9c
lea edx, [ebp - 0xd4]
call fcn.00420074
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp + 8]
call fcn.00407f8c
mov eax, dword [ebp + 0x10]
mov byte [eax], 3
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
call fcn.0040b29c
cmp byte [eax + 0x40], 0
je 0x567a4b
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [ebp + 0xc]
call fcn.0055ff90
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.0055fb9c
pop edx
sub eax, edx
lea edx, [ebp - 0xd8]
call fcn.00420074
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp + 8]
call fcn.00407f8c
jmp 0x567a72
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [ebp + 0xc]
call fcn.0055ff90
inc eax
lea edx, [ebp - 0xdc]
call fcn.00420074
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp + 8]
call fcn.00407f8c
mov eax, dword [ebp + 0x10]
mov byte [eax], 3
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
inc edx
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
cmp dword [eax + 0x3c], 0x17
je 0x567b38
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567b1b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp - 0x20]
call fcn.0055fb9c
lea edx, [ebp - 0xe0]
call fcn.00420074
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp + 8]
call fcn.00407f8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567b22
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
call fcn.0055fb9c
lea edx, [ebp - 0xe4]
call fcn.00420074
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp + 8]
call fcn.00407f8c
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 0x10]
mov byte [eax], 3
jmp 0x56804b
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567c76
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0xe8]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 8]
call fcn.00406fe0
mov eax, dword [ebp - 0x20]
call fcn.0055fb9c
test eax, eax
jle 0x567c60
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0055ffbc
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
dec eax
je 0x567c18
dec eax
je 0x567c25
sub eax, 5
je 0x567c52
jmp 0x567c60
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
call fcn.00560de0
jmp 0x567c60
lea edx, [ebp - 0xec]
mov eax, dword [ebp - 0x1c]
call fcn.00560de0
mov eax, dword [ebp - 0xec]
mov edx, 0x568320
call fcn.00407c3c
je 0x567c60
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
call fcn.00560de0
jmp 0x567c60
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x20]
call fcn.004073ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567c7d
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567d8b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0xf0]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 8]
call fcn.00406fe0
mov eax, dword [ebp - 0x20]
call fcn.0055fb9c
test eax, eax
jle 0x567d75
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0055ffbc
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
dec eax
je 0x567d1d
dec eax
je 0x567d2a
jmp 0x567d75
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
call fcn.00560e30
jmp 0x567d75
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0x1c]
call fcn.00560f7c
mov eax, dword [ebp - 0xf4]
mov edx, 0x568320
call fcn.00407c3c
je 0x567d75
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x1c]
call fcn.00560de0
mov eax, dword [ebp - 0xf8]
mov edx, 0x568320
call fcn.00407c3c
je 0x567d75
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
call fcn.00560e30
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567d92
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567ecc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0xfc]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 8]
call fcn.00406fe0
mov eax, dword [ebp - 0x20]
call fcn.0055fb9c
test eax, eax
jle 0x567eb6
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0055ffbc
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
dec eax
je 0x567e3b
dec eax
je 0x567e4b
sub eax, 5
je 0x567ea8
jmp 0x567eb6
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x20]
call fcn.004073ec
jmp 0x567eb6
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x1c]
call fcn.00560de0
mov eax, dword [ebp - 0x100]
mov edx, 0x568320
call fcn.00407c3c
je 0x567eb6
lea edx, [ebp - 0x104]
mov eax, dword [ebp - 0x1c]
call fcn.00560f7c
mov eax, dword [ebp - 0x104]
mov edx, 0x568320
call fcn.00407c3c
jne 0x567e98
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
call fcn.00560de0
jmp 0x567eb6
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x20]
call fcn.004073ec
jmp 0x567eb6
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x20]
call fcn.004073ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567ed3
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x16
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov dl, 1
mov eax, dword [0x557934]
call fcn.0055fe80
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x567fa6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x108]
push eax
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00564d50
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x17
mov eax, dword [ebp - 0x10]
call fcn.005609e8
mov eax, dword [ebp + 8]
call fcn.00406fe0
mov eax, dword [ebp - 0x20]
call fcn.0055fb9c
test eax, eax
jle 0x567f90
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0055ffbc
cmp dword [eax + 0x24], 1
jne 0x567f90
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0055ffbc
lea edx, [ebp - 0x10c]
call fcn.00560d30
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp + 8]
mov edx, 0x568330
call fcn.00407af4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x567fad
mov eax, dword [ebp - 0x20]
call fcn.00405330
ret
mov eax, dword [ebp + 0x14]
dec dword [eax]
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00563750
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x567feb
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.0055ff2c
jmp 0x5680f6
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.00405330
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
movzx eax, byte [0x568334]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.00563ce0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.0055fb9c
test eax, eax
je 0x5680f6
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00568338
mov eax, dword [ebp + 0x10]
cmp byte [eax], 1
jne 0x5680f6
mov eax, dword [ebp - 0x18]
call fcn.0055fb9c
dec eax
mov edx, dword [ebp + 0x14]
cmp eax, dword [edx]
jle 0x5680f6
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
inc edx
mov eax, dword [ebp - 0x18]
call fcn.0055ffbc
mov ebx, eax
mov eax, dword [ebx + 0x3c]
sub eax, 0x1d
je 0x568088
dec eax
je 0x5680f6
jmp 0x5680d8
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 0
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00568a54
mov eax, dword [ebp - 0x18]
call fcn.0055fb9c
dec eax
mov edx, dword [ebp + 0x14]
cmp eax, dword [edx]
jle 0x5680f6
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00568338
jmp 0x5680f6
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00568338
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5681c1
lea eax, [ebp - 0x10c]
mov edx, 0xa
call fcn.00407058
lea eax, [ebp - 0xe4]
mov edx, 5
call fcn.00406ff8
lea eax, [ebp - 0xd0]
call fcn.00406fe0
lea eax, [ebp - 0xcc]
call fcn.00406f98
lea eax, [ebp - 0xc8]
call fcn.00406fe0
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.00406ff8
lea eax, [ebp - 0xb4]
mov edx, 8
call fcn.00407058
lea eax, [ebp - 0x94]
call fcn.00406f98
lea eax, [ebp - 0x8c]
mov edx, 0xa
call fcn.00407058
lea eax, [ebp - 0x64]
mov edx, 4
call fcn.00406ff8
lea eax, [ebp - 0x54]
call fcn.00406fe0
lea eax, [ebp - 0x50]
call fcn.00406f98
lea eax, [ebp - 0x4c]
mov edx, 5
call fcn.00407058
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00407058
ret