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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x68
push 0
push 0
dec ecx
jne 0x560624
push ebx
push esi
push edi
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x120]
mov edx, dword [0x556aac]
call fcn.00405648
lea eax, [ebp - 0x218]
mov edx, dword [0x556aac]
call fcn.00405648
lea eax, [ebp - 0x310]
mov edx, dword [0x556aac]
call fcn.00405648
xor eax, eax
push ebp
push 0x5618cc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x7894]
cmp dword [0x5a218c], 0
je 0x560a14
mov eax, dword [0x5a218c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00558db0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7894]
fstp qword [eax + 0x88]
wait
push ebp
call fcn.0055fbbc
pop ecx
mov eax, dword [ebp - 0x14]
call fcn.005636f4
push 0
mov ecx, 0x5618e4
mov edx, 0x5618fc
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 8]
mov dword [ebx + 0x70], eax
push 0
mov ecx, 0x5618e4
mov edx, 0x56190c
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 8]
mov dword [ebx + 0x74], eax
push 0
mov ecx, 0x561920
mov edx, 0x561934
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 8]
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x14]
call fcn.00564bf0
mov dword [ebx + 0x78], eax
mov dl, 1
mov eax, dword [0x4187f8]
call fcn.00403dec
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [ebp - 0xc]
call fcn.0055a924
xor eax, eax
push ebp
push 0x560a0d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [ebp - 0x14]
add eax, 0x78bc
mov ecx, 1
mov edx, dword [0x556b0c]
call fcn.00406128
add esp, 4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5609f7
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78bc]
call fcn.00405f4c
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x14]
add eax, 0x78bc
mov ecx, 1
mov edx, dword [0x556b0c]
call fcn.00406128
add esp, 4
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
lea esi, [edx + eax*8]
lea ecx, [ebp - 0x314]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x314]
lea eax, [esi + 4]
call fcn.00404ce0
push 0
lea eax, [ebp - 0x318]
push eax
mov ecx, 0x561948
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x318]
mov eax, esi
call fcn.00404ce0
push ebp
xor ecx, ecx
mov edx, 0x56195c
mov eax, dword [ebp - 0x18]
call fcn.0055ecc8
pop ecx
mov byte [esi + 0xa6], al
push ebp
xor ecx, ecx
mov edx, 0x561974
mov eax, dword [ebp - 0x18]
call fcn.0055ecc8
pop ecx
mov byte [esi + 0xa5], al
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x561988
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xb0], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x561998
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xb4], eax
push ebp
push 0xff
mov ecx, 3
mov edx, 0x5619ac
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xa8], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x5619bc
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xe8], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x5619d0
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xec], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x5619e4
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xf0], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x5619f8
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xf4], eax
push ebp
push 0xff
mov ecx, 0xc8
mov edx, 0x561a0c
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xe4], eax
push ebp
push 0x7fffffff
mov ecx, 2
mov edx, 0x561a20
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
mov dword [esi + 0xdc], eax
mov dword [esi + 0xc4], 0xffffffff
mov dword [esi + 0xc8], 0xffffffff
mov dword [esi + 0xcc], 0xffffffff
mov dword [esi + 0xd0], 0xffffffff
push ebp
push 0
lea eax, [esi + 8]
xor ecx, ecx
mov edx, 0x59e638
call fcn.0055f57c
pop ecx
cmp dword [esi + 0xa8], 1
jle 0x56099a
push ebp
push 0
lea eax, [esi + 0x3c]
mov cx, 1
mov edx, 0x59e638
call fcn.0055f57c
pop ecx
jmp 0x5609a5
lea edx, [esi + 8]
lea eax, [esi + 0x3c]
call fcn.0055a684
push ebp
push 0x7fffffff
xor ecx, ecx
mov edx, 0x561a34
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
dec eax
sete bl
mov byte [esi + 0xa4], bl
test bl, bl
je 0x5609e0
push ebp
push 0
lea eax, [esi + 0x70]
mov cx, 2
mov edx, 0x59e638
call fcn.0055f57c
pop ecx
jmp 0x5609eb
lea edx, [esi + 0x3c]
lea eax, [esi + 0x70]
call fcn.0055a684
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x560773
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x560a14
lea eax, [ebp - 0xc]
call fcn.0040f048
ret
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x560f1e
xor eax, eax
mov dword [ebp - 0x10], eax
lea ebx, [ebp - 0x308]
mov eax, ebx
mov edx, 0x59e638
mov ecx, dword [0x556a70]
call fcn.0040597c
inc dword [ebp - 0x10]
add ebx, 0x34
cmp dword [ebp - 0x10], 3
jne 0x560a32
mov dword [ebp - 0x268], 3
mov byte [ebp - 0x26b], 0
mov byte [ebp - 0x26a], 0
xor eax, eax
mov dword [ebp - 0x260], eax
xor eax, eax
mov dword [ebp - 0x25c], eax
mov dl, 1
mov eax, dword [0x4187f8]
call fcn.00403dec
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [ebp - 0xc]
call fcn.0055a924
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc]
call fcn.00555660
xor eax, eax
push ebp
push 0x560f17
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x560ec6
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78bc]
call fcn.00405f4c
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x11c]
call fcn.00404c8c
mov dword [ebp - 0x24], 0xffffffff
mov ebx, dword [ebp - 0x20]
dec ebx
test ebx, ebx
jl 0x560b56
inc ebx
xor esi, esi
lea ecx, [ebp - 0x31c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x31c]
mov eax, esi
shl eax, 5
sub eax, esi
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x78bc]
mov eax, dword [ecx + eax*8 + 4]
call fcn.00405098
jne 0x560b52
lea eax, [ebp - 0x120]
mov edx, esi
shl edx, 5
sub edx, esi
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x78bc]
lea edx, [ecx + edx*8]
mov ecx, dword [0x556aac]
call fcn.0040597c
mov dword [ebp - 0x24], esi
jmp 0x560b56
inc esi
dec ebx
jne 0x560af7
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x11c], 0
jne 0x560c5d
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78bc]
call fcn.00405f4c
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x14]
add eax, 0x78bc
mov ecx, 1
mov edx, dword [0x556b0c]
call fcn.00406128
add esp, 4
lea ecx, [ebp - 0x320]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x320]
lea eax, [ebp - 0x11c]
call fcn.00404d24
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 8], eax
push 0x561948
push 0x561a48
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0055579c
mov eax, dword [ebp - 0x328]
lea edx, [ebp - 0x324]
call fcn.00409240
mov edx, dword [ebp - 0x324]
lea eax, [ebp - 0x120]
call fcn.00404d24
or esi, 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78bc]
call fcn.00405f4c
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x560c5d
inc ebx
xor edi, edi
mov eax, edi
shl eax, 5
sub eax, edi
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 4]
lea edx, [ebp - 0x32c]
call fcn.00409240
mov eax, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x120]
call fcn.00405098
jne 0x560c59
mov esi, edi
jmp 0x560c5d
inc edi
dec ebx
jne 0x560c23
cmp dword [ebp - 8], 0
je 0x560eba
test esi, esi
jl 0x560c91
lea eax, [ebp - 0x218]
mov edx, esi
shl edx, 5
sub edx, esi
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x78bc]
lea edx, [ecx + edx*8]
mov ecx, dword [0x556aac]
call fcn.0040597c
jmp 0x560ca8
lea eax, [ebp - 0x218]
lea edx, [ebp - 0x310]
mov ecx, dword [0x556aac]
call fcn.0040597c
push ebp
lea ecx, [ebp - 0x330]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x330]
mov edx, 0x5619ac
mov ecx, dword [ebp - 0x170]
call fcn.0055ef00
pop ecx
mov dword [ebp - 0x78], eax
push ebp
push 1
lea eax, [ebp - 0x118]
xor ecx, ecx
lea edx, [ebp - 0x210]
call fcn.0055f57c
pop ecx
cmp dword [ebp - 0x78], 1
jle 0x560d0c
push ebp
push 1
lea eax, [ebp - 0xe4]
mov cx, 1
lea edx, [ebp - 0x1dc]
call fcn.0055f57c
pop ecx
jmp 0x560d1d
lea edx, [ebp - 0x118]
lea eax, [ebp - 0xe4]
call fcn.0055a684
push ebp
push 0x7fffffff
mov edx, 0x561a34
xor ecx, ecx
mov eax, dword [ebp - 0x18]
call fcn.0055ee0c
pop ecx
dec eax
sete al
mov edx, dword [ebp - 0x10]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x78bc]
mov byte [ecx + edx*8 + 0xa4], al
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
cmp byte [edx + eax*8 + 0xa4], 0
je 0x560d89
push ebp
push 1
lea eax, [ebp - 0xb0]
mov cx, 2
lea edx, [ebp - 0x1a8]
call fcn.0055f57c
pop ecx
jmp 0x560d9a
lea edx, [ebp - 0xe4]
lea eax, [ebp - 0xb0]
call fcn.0055a684
push ebp
lea ecx, [ebp - 0x334]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x334]
mov edx, 0x56195c
mov cl, byte [ebp - 0x172]
call fcn.0055efa8
pop ecx
mov byte [ebp - 0x7a], al
push ebp
lea ecx, [ebp - 0x338]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x338]
mov edx, 0x561974
mov cl, byte [ebp - 0x173]
call fcn.0055efa8
pop ecx
mov byte [ebp - 0x7b], al
push ebp
lea ecx, [ebp - 0x33c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x33c]
mov edx, 0x561988
mov ecx, dword [ebp - 0x168]
call fcn.0055ef00
pop ecx
mov dword [ebp - 0x70], eax
push ebp
lea ecx, [ebp - 0x340]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x340]
push eax
mov edx, 0x561998
mov ecx, dword [ebp - 0x164]
pop eax
call fcn.0055ef00
pop ecx
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x11c], 0
je 0x560eba
cmp dword [ebp - 0x24], 0
jl 0x560e84
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
lea eax, [edx + eax*8]
lea edx, [ebp - 0x120]
mov ecx, dword [0x556aac]
call fcn.0040597c
jmp 0x560eaf
mov eax, dword [ebp - 0x20]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
lea eax, [edx + eax*8 - 0xf8]
lea edx, [ebp - 0x120]
mov ecx, dword [0x556aac]
call fcn.0040597c
lea eax, [ebp - 0x11c]
call fcn.00404c8c
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x560ac9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x560f1e
cmp dword [ebp - 0xc], 0
je 0x560f16
jmp 0x560f02
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x560ef8
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.00403e1c
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x560edb
lea eax, [ebp - 0xc]
call fcn.0040f048
ret
mov eax, 0xff00000f
call fcn.00426be4
push eax
mov edx, 0x561934
mov ecx, 0x561a54
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e14], eax
push 0
mov edx, 0x561934
mov ecx, 0x561a64
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e18], eax
mov eax, 0xff0000
call fcn.00426be4
push eax
mov edx, 0x561934
mov ecx, 0x561a78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e1c], eax
mov eax, 0xff
call fcn.00426be4
push eax
mov edx, 0x561934
mov ecx, 0x561a8c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e20], eax
push 0
mov edx, 0x561934
mov ecx, 0x561a9c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7eb0], eax
mov edx, 0x561ab0
mov eax, dword [ebp - 0x14]
call fcn.00561d98
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x56102c
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x24]
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e24], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x1c]
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e28], eax
jmp 0x561052
mov eax, 0xff000008
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e24], eax
mov eax, 0xff000005
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e28], eax
mov edx, 0x561ac0
mov eax, dword [ebp - 0x14]
call fcn.00561d98
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x5610b4
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x24]
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7ebc], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x1c]
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7eb8], eax
jmp 0x5610da
mov eax, 0xff000017
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7ebc], eax
mov eax, 0xff000018
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7eb8], eax
mov edx, 0x561ad0
mov eax, dword [ebp - 0x14]
call fcn.00561d98
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
call fcn.0055d228
test al, al
je 0x5611ca
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
cmp dword [edx + eax*8 + 0xa8], 1
jle 0x561152
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x58]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e38], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x50]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e34], eax
jmp 0x561188
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x24]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e38], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x1c]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e34], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x24]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e30], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x1c]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e2c], eax
jmp 0x5611fe
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7e38], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7e30], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7e34], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7e2c], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e30]
cmp eax, 0xffffffff
je 0x561217
cmp eax, 0xff00ff
jne 0x56132f
mov edx, 0x561ae4
mov eax, dword [ebp - 0x14]
call fcn.00561d98
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
call fcn.0055d228
test al, al
je 0x5612e3
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x58]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e30], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x50]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e2c], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x78bc]
mov eax, dword [edx + eax*8 + 0x50]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e34], eax
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x7e30]
cmp ebx, 0xffffffff
je 0x5612c2
cmp ebx, 0xff00ff
je 0x5612c2
mov eax, ebx
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e30], eax
jmp 0x5612cf
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7e30], 0xff00000e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e30]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e38], eax
jmp 0x56132f
mov eax, 0xff00000e
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e38], eax
mov eax, 0xff00000e
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e30], eax
mov eax, 0xff00000d
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e2c], eax
mov eax, 0xff00000d
call fcn.00426be4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e34], eax
push 0x8000
mov edx, 0x561934
mov ecx, 0x561af8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e4c], eax
push 0x8484
mov edx, 0x561934
mov ecx, 0x561b0c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e50], eax
push 0xff
mov edx, 0x561934
mov ecx, 0x561b24
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e54], eax
push 0x8597d9
mov ecx, 0x561b24
mov edx, 0x561934
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e58], eax
push 0x4ab28f
mov ecx, 0x561b24
mov edx, 0x561934
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e5c], eax
push 0x6cc2a5
mov edx, 0x561934
mov ecx, 0x561b3c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e60], eax
push 0x40ffff
mov edx, 0x561934
mov ecx, 0x561b50
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e64], eax
push 0x95a7e9
mov edx, 0x561934
mov ecx, 0x561b64
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e68], eax
push 0x8597d9
mov ecx, 0x561b64
mov edx, 0x561934
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e6c], eax
push 0x4ab28f
mov ecx, 0x561b64
mov edx, 0x561934
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e70], eax
push 0
mov edx, 0x561934
mov ecx, 0x561b7c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e74], eax
push 0
mov edx, 0x561934
mov ecx, 0x561b90
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e78], eax
push 0
mov edx, 0x561934
mov ecx, 0x561ba4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e7c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e28]
push eax
mov edx, 0x561934
mov ecx, 0x561bb8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e40], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e24]
push eax
mov edx, 0x561934
mov ecx, 0x561bd0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e3c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e28]
push eax
mov edx, 0x561934
mov ecx, 0x561be4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e44], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x7e28]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e24]
mov cl, 0xd
call fcn.0053ef2c
push eax
mov edx, 0x561934
mov ecx, 0x561bf8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e48], eax
push ebp
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e14]
mov cl, 0xb1
mov edx, 0xffffff
call fcn.0053ef2c
call fcn.00560614
cdq
push edx
push eax
mov eax, 0x561934
mov edx, 0x561c0c
call fcn.0055ef28
pop ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e80], eax
push ebp
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e14]
call fcn.00560614
cdq
push edx
push eax
mov eax, 0x561934
mov edx, 0x561c24
call fcn.0055ef28
pop ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e84], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7eb0]
push eax
mov edx, 0x561934
mov ecx, 0x561c3c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e88], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e18]
push eax
mov edx, 0x561934
mov ecx, 0x561c54
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e8c], eax
push ebp
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e14]
call fcn.00560614
cdq
push edx
push eax
mov eax, 0x561934
mov edx, 0x561c6c
call fcn.0055ef28
pop ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e90], eax
push ebp
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e14]
mov cl, 0xf4
xor edx, edx
call fcn.0053ef2c
call fcn.00560614
cdq
push edx
push eax
mov eax, 0x561934
mov edx, 0x561c84
call fcn.0055ef28
pop ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e94], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7eb0]
push eax
mov edx, 0x561934
mov ecx, 0x561c9c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e98], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e18]
push eax
mov edx, 0x561934
mov ecx, 0x561cb4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e9c], eax
push ebp
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e14]
mov cl, 0xe9
xor edx, edx
call fcn.0053ef2c
call fcn.00560614
cdq
push edx
push eax
mov eax, 0x561934
mov edx, 0x561ccc
call fcn.0055ef28
pop ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7ea0], eax
push ebp
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e14]
mov cl, 0xe9
xor edx, edx
call fcn.0053ef2c
call fcn.00560614
cdq
push edx
push eax
mov eax, 0x561934
mov edx, 0x561ce8
call fcn.0055ef28
pop ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7ea4], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7eb0]
push eax
mov edx, 0x561934
mov ecx, 0x561d04
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7ea8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e18]
push eax
mov edx, 0x561934
mov ecx, 0x561d20
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7eac], eax
push 0xffffffffffffffff
mov edx, 0x561934
mov ecx, 0x561d38
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7eb4], ebx
inc ebx
jne 0x5617b5
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x7e28]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e24]
mov cl, 0x1e
call fcn.0053ef2c
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7eb4], eax
xor ebx, ebx
mov esi, ebx
and esi, 0x7f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + esi*4 + 0x7ec0]
test eax, eax
je 0x5617d0
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + esi*4 + 0x7e14]
push eax
call sub.gdi32.dll_CreateSolidBrush
mov edx, dword [ebp - 0x14]
mov dword [edx + esi*4 + 0x7ec0], eax
inc ebx
cmp bl, 6
jne 0x5617b7
mov edx, 0x561d4c
mov eax, dword [ebp - 0x14]
call fcn.00561d98
test eax, eax
jge 0x561824
push 1
push 0x64
push 0xffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e18]
push eax
mov edx, 0x561d4c
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
call fcn.0055a728
mov edx, 0x561d60
mov eax, dword [ebp - 0x14]
call fcn.00561d98
test eax, eax
jge 0x56185d
push 1
push 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e14]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e18]
push eax
mov edx, 0x561d60
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
call fcn.0055a728
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x78a8]
mov eax, dword [ebp - 0x14]
call fcn.00559ac0
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x78ac]
mov eax, dword [ebp - 0x14]
call fcn.0055930c
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x78b4]
mov eax, dword [ebp - 0x14]
call fcn.00559620
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5618d3
lea eax, [ebp - 0x340]
mov edx, 0xc
call fcn.00404cb0
lea eax, [ebp - 0x310]
mov edx, dword [0x556aac]
mov ecx, 3
call fcn.00405764
lea eax, [ebp - 0x18]
call fcn.00404c8c
ret