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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x68
push 0
push 0
dec ecx
jne 0x550ca4
push ebx
push esi
push edi
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x120]
mov edx, dword [0x54712c]
call fcn.004055f4
lea eax, [ebp - 0x218]
mov edx, dword [0x54712c]
call fcn.004055f4
lea eax, [ebp - 0x310]
mov edx, dword [0x54712c]
call fcn.004055f4
xor eax, eax
push ebp
push 0x551f4c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x7894]
cmp dword [0x58fa90], 0
je 0x551094
mov eax, dword [0x58fa90]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00549430
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7894]
fstp qword [eax + 0x88]
wait
push ebp
call fcn.0055023c
pop ecx
mov eax, dword [ebp - 0x14]
call fcn.00553d74
push 0
mov ecx, 0x551f64
mov edx, 0x551f7c
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 8]
mov dword [ebx + 0x70], eax
push 0
mov ecx, 0x551f64
mov edx, 0x551f8c
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 8]
mov dword [ebx + 0x74], eax
push 0
mov ecx, 0x551fa0
mov edx, 0x551fb4
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.00555270
mov dword [ebx + 0x78], eax
mov dl, 1
mov eax, dword [0x418738]
call fcn.00403db8
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [ebp - 0xc]
call fcn.0054afa4
xor eax, eax
push ebp
push 0x55108d
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 [0x54718c]
call fcn.004060d4
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 0x551077
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.00405ef8
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 [0x54718c]
call fcn.004060d4
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.00404c8c
push 0
lea eax, [ebp - 0x318]
push eax
mov ecx, 0x551fc8
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.00404c8c
push ebp
xor ecx, ecx
mov edx, 0x551fdc
mov eax, dword [ebp - 0x18]
call fcn.0054f348
pop ecx
mov byte [esi + 0xa6], al
push ebp
xor ecx, ecx
mov edx, 0x551ff4
mov eax, dword [ebp - 0x18]
call fcn.0054f348
pop ecx
mov byte [esi + 0xa5], al
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x552008
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xb0], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x552018
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xb4], eax
push ebp
push 0xff
mov ecx, 3
mov edx, 0x55202c
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xa8], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x55203c
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xe8], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x552050
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xec], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x552064
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xf0], eax
push ebp
push 0xff
xor ecx, ecx
mov edx, 0x552078
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xf4], eax
push ebp
push 0xff
mov ecx, 0xc8
mov edx, 0x55208c
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
mov dword [esi + 0xe4], eax
push ebp
push 0x7fffffff
mov ecx, 2
mov edx, 0x5520a0
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
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, 0x58d5bc
call fcn.0054fbfc
pop ecx
cmp dword [esi + 0xa8], 1
jle 0x55101a
push ebp
push 0
lea eax, [esi + 0x3c]
mov cx, 1
mov edx, 0x58d5bc
call fcn.0054fbfc
pop ecx
jmp 0x551025
lea edx, [esi + 8]
lea eax, [esi + 0x3c]
call fcn.0054ad04
push ebp
push 0x7fffffff
xor ecx, ecx
mov edx, 0x5520b4
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
pop ecx
dec eax
sete bl
mov byte [esi + 0xa4], bl
test bl, bl
je 0x551060
push ebp
push 0
lea eax, [esi + 0x70]
mov cx, 2
mov edx, 0x58d5bc
call fcn.0054fbfc
pop ecx
jmp 0x55106b
lea edx, [esi + 0x3c]
lea eax, [esi + 0x70]
call fcn.0054ad04
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x550df3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x551094
lea eax, [ebp - 0xc]
call fcn.0040ef88
ret
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x55159e
xor eax, eax
mov dword [ebp - 0x10], eax
lea ebx, [ebp - 0x308]
mov eax, ebx
mov edx, 0x58d5bc
mov ecx, dword [0x5470f0]
call fcn.00405928
inc dword [ebp - 0x10]
add ebx, 0x34
cmp dword [ebp - 0x10], 3
jne 0x5510b2
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 [0x418738]
call fcn.00403db8
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [ebp - 0xc]
call fcn.0054afa4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc]
call fcn.00545ce0
xor eax, eax
push ebp
push 0x551597
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 0x551546
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78bc]
call fcn.00405ef8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x11c]
call fcn.00404c38
mov dword [ebp - 0x24], 0xffffffff
mov ebx, dword [ebp - 0x20]
dec ebx
test ebx, ebx
jl 0x5511d6
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.00405044
jne 0x5511d2
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 [0x54712c]
call fcn.00405928
mov dword [ebp - 0x24], esi
jmp 0x5511d6
inc esi
dec ebx
jne 0x551177
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x11c], 0
jne 0x5512dd
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78bc]
call fcn.00405ef8
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 [0x54718c]
call fcn.004060d4
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.00404cd0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 8], eax
push 0x551fc8
push 0x5520c8
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.00545e1c
mov eax, dword [ebp - 0x328]
lea edx, [ebp - 0x324]
call fcn.004091c4
mov edx, dword [ebp - 0x324]
lea eax, [ebp - 0x120]
call fcn.00404cd0
or esi, 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78bc]
call fcn.00405ef8
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x5512dd
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.004091c4
mov eax, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x120]
call fcn.00405044
jne 0x5512d9
mov esi, edi
jmp 0x5512dd
inc edi
dec ebx
jne 0x5512a3
cmp dword [ebp - 8], 0
je 0x55153a
test esi, esi
jl 0x551311
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 [0x54712c]
call fcn.00405928
jmp 0x551328
lea eax, [ebp - 0x218]
lea edx, [ebp - 0x310]
mov ecx, dword [0x54712c]
call fcn.00405928
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, 0x55202c
mov ecx, dword [ebp - 0x170]
call fcn.0054f580
pop ecx
mov dword [ebp - 0x78], eax
push ebp
push 1
lea eax, [ebp - 0x118]
xor ecx, ecx
lea edx, [ebp - 0x210]
call fcn.0054fbfc
pop ecx
cmp dword [ebp - 0x78], 1
jle 0x55138c
push ebp
push 1
lea eax, [ebp - 0xe4]
mov cx, 1
lea edx, [ebp - 0x1dc]
call fcn.0054fbfc
pop ecx
jmp 0x55139d
lea edx, [ebp - 0x118]
lea eax, [ebp - 0xe4]
call fcn.0054ad04
push ebp
push 0x7fffffff
mov edx, 0x5520b4
xor ecx, ecx
mov eax, dword [ebp - 0x18]
call fcn.0054f48c
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 0x551409
push ebp
push 1
lea eax, [ebp - 0xb0]
mov cx, 2
lea edx, [ebp - 0x1a8]
call fcn.0054fbfc
pop ecx
jmp 0x55141a
lea edx, [ebp - 0xe4]
lea eax, [ebp - 0xb0]
call fcn.0054ad04
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, 0x551fdc
mov cl, byte [ebp - 0x172]
call fcn.0054f628
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, 0x551ff4
mov cl, byte [ebp - 0x173]
call fcn.0054f628
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, 0x552008
mov ecx, dword [ebp - 0x168]
call fcn.0054f580
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, 0x552018
mov ecx, dword [ebp - 0x164]
pop eax
call fcn.0054f580
pop ecx
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x11c], 0
je 0x55153a
cmp dword [ebp - 0x24], 0
jl 0x551504
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 [0x54712c]
call fcn.00405928
jmp 0x55152f
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 [0x54712c]
call fcn.00405928
lea eax, [ebp - 0x11c]
call fcn.00404c38
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x551149
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55159e
cmp dword [ebp - 0xc], 0
je 0x551596
jmp 0x551582
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x551578
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.00403de8
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 0x55155b
lea eax, [ebp - 0xc]
call fcn.0040ef88
ret
mov eax, 0xff00000f
call fcn.00426b04
push eax
mov edx, 0x551fb4
mov ecx, 0x5520d4
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, 0x551fb4
mov ecx, 0x5520e4
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.00426b04
push eax
mov edx, 0x551fb4
mov ecx, 0x5520f8
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.00426b04
push eax
mov edx, 0x551fb4
mov ecx, 0x55210c
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, 0x551fb4
mov ecx, 0x55211c
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, 0x552130
mov eax, dword [ebp - 0x14]
call fcn.00552418
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x5516ac
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.00426b04
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.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e28], eax
jmp 0x5516d2
mov eax, 0xff000008
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e24], eax
mov eax, 0xff000005
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e28], eax
mov edx, 0x552140
mov eax, dword [ebp - 0x14]
call fcn.00552418
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x551734
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.00426b04
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.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7eb8], eax
jmp 0x55175a
mov eax, 0xff000017
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7ebc], eax
mov eax, 0xff000018
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7eb8], eax
mov edx, 0x552150
mov eax, dword [ebp - 0x14]
call fcn.00552418
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
call fcn.0054d8a8
test al, al
je 0x55184a
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 0x5517d2
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 0x551808
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 0x55187e
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 0x551897
cmp eax, 0xff00ff
jne 0x5519af
mov edx, 0x552164
mov eax, dword [ebp - 0x14]
call fcn.00552418
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
call fcn.0054d8a8
test al, al
je 0x551963
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 0x551942
cmp ebx, 0xff00ff
je 0x551942
mov eax, ebx
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e30], eax
jmp 0x55194f
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 0x5519af
mov eax, 0xff00000e
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e38], eax
mov eax, 0xff00000e
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e30], eax
mov eax, 0xff00000d
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e2c], eax
mov eax, 0xff00000d
call fcn.00426b04
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x7e34], eax
push 0x8000
mov edx, 0x551fb4
mov ecx, 0x552178
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, 0x551fb4
mov ecx, 0x55218c
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, 0x551fb4
mov ecx, 0x5521a4
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, 0x5521a4
mov edx, 0x551fb4
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, 0x5521a4
mov edx, 0x551fb4
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, 0x551fb4
mov ecx, 0x5521bc
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, 0x551fb4
mov ecx, 0x5521d0
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, 0x551fb4
mov ecx, 0x5521e4
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, 0x5521e4
mov edx, 0x551fb4
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, 0x5521e4
mov edx, 0x551fb4
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, 0x551fb4
mov ecx, 0x5521fc
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, 0x551fb4
mov ecx, 0x552210
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, 0x551fb4
mov ecx, 0x552224
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, 0x551fb4
mov ecx, 0x552238
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, 0x551fb4
mov ecx, 0x552250
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, 0x551fb4
mov ecx, 0x552264
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.0053a224
push eax
mov edx, 0x551fb4
mov ecx, 0x552278
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.0053a224
call fcn.00550c94
cdq
push edx
push eax
mov eax, 0x551fb4
mov edx, 0x55228c
call fcn.0054f5a8
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.00550c94
cdq
push edx
push eax
mov eax, 0x551fb4
mov edx, 0x5522a4
call fcn.0054f5a8
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, 0x551fb4
mov ecx, 0x5522bc
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, 0x551fb4
mov ecx, 0x5522d4
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.00550c94
cdq
push edx
push eax
mov eax, 0x551fb4
mov edx, 0x5522ec
call fcn.0054f5a8
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.0053a224
call fcn.00550c94
cdq
push edx
push eax
mov eax, 0x551fb4
mov edx, 0x552304
call fcn.0054f5a8
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, 0x551fb4
mov ecx, 0x55231c
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, 0x551fb4
mov ecx, 0x552334
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.0053a224
call fcn.00550c94
cdq
push edx
push eax
mov eax, 0x551fb4
mov edx, 0x55234c
call fcn.0054f5a8
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.0053a224
call fcn.00550c94
cdq
push edx
push eax
mov eax, 0x551fb4
mov edx, 0x552368
call fcn.0054f5a8
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, 0x551fb4
mov ecx, 0x552384
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, 0x551fb4
mov ecx, 0x5523a0
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, 0x551fb4
mov ecx, 0x5523b8
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 0x551e35
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.0053a224
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 0x551e50
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 0x551e37
mov edx, 0x5523cc
mov eax, dword [ebp - 0x14]
call fcn.00552418
test eax, eax
jge 0x551ea4
push 1
push 0x64
push 0xffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x7e18]
push eax
mov edx, 0x5523cc
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
call fcn.0054ada8
mov edx, 0x5523e0
mov eax, dword [ebp - 0x14]
call fcn.00552418
test eax, eax
jge 0x551edd
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, 0x5523e0
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
call fcn.0054ada8
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x78a8]
mov eax, dword [ebp - 0x14]
call fcn.0054a140
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x78ac]
mov eax, dword [ebp - 0x14]
call fcn.0054998c
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x78b4]
mov eax, dword [ebp - 0x14]
call fcn.00549ca0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x551f53
lea eax, [ebp - 0x340]
mov edx, 0xc
call fcn.00404c5c
lea eax, [ebp - 0x310]
mov edx, dword [0x54712c]
mov ecx, 3
call fcn.00405710
lea eax, [ebp - 0x18]
call fcn.00404c38
ret