Function at 0x502d80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5abb43
mov eax, dword fs:[0]
push eax
mov eax, 0x10a0
call fcn.0056e430
mov eax, dword [0x608554]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push ecx
push str.CBaseMsgMgr::OutputMessage
lea ecx, [ebp - 0x1048]
mov dword [ebp - 0x1064], eax
call fcn.0040a480
mov dword [ebp - 4], 0
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x502e56
test byte [ecx + 0x1c], 1
je 0x502e19
cmp dword [0x608f68], 8
mov eax, 0x608f54
mov edx, 0x5dc934
cmovae eax, dword [0x608f54]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0xa
call fcn.00401840
mov ecx, dword [0x608f30]
add esp, 0xc
cmp ecx, 0x608f30
je 0x502e56
test byte [ecx + 0x1c], 1
je 0x502e56
cmp dword [0x608f68], 8
mov eax, 0x608f54
push dword [ebp + 0xc]
cmovae eax, dword [0x608f54]
mov edx, 0x5dc934
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0xb
call fcn.004018a0
add esp, 0x10
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x5041cf
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x10ac], edi
mov byte [ebp - 4], 1
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x5041d9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1070], eax
mov byte [ebp - 4], 2
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x5041e3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x108c], eax
push 0x800
lea eax, [ebp - 0x1010]
mov byte [ebp - 4], 3
push 0
push eax
call fcn.00571c00
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.00571c00
mov eax, dword [0x60e370]
add esp, 0x18
mov esi, 0x60e370
or ebx, 0xffffffff
mov dword [ebp - 0x1074], esi
test eax, eax
je 0x502f1f
nop dword [eax]
cmp dword [ebp + 0xc], eax
je 0x502ff3
mov eax, dword [esi + 0x8c]
add esi, 0x8c
mov dword [ebp - 0x1074], esi
test eax, eax
jne 0x502f00
mov esi, 2
mov byte [ebp - 0x1044], 1
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x502f6f
test byte [ecx + 0x1c], 1
je 0x502f6f
cmp dword [0x608f68], 8
mov eax, 0x608f54
push esi
push dword [ebp + 0xc]
cmovae eax, dword [0x608f54]
mov edx, 0x5dc934
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0xd
call fcn.00437f70
add esp, 0x14
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x108c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x502f90
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x1070]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x502fb1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x502fca
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1048]
call fcn.0040a570
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056d977
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x502f1f
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10ac]
call fcn.00403020
mov edi, dword [ebp - 0x10ac]
lea eax, [ebp - 0x1010]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [ebp - 0x1064]
cmp dword [eax + 4], 0
jne 0x503051
lea eax, [ebp + 0x10]
push eax
push 0
lea eax, [ebp - 0x1010]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x810]
push 0x400
push eax
call fcn.00437f10
add esp, 0x18
jmp 0x503e80
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x5041ed
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10a0], eax
mov byte [ebp - 4], 4
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x5041f7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1050], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x10a0]
push dword [ebp + 0xc]
call fcn.00403020
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x10a0]
push eax
call fcn.00504a80
mov esi, dword [ebp - 0x10a0]
push ecx
mov ebx, esp
mov dword [ebp - 0x1088], ebx
lea eax, [esi - 0x10]
mov ecx, eax
mov dword [ebp - 0x1088], eax
call fcn.00403af0
add eax, 0x10
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1064]
mov ecx, ebx
call fcn.00504d30
mov edx, eax
mov dword [ebp - 0x1054], edx
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x50312d
test byte [ecx + 0x1c], 4
je 0x50312d
cmp dword [0x608f68], 8
mov eax, 0x608f54
push edx
cmovae eax, dword [0x608f54]
mov edx, 0x5dc934
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0xc
call fcn.004018a0
add esp, 0x10
mov eax, dword [ebp - 0x1074]
lea ecx, [ebp - 0x104c]
add eax, 0xc
push eax
call fcn.00403320
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1054]
dec eax
cmp eax, 8
ja case.default.0x503156
jmp dword [eax*4 + 0x50420c]
push 1
push dword [ebp - 0x104c]
lea eax, [ebp - 0x1054]
mov ecx, ebx
push eax
call fcn.005046f0
mov byte [ebp - 4], 7
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 6
add esp, 0xc
mov edx, dword [ebp - 0x1054]
add edx, 0xfffffff0
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503df0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x503df0
push 2
push dword [ebp - 0x104c]
lea eax, [ebp - 0x1058]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x1054]
push 1
mov byte [ebp - 4], 8
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 9
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 8
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1054]
add esp, 0x10
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503228
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1058]
add edx, 0xfffffff0
jmp 0x503199
push 3
push dword [ebp - 0x104c]
lea eax, [ebp - 0x1060]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1058], eax
push 2
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x105c]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x1054]
push 1
mov byte [ebp - 4], 0xb
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1058]
push dword [ecx]
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 0xb
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1054]
add esp, 0x14
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5032d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, ebx
mov edx, dword [ebp - 0x105c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5032f5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1060]
add edx, 0xfffffff0
jmp 0x503199
push 4
push dword [ebp - 0x104c]
lea eax, [ebp - 0x106c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1060], eax
push 3
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x1068]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x105c], eax
push 2
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1054]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x1058]
push 1
mov byte [ebp - 4], 0xf
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x1060]
push dword [ecx]
mov ecx, dword [ebp - 0x105c]
push dword [ecx]
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 0xf
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1058]
add esp, 0x18
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5033c9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, ebx
mov edx, dword [ebp - 0x1054]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5033ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov eax, ebx
mov edx, dword [ebp - 0x1068]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x50340b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x106c]
add edx, 0xfffffff0
jmp 0x503199
push 5
push dword [ebp - 0x104c]
lea eax, [ebp - 0x107c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x106c], eax
push 4
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x1078]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1068], eax
push 3
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x1054]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1060], eax
push 2
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1058]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x105c]
push 1
mov byte [ebp - 4], 0x14
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x106c]
push dword [ecx]
mov ecx, dword [ebp - 0x1068]
push dword [ecx]
mov ecx, dword [ebp - 0x1060]
push dword [ecx]
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 0x14
or ebx, 0xffffffff
mov edx, dword [ebp - 0x105c]
add esp, 0x1c
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503507
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
mov eax, ebx
mov edx, dword [ebp - 0x1058]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503528
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x12
mov eax, ebx
mov edx, dword [ebp - 0x1054]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503549
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov eax, ebx
mov edx, dword [ebp - 0x1078]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x50356a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x107c]
add edx, 0xfffffff0
jmp 0x503199
push 6
push dword [ebp - 0x104c]
lea eax, [ebp - 0x1084]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x107c], eax
push 5
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x1080]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1078], eax
push 4
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x1054]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x106c], eax
push 3
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x1058]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1068], eax
push 2
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x105c]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x1060]
push 1
mov byte [ebp - 4], 0x1a
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x107c]
push dword [ecx]
mov ecx, dword [ebp - 0x1078]
push dword [ecx]
mov ecx, dword [ebp - 0x106c]
push dword [ecx]
mov ecx, dword [ebp - 0x1068]
push dword [ecx]
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 0x1a
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1060]
add esp, 0x20
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x50368e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov eax, ebx
mov edx, dword [ebp - 0x105c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5036af
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov eax, ebx
mov edx, dword [ebp - 0x1058]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5036d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, ebx
mov edx, dword [ebp - 0x1054]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5036f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x1080]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503712
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1084]
add edx, 0xfffffff0
jmp 0x503199
push 7
push dword [ebp - 0x104c]
lea eax, [ebp - 0x1094]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1084], eax
push 6
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x1090]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1080], eax
push 5
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x1054]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x107c], eax
push 4
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x1058]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1078], eax
push 3
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x105c]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x106c], eax
push 2
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x1060]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x1068]
push 1
mov byte [ebp - 4], 0x21
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x1084]
push dword [ecx]
mov ecx, dword [ebp - 0x1080]
push dword [ecx]
mov ecx, dword [ebp - 0x107c]
push dword [ecx]
mov ecx, dword [ebp - 0x1078]
push dword [ecx]
mov ecx, dword [ebp - 0x106c]
push dword [ecx]
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 0x21
add esp, 0x24
mov edx, dword [ebp - 0x1068]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x50385e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x20
mov eax, ebx
mov edx, dword [ebp - 0x1060]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x50387f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1f
mov eax, ebx
mov edx, dword [ebp - 0x105c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5038a0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov eax, ebx
mov edx, dword [ebp - 0x1058]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5038c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
mov eax, ebx
mov edx, dword [ebp - 0x1054]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5038e2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1c
mov eax, ebx
mov edx, dword [ebp - 0x1090]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503903
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1094]
add edx, 0xfffffff0
jmp 0x503199
push 8
push dword [ebp - 0x104c]
lea eax, [ebp - 0x109c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1094], eax
push 7
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x1098]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1090], eax
push 6
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x1054]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1084], eax
push 5
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x1058]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1080], eax
push 4
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x105c]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x107c], eax
push 3
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x1060]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1078], eax
push 2
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x1068]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x106c]
push 1
mov byte [ebp - 4], 0x29
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x1094]
push dword [ecx]
mov ecx, dword [ebp - 0x1090]
push dword [ecx]
mov ecx, dword [ebp - 0x1084]
push dword [ecx]
mov ecx, dword [ebp - 0x1080]
push dword [ecx]
mov ecx, dword [ebp - 0x107c]
push dword [ecx]
mov ecx, dword [ebp - 0x1078]
push dword [ecx]
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 0x29
or ebx, 0xffffffff
mov edx, dword [ebp - 0x106c]
add esp, 0x28
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503a77
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x28
mov eax, ebx
mov edx, dword [ebp - 0x1068]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503a98
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x27
mov eax, ebx
mov edx, dword [ebp - 0x1060]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503ab9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x26
mov eax, ebx
mov edx, dword [ebp - 0x105c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503ada
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x25
mov eax, ebx
mov edx, dword [ebp - 0x1058]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503afb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x24
mov eax, ebx
mov edx, dword [ebp - 0x1054]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503b1c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x23
mov eax, ebx
mov edx, dword [ebp - 0x1098]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503b3d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x109c]
add edx, 0xfffffff0
jmp 0x503199
push 9
push dword [ebp - 0x104c]
lea eax, [ebp - 0x10a8]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x109c], eax
push 8
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x10a4]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1098], eax
push 7
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x1054]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1094], eax
push 6
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x1058]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1090], eax
push 5
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x105c]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1084], eax
push 4
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x1060]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x1080], eax
push 3
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x1068]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov dword [ebp - 0x107c], eax
push 2
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x106c]
push dword [ebp - 0x104c]
mov ecx, ebx
push eax
call fcn.005046f0
mov ebx, eax
mov ecx, dword [ebp - 0x1064]
lea eax, [ebp - 0x1078]
push 1
mov byte [ebp - 4], 0x32
push dword [ebp - 0x104c]
push eax
call fcn.005046f0
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x109c]
push dword [ecx]
mov ecx, dword [ebp - 0x1098]
push dword [ecx]
mov ecx, dword [ebp - 0x1094]
push dword [ecx]
mov ecx, dword [ebp - 0x1090]
push dword [ecx]
mov ecx, dword [ebp - 0x1084]
push dword [ecx]
mov ecx, dword [ebp - 0x1080]
push dword [ecx]
mov ecx, dword [ebp - 0x107c]
push dword [ecx]
push dword [ebx]
push dword [eax]
lea eax, [ebp - 0x1050]
push esi
push eax
call fcn.005060c0
mov byte [ebp - 4], 0x32
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1078]
add esp, 0x2c
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503cd9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x31
mov eax, ebx
mov edx, dword [ebp - 0x106c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503cfa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov eax, ebx
mov edx, dword [ebp - 0x1068]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503d1b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2f
mov eax, ebx
mov edx, dword [ebp - 0x1060]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503d3c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2e
mov eax, ebx
mov edx, dword [ebp - 0x105c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503d5d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2d
mov eax, ebx
mov edx, dword [ebp - 0x1058]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503d7e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2c
mov eax, ebx
mov edx, dword [ebp - 0x1054]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503d9f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2b
mov eax, ebx
mov edx, dword [ebp - 0x10a4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503dc0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x10a8]
add edx, 0xfffffff0
jmp 0x503199
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x1050]
push 0x5c9c24
push eax
call fcn.00408a60
add esp, 0xc
or ebx, 0xffffffff
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.00571c00
mov esi, dword [ebp - 0x1050]
lea eax, [ebp - 0x810]
push 0xffffffffffffffff
push esi
push 0x3ff
push eax
call fcn.0057f4bc
mov byte [ebp - 4], 5
add esp, 0x1c
mov edx, dword [ebp - 0x104c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503e41
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x503e5c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1088]
mov eax, ebx
mov byte [ebp - 4], 3
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x503e7a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x1074]
cmp dword [0x618500], 0
je 0x5040b6
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x504201
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1050], eax
lea eax, [ebp - 0x810]
mov byte [ebp - 4], 0x34
test eax, 0xffff0000
jne 0x503ecc
movzx eax, ax
lea ecx, [ebp - 0x1050]
push eax
call fcn.00403020
jmp 0x503ef7
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x503ed5
sub ecx, edx
lea eax, [ebp - 0x810]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1050]
call fcn.00403bb0
push 0x8d
lea ecx, [ebp - 0x1070]
mov byte [ebp - 4], 0x35
call fcn.00403020
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x108c]
test al, 4
je 0x503f24
push 0x8f
call fcn.00403020
jmp 0x503f4b
and eax, 5
cmp al, 5
jne 0x503f41
push 0x90
call fcn.00403020
mov dword [ebp - 0x1074], 2
jmp 0x503f55
push 0x5c8003
call fcn.004255c0
mov dword [ebp - 0x1074], 6
lea eax, [ebp - 0x1050]
push eax
lea edx, [ebp - 0x1070]
lea ecx, [ebp - 0x1098]
call fcn.00437b70
push 0x5d647c
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x109c]
call fcn.0042af40
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x37
push ecx
mov edx, eax
lea ecx, [ebp - 0x10a4]
call fcn.00437b70
add esp, 0xc
mov byte [ebp - 4], 0x38
mov edx, dword [eax]
mov esi, dword [ebp - 0x1050]
lea eax, [edx - 0x10]
lea ecx, [esi - 0x10]
mov dword [ebp - 0x1088], eax
mov dword [ebp - 0x10a8], ecx
cmp eax, ecx
je 0x50401f
cmp dword [ecx + 0xc], 0
lea esi, [ecx + 0xc]
jl 0x50400a
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x50400a
mov ecx, dword [ebp - 0x1088]
call fcn.00403af0
mov dword [ebp - 0x1088], eax
mov ecx, ebx
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x503fff
mov esi, dword [ebp - 0x10a8]
push esi
mov ecx, dword [esi]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x1088]
lea esi, [eax + 0x10]
mov dword [ebp - 0x1050], esi
jmp 0x50401f
push dword [edx - 0xc]
lea ecx, [ebp - 0x1050]
push edx
call fcn.00403bb0
mov esi, dword [ebp - 0x1050]
mov byte [ebp - 4], 0x37
mov eax, ebx
mov edx, dword [ebp - 0x10a4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x504040
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x36
mov eax, ebx
mov edx, dword [ebp - 0x109c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x504061
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x35
mov eax, ebx
mov edx, dword [ebp - 0x1098]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x504082
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push esi
push 0x6185b4
call fcn.0048a7e0
add esp, 8
mov byte [ebp - 4], 3
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x5040ab
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x1074]
jmp 0x502f24
push dword [esi + 4]
lea ecx, [ebp - 0x1070]
call fcn.00403020
mov eax, dword [0x6184f8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x5040ec
push dword [esi + 8]
lea eax, [ebp - 0x810]
push dword [ebp - 0x1070]
push eax
call fcn.005549f5
mov esi, eax
jmp 0x502f24
mov ecx, 0x618420
call fcn.0055ca2a
test eax, eax
je 0x50416e
mov ecx, 0x618420
call fcn.0055ca2a
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call fcn.0055422f
test eax, eax
je 0x504149
mov ecx, 0x618420
call fcn.0055ca2a
mov eax, dword [sym.imp.USER32.dll_GetForegroundWindow]
call eax
push eax
call fcn.0055422f
push dword [esi + 8]
lea ecx, [ebp - 0x810]
push dword [ebp - 0x1070]
push ecx
mov ecx, eax
call fcn.005549f5
mov esi, eax
jmp 0x502f24
push dword [esi + 8]
lea eax, [ebp - 0x810]
push dword [ebp - 0x1070]
push eax
mov eax, dword [sym.imp.USER32.dll_GetForegroundWindow]
call eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, eax
jmp 0x502f24
mov eax, dword [0x6184f8]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x5041ab
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x6184f8]
lea ecx, [ebp - 0x810]
push dword [esi + 8]
push dword [ebp - 0x1070]
mov eax, dword [eax + 0x4c]
push ecx
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, eax
jmp 0x502f24
push dword [esi + 8]
lea eax, [ebp - 0x810]
push dword [ebp - 0x1070]
push eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, eax
jmp 0x502f24
push 0x80004005
call fcn.004013a0
push 0x80004005
call fcn.004013a0
push 0x80004005
call fcn.004013a0
push 0x80004005
call fcn.004013a0
push 0x80004005
call fcn.004013a0
push 0x80004005
call fcn.004013a0
nop
pop ebp
xor dword [eax], edx
mov dh, 0x31
push eax
add byte [edx], bh
xor dl, byte [eax]
pop es
xor edx, dword [eax]
sbb eax, 0x7c005034
xor eax, 925106256
push eax
add byte [0x4f005039], dl
cmp edx, dword [eax]