Function at 0x5883a4
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x34
push 0
push 0
dec ecx
jne 0x5883ad
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
call fcn.00405328
xor eax, eax
push ebp
push 0x589def
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x14], 0xffffffff
cmp dword [ebp - 0xc], 0
jne 0x58841f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
cmp dword [eax + 0xc], 0
jne 0x589dbc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
xor edx, edx
call fcn.00496e64
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x310]
mov eax, dword [ebp - 4]
call fcn.0058a368
jmp 0x589dbc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x58843d
xor ecx, ecx
mov edx, 0x589e08
call fcn.00530888
xor edx, edx
push ebp
push 0x589db5
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x589d53
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x588477
xor ecx, ecx
mov edx, 0x589e24
call fcn.00530888
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x589d49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x5884a5
xor ecx, ecx
mov edx, 0x589e34
call fcn.00530888
mov dl, 1
mov eax, dword [0x41f728]
call fcn.00403edc
mov dword [ebp - 0x24], eax
mov dl, 1
mov eax, dword [0x41f728]
call fcn.00403edc
mov dword [ebp - 0x20], eax
xor edx, edx
push ebp
push 0x589d24
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x589cd8
lea ecx, [ebp - 0x58]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x58]
mov edx, 0x589e50
call fcn.00405284
jne 0x589cd8
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x5c]
mov edx, 0x589e64
call fcn.00405284
jne 0x589cd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x588553
xor ecx, ecx
mov edx, 0x589e74
call fcn.00530888
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jle 0x589d06
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x40], 1
cmp dword [ebp - 0x40], 2
jne 0x5885af
cmp dword [ebp - 0x14], 0
jle 0x5885af
mov eax, dword [ebp - 0x14]
cdq
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x588594
cmp eax, dword [esp]
pop edx
pop eax
je 0x589d06
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov dword [eax + 0x32c], edx
mov dword [ebp - 0x14], 0xffffffff
mov al, byte [0x589e84]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x64]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x64]
mov ecx, 0x589e90
mov edx, 0x589e9c
call fcn.00411acc
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x589cca
inc ebx
lea ecx, [ebp - 0x68]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x68]
mov edx, 0x589eac
call fcn.00405284
jne 0x58868b
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jne 0x58868b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x58863f
xor ecx, ecx
mov edx, 0x589ec0
call fcn.00530888
xor eax, eax
push ebp
push 0x588675
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x6c]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6c]
call fcn.0040c0d4
mov dword [ebp - 0x14], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589cca
lea ecx, [ebp - 0x70]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x70]
mov edx, 0x589ed8
call fcn.00405284
jne 0x5886db
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jne 0x5886db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589cca
xor ecx, ecx
mov edx, 0x589ee8
call fcn.00530888
jmp 0x589cca
lea ecx, [ebp - 0x74]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x74]
mov edx, 0x589f00
call fcn.00405284
jne 0x588869
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0xd
jne 0x588869
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x58872a
xor ecx, ecx
mov edx, 0x589f10
call fcn.00530888
lea ecx, [ebp - 0x78]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x78]
mov edx, 0x589f28
call fcn.00405284
je 0x589cca
xor edx, edx
push ebp
push 0x58883c
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
push ebp
push 0x588794
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x7c]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x7c]
call fcn.0040c0d4
mov edx, dword [ebp - 4]
mov dword [edx + 0x34c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5887ab
lea ecx, [ebp - 0x84]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.0040bc3c
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 4]
add eax, 0x350
call fcn.00404eb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34c]
push eax
push 0
push 0x7ef
mov eax, dword [ebp - 4]
call fcn.004d493c
push eax
call sub.user32.dll_PostMessageA
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f8]
cmp byte [ebx + 0x5d2], 0
je 0x58882f
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0x38]
mov edx, 0x589f34
call fcn.00405184
mov edx, dword [ebp - 0x88]
mov eax, ebx
xor ecx, ecx
call fcn.00530888
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589cca
lea ecx, [ebp - 0x8c]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x8c]
mov edx, 0x589f68
call fcn.00405284
jne 0x588ac6
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 8
jne 0x588ac6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x5888be
xor ecx, ecx
mov edx, 0x589f78
call fcn.00530888
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x589cca
lea ecx, [ebp - 0x90]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.005331f8
lea ecx, [ebp - 0x94]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x94]
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3a0]
call fcn.004cdfd0
lea ecx, [ebp - 0x98]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x98]
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3a0]
add eax, 0x80
call fcn.00404eb0
xor eax, eax
push ebp
push 0x588997
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x9c]
mov edx, 5
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x9c]
call fcn.0040c0d4
mov edx, dword [0x59fdf0]
mov edx, dword [edx]
mov edx, dword [edx + 0x3a0]
mov dword [edx + 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5889b3
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3a0]
cmp dword [eax + 0xc], 1
jne 0x588a8a
xor eax, eax
push ebp
push 0x588a10
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xa0]
mov edx, 6
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xa0]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00533288
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588a2a
xor eax, eax
push ebp
push 0x588a70
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xa4]
mov edx, 7
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xa4]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00533280
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588a8a
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov ebx, dword [eax + 0x3a0]
cmp dword [ebx + 0x80], 0
jne 0x588ab3
mov eax, dword [0x59fdf0]
mov eax, ebx
xor edx, edx
call fcn.004ce0f0
jmp 0x589cca
mov eax, dword [0x59fdf0]
mov eax, ebx
mov dl, 1
call fcn.004ce0f0
jmp 0x589cca
lea ecx, [ebp - 0xa8]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xa8]
mov edx, 0x589f94
call fcn.00405284
jne 0x588c4e
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 5
jne 0x588c4e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x588b1b
xor ecx, ecx
mov edx, 0x589fa8
call fcn.00530888
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x589cca
lea ecx, [ebp - 0xac]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00533230
lea ecx, [ebp - 0xb0]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.0053324c
xor eax, eax
push ebp
push 0x588bbf
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xb4]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xb4]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00533288
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588bdc
xor eax, eax
push ebp
push 0x588c22
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xb8]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xb8]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00533280
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588c3f
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0058a464
jmp 0x589cca
lea ecx, [ebp - 0xbc]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
mov edx, 0x589fc4
call fcn.00405284
jne 0x588d27
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 5
jne 0x588d27
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x588ca3
xor ecx, ecx
mov edx, 0x589fa8
call fcn.00530888
lea ecx, [ebp - 0xc0]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
mov edx, 0x589fd8
call fcn.00405284
jne 0x589cca
lea ecx, [ebp - 0xc4]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xc8]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xcc]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 4]
pop ecx
call fcn.0058aac0
jmp 0x589cca
lea ecx, [ebp - 0xd0]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xd0]
mov edx, 0x589fe4
call fcn.00405284
jne 0x589072
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 0xc
jne 0x589072
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
xor edx, edx
call fcn.00496e64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x588d90
xor ecx, ecx
mov edx, 0x589ff4
call fcn.00530888
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x589cca
lea ecx, [ebp - 0xd4]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp dword [ebp - 0xd4], 0
je 0x589cca
lea ecx, [ebp - 0xd8]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp dword [ebp - 0xd8], 0
je 0x589cca
xor eax, eax
push ebp
push 0x588e40
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xe0]
mov edx, 6
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0xdc]
mov edx, 0x58a00c
call fcn.00405184
mov eax, dword [ebp - 0xdc]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
call fcn.0056c128
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588e4a
xor eax, eax
push ebp
push 0x588eaa
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xe8]
mov edx, 7
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0xe4]
mov edx, 0x58a00c
call fcn.00405184
mov eax, dword [ebp - 0xe4]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
call fcn.0056c1dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588eb4
xor eax, eax
push ebp
push 0x588ecc
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588ed6
xor eax, eax
push ebp
push 0x588f39
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xf0]
mov edx, 8
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0xec]
mov edx, 0x58a00c
call fcn.00405184
mov eax, dword [ebp - 0xec]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
mov eax, dword [eax + 0x68]
call fcn.00486154
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588f43
lea ecx, [ebp - 0xf4]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xf4]
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
call fcn.004cdfd0
lea ecx, [ebp - 0xf8]
mov edx, 9
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00532d94
lea ecx, [ebp - 0xfc]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00532dc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp dword [eax + 0x5dc], 0
jne 0x588fe2
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
xor edx, edx
call fcn.004ce1ac
xor edx, edx
push ebp
push 0x58904f
push dword fs:[edx]
mov dword fs:[edx], esp
lea ecx, [ebp - 0x100]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x100]
call fcn.0040c0d4
mov edx, eax
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
call fcn.00496e74
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
cmp dword [eax + 0x30], 0
jbe 0x589042
mov edx, dword [0x59fdf0]
mov dl, 1
call fcn.00496e64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589cca
lea ecx, [ebp - 0x104]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x104]
mov edx, 0x58a018
call fcn.00405284
jne 0x589253
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 9
jne 0x589253
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
xor edx, edx
call fcn.00496e64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x5890db
xor ecx, ecx
mov edx, 0x58a028
call fcn.00530888
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x589cca
xor eax, eax
push ebp
push 0x58912a
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x108]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x108]
call fcn.0040c0d4
mov edx, dword [ebp - 4]
mov dword [edx + 0x380], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58913f
xor eax, eax
push ebp
push 0x58917e
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x10c]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x10c]
call fcn.0040c0d4
mov edx, dword [ebp - 4]
mov dword [edx + 0x384], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589193
xor eax, eax
push ebp
push 0x5891d2
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x110]
mov edx, 8
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x110]
call fcn.0040c0d4
mov edx, dword [ebp - 4]
mov dword [edx + 0x388], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5891e7
lea ecx, [ebp - 0x114]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 4]
add eax, 0x378
call fcn.00404eb0
lea ecx, [ebp - 0x118]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 4]
add eax, 0x37c
call fcn.00404eb0
push 0
push 0
push 0xb81
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
call fcn.004d493c
push eax
call sub.user32.dll_PostMessageA
jmp 0x589cca
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x11c]
mov edx, 0x58a040
call fcn.00405284
jne 0x589302
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jne 0x589302
lea ecx, [ebp - 0x120]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x120]
mov edx, 0x589fd8
call fcn.00405284
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a0], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3a0], 1
cmc
sbb ecx, ecx
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x310]
mov edx, 0x227
call fcn.00537a20
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3a0], 1
cmc
sbb ecx, ecx
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x340]
mov edx, 0x227
call fcn.00537a20
jmp 0x589cca
lea ecx, [ebp - 0x124]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x124]
mov edx, 0x58a058
call fcn.00405284
jne 0x589408
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 4
jne 0x589408
xor eax, eax
push ebp
push 0x5893e5
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x128]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x128]
call fcn.0040c0d4
cdq
mov dword [0x59fbe4], eax
mov dword [0x59fbe8], edx
lea ecx, [ebp - 0x12c]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x12c]
call fcn.0040c0d4
cdq
mov dword [0x59fbec], eax
mov dword [0x59fbf0], edx
lea ecx, [ebp - 0x130]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x130]
call fcn.0040c0d4
mov dword [0x59fbf4], eax
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x5893d8
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
call fcn.0057b83c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589cca
lea ecx, [ebp - 0x134]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x134]
mov edx, 0x58a070
call fcn.00405284
jne 0x5895f2
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 9
jne 0x5895f2
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x328]
xor edx, edx
call fcn.00496e64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x58947a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a080
call fcn.00530888
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x589cca
xor eax, eax
push ebp
push 0x5894c9
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x138]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x138]
call fcn.0040c0d4
mov edx, dword [ebp - 4]
mov dword [edx + 0x394], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5894de
xor eax, eax
push ebp
push 0x58951d
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x13c]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x13c]
call fcn.0040c0d4
mov edx, dword [ebp - 4]
mov dword [edx + 0x398], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589532
xor eax, eax
push ebp
push 0x589571
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x140]
mov edx, 8
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x140]
call fcn.0040c0d4
mov edx, dword [ebp - 4]
mov dword [edx + 0x39c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589586
lea ecx, [ebp - 0x144]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 4]
add eax, 0x38c
call fcn.00404eb0
lea ecx, [ebp - 0x148]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 4]
add eax, 0x390
call fcn.00404eb0
push 0
push 1
push 0xb81
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
call fcn.004d493c
push eax
call sub.user32.dll_PostMessageA
jmp 0x589cca
lea ecx, [ebp - 0x14c]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x14c]
mov edx, 0x58a098
call fcn.00405284
jne 0x5896bb
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 4
jne 0x5896bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589650
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a0ac
call fcn.00530888
lea ecx, [ebp - 0x150]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x150]
mov edx, 0x589fd8
call fcn.00405284
jne 0x589cca
lea ecx, [ebp - 0x154]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 4]
add eax, 0x330
call fcn.00404eb0
push 0
push 4
push 0x7ef
mov eax, dword [ebp - 4]
call fcn.004d493c
push eax
call sub.user32.dll_PostMessageA
jmp 0x589cca
lea ecx, [ebp - 0x158]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x158]
mov edx, 0x58a0c4
call fcn.00405284
jne 0x5897aa
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 5
jne 0x5897aa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589719
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a0ac
call fcn.00530888
lea ecx, [ebp - 0x15c]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x15c]
mov edx, 0x589fd8
call fcn.00405284
jne 0x589cca
lea ecx, [ebp - 0x160]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 4]
add eax, 0x334
call fcn.00404eb0
lea ecx, [ebp - 0x164]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 4]
add eax, 0x338
call fcn.00404eb0
push 0
push 5
push 0x7ef
mov eax, dword [ebp - 4]
call fcn.004d493c
push eax
call sub.user32.dll_PostMessageA
jmp 0x589cca
lea ecx, [ebp - 0x168]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x168]
mov edx, 0x58a0e0
call fcn.00405284
jne 0x589882
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jle 0x589882
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589806
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a0f8
call fcn.00530888
mov dl, 1
mov eax, dword [0x41f728]
call fcn.00403edc
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x58987b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
mov edx, dword [ebp - 0x1c]
call fcn.0052e620
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.005844a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x589cca
mov eax, dword [ebp - 0x1c]
call fcn.00403f0c
ret
lea ecx, [ebp - 0x170]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x170]
mov edx, 0x58a114
call fcn.00405284
jne 0x5898e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x5898cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a128
call fcn.00530888
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
xor edx, edx
call fcn.00496e64
jmp 0x589cca
lea ecx, [ebp - 0x174]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x174]
mov edx, 0x58a140
call fcn.00405284
jne 0x58993e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589929
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a154
call fcn.00530888
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov dl, 1
call fcn.00496e64
jmp 0x589cca
lea ecx, [ebp - 0x178]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x178]
mov edx, 0x58a16c
call fcn.00405284
jne 0x589a41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x58998b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a180
call fcn.00530888
xor eax, eax
push ebp
push 0x5899c6
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x17c]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x17c]
call fcn.0040c0d4
mov dword [0x59fbe0], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5899da
mov eax, dword [ebp - 4]
call fcn.00588314
test al, al
je 0x589cca
xor eax, eax
push ebp
push 0x589a32
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
cmp eax, dword [0x59fbe0]
je 0x589a25
cmp dword [0x59fbe0], 0
jle 0x589a25
mov eax, dword [0x59fdf0]
mov eax, dword [eax]
mov edx, dword [0x59fbe0]
call fcn.004cd75c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589cca
lea ecx, [ebp - 0x180]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x180]
mov edx, 0x58a19c
call fcn.00405284
jne 0x589c36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589a8e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a1b4
call fcn.00530888
xor eax, eax
push ebp
push 0x589bfc
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x184]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x184]
mov edx, 0x589fd8
call fcn.00405284
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a1], al
lea ecx, [ebp - 0x188]
mov edx, 2
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x188]
mov edx, 0x589fd8
call fcn.00405284
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a2], al
lea ecx, [ebp - 0x18c]
mov edx, 3
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x18c]
mov edx, 0x589fd8
call fcn.00405284
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a3], al
lea ecx, [ebp - 0x190]
mov edx, 4
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x190]
mov edx, 0x589fd8
call fcn.00405284
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a4], al
lea ecx, [ebp - 0x194]
mov edx, 5
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x194]
mov edx, 0x589fd8
call fcn.00405284
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a5], al
lea ecx, [ebp - 0x198]
mov edx, 6
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x198]
mov edx, 0x589fd8
call fcn.00405284
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a6], al
lea ecx, [ebp - 0x19c]
mov edx, 7
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x19c]
mov edx, 0x589fd8
call fcn.00405284
jne 0x589bf2
push 1
push 3
push 0x7ef
mov eax, dword [ebp - 4]
call fcn.004d493c
push eax
call sub.user32.dll_PostMessageA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589c06
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589cca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a1d0
call fcn.00530888
jmp 0x589cca
lea ecx, [ebp - 0x1a0]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1a0]
mov edx, 0x589e64
call fcn.00405284
jne 0x589cca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589cca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor ecx, ecx
mov edx, 0x58a1ec
call fcn.00530888
jmp 0x589cca
inc dword [ebp - 0x40]
dec dword [ebp - 0x54]
jne 0x58856e
jmp 0x589d06
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589cf6
xor ecx, ecx
mov edx, 0x58a204
call fcn.00530888
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov dl, 1
call fcn.00496e64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x589d2b
mov eax, dword [ebp - 0x20]
call fcn.00403f0c
mov eax, dword [ebp - 0x24]
call fcn.00403f0c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x589d7b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x589dbc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x5d2], 0
je 0x589da6
mov cl, 1
mov edx, 0x58a254
call fcn.00530888
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x324]
xor edx, edx
mov dword [eax + 0xc], edx
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x589df6
lea eax, [ebp - 0x1a4]
mov edx, 0x54
call fcn.00404e80
lea eax, [ebp - 0x38]
mov edx, 5
call fcn.00404e80
lea eax, [ebp - 0xc]
call fcn.00404e5c
ret