Function at 0x4d5e20
Capabilities:
Contain obfuscated stackstrings
Create process on windows
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x666e9e
mov eax, dword fs:[0]
push eax
sub esp, 0x6fc
mov eax, dword [0x750990]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4cc], ecx
push 2
push str.CPCUPage::OnPCUCommand_started:
call fcn.0043c480
add esp, 8
push 2
mov eax, dword [ebp + 8]
imul ecx, dword [eax], 0xc
mov edx, dword [ecx + 0x74dc80]
push edx
call fcn.0043c480
add esp, 8
mov dword [ebp - 0x548], 1
lea ecx, [ebp - 0x4e0]
call fcn.00407030
mov dword [ebp - 4], 0
lea eax, [ebp - 0x4e0]
push eax
push 0x6c53a0
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d5fd1
push 0x6c5424
lea ecx, [ebp - 0x4e0]
call fcn.00407c40
test eax, eax
je 0x4d5ede
push 0x6c544c
lea ecx, [ebp - 0x4e0]
call fcn.00407c40
test eax, eax
jne 0x4d5f65
mov ecx, dword [ebp - 0x4cc]
cmp dword [ecx + 0x38], 0
je 0x4d5f65
lea ecx, [ebp - 0x608]
call fcn.00407030
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x38]
push eax
push 0x6c54b8
lea ecx, [ebp - 0x608]
push ecx
call fcn.00407ff0
add esp, 0xc
push 0
lea ecx, [ebp - 0x608]
call fcn.0046af70
push eax
call fcn.0043c480
add esp, 8
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0x688], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x608]
call fcn.004071f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4e0]
call fcn.004071f0
mov eax, dword [ebp - 0x688]
jmp 0x4d80a2
push 0x6c55a8
lea ecx, [ebp - 0x4e0]
call fcn.00407c40
test eax, eax
je 0x4d5f8d
push 0x6c55cc
lea ecx, [ebp - 0x4e0]
call fcn.00407c40
test eax, eax
jne 0x4d5fd1
mov eax, dword [ebp - 0x4cc]
cmp dword [eax + 0x38], 0
jne 0x4d5fd1
push 0
push 0x6c5608
call fcn.0043c480
add esp, 8
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x678], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4e0]
call fcn.004071f0
mov eax, dword [ebp - 0x678]
jmp 0x4d80a2
push 0x6c56b8
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4cc]
call fcn.004d8ca0
movzx eax, al
test eax, eax
je 0x4d6020
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], 0
mov dword [ebp - 0x68c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4e0]
call fcn.004071f0
mov eax, dword [ebp - 0x68c]
jmp 0x4d80a2
mov dword [ebp - 0x4d4], 0
mov edx, dword [ebp - 0x4cc]
cmp dword [edx + 0x14], 0
je 0x4d6054
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x4cc]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x14]
mov edx, dword [eax]
call edx
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x600], 0
mov dword [ebp - 0x4e4], 0
mov eax, dword [ebp - 0x4cc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x40]
call eax
mov dword [ebp - 0x510], eax
cmp dword [ebp - 0x510], 0
je 0x4d60bd
mov ecx, dword [ebp - 0x510]
call fcn.00428eb0
mov dword [ebp - 0x4e4], eax
cmp dword [ebp - 0x4e4], 0
je 0x4d60bd
mov ecx, dword [ebp - 0x4e4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4e4]
mov eax, dword [edx + 0x14]
call eax
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x600]
push ecx
lea ecx, [ebp - 0x67c]
call fcn.004dbb00
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], 0xffffffff
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [ebp - 0x618], eax
cmp dword [ebp - 0x618], 0x30
ja case.0x4d6114.1
mov ecx, dword [ebp - 0x618]
movzx edx, byte [ecx + 0x4d812c]
jmp dword [edx*4 + 0x4d80c0]
lea ecx, [ebp - 0x4f4]
call fcn.00407030
mov byte [ebp - 4], 3
lea eax, [ebp - 0x4f4]
push eax
push 0x6c56d8
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d64e6
lea ecx, [ebp - 0x4f4]
call fcn.00408240
movzx ecx, al
test ecx, ecx
jne 0x4d64e1
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [eax + 0x40]
call edx
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
je 0x4d61ca
mov dword [ebp - 0x63c], 0x1000
push 0
lea eax, [ebp - 0x63c]
push eax
mov ecx, dword [ebp - 0x63c]
push ecx
lea ecx, [ebp - 0x4f4]
call fcn.00408130
push eax
mov edx, dword [ebp - 0x52c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x52c]
mov edx, dword [eax + 0x80]
call edx
push 0xffffffffffffffff
lea ecx, [ebp - 0x4f4]
call fcn.00408770
push 1
lea ecx, [ebp - 0x4f4]
call fcn.0046af70
push eax
call fcn.00469ba0
movzx eax, al
test eax, eax
je 0x4d64cb
lea ecx, [ebp - 0x698]
call fcn.00468150
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x4d4]
push ecx
mov edx, dword [ebp - 0x600]
push edx
lea ecx, [ebp - 0x4f4]
call fcn.0046af70
push eax
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp - 0x52c]
push edx
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax + 8]
push ecx
lea ecx, [ebp - 0x4c8]
call fcn.004e0620
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x10]
push eax
lea ecx, [ebp - 0x4c8]
call fcn.0047ee40
lea ecx, [ebp - 0x564]
call fcn.00407030
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5fc]
call fcn.00407030
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x564]
push ecx
push 0x6c56e0
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d62b5
lea ecx, [ebp - 0x564]
call fcn.0046af70
push eax
call fcn.0062e06e
add esp, 4
mov dword [ebp - 0x668], eax
mov edx, dword [ebp - 0x668]
push edx
lea ecx, [ebp - 0x4c8]
call fcn.004e0b10
lea eax, [ebp - 0x5fc]
push eax
push 0x6c56f0
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d62fc
lea ecx, [ebp - 0x5fc]
call fcn.0046af70
push eax
call fcn.0062e06e
add esp, 4
mov dword [ebp - 0x65c], eax
mov ecx, dword [ebp - 0x65c]
push ecx
lea ecx, [ebp - 0x4c8]
call fcn.004e0ae0
lea ecx, [ebp - 0x4c8]
call fcn.0047f0b0
lea ecx, [ebp - 0x55c]
call fcn.00407030
mov byte [ebp - 4], 8
lea edx, [ebp - 0x55c]
push edx
push str.setresult
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d638b
push 3
lea ecx, [ebp - 0x4c8]
call fcn.0047eea0
push eax
lea ecx, [ebp - 0x6bc]
call fcn.0051d565
mov byte [ebp - 4], 9
push 0
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x55c]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6bc]
call fcn.00485e40
lea ecx, [ebp - 0x4c8]
call fcn.0047eea0
test eax, eax
jne 0x4d647e
lea ecx, [ebp - 0x4c8]
call fcn.0047eea0
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], eax
lea ecx, [ebp - 0x550]
call fcn.00407030
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x658], 1
lea edx, [ebp - 0x550]
push edx
push str.suppressnext
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d6418
push 0x6c572c
lea ecx, [ebp - 0x550]
call fcn.00407c40
test eax, eax
je 0x4d640e
push 0x6c5734
lea ecx, [ebp - 0x550]
call fcn.00407c40
test eax, eax
jne 0x4d6418
mov dword [ebp - 0x658], 0
cmp dword [ebp - 0x658], 0
je 0x4d646f
push 0x6c5740
push 0x6c5744
lea ecx, [ebp - 0x708]
call fcn.004bc150
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x708], 4
push 0
lea eax, [ebp - 0x708]
push eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x14]
call eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x708]
call fcn.00480990
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x550]
call fcn.004071f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x55c]
call fcn.004071f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5fc]
call fcn.004071f0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x564]
call fcn.004071f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4c8]
call fcn.004e07f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x698]
call fcn.00468190
jmp 0x4d64e1
push 0x30
push 0xc
mov ecx, dword [ebp - 0x4d4]
push ecx
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9730
jmp 0x4d657e
lea ecx, [ebp - 0x56c]
call fcn.00407030
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x56c]
push edx
push str.sequence
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d656f
lea ecx, [ebp - 0x604]
call fcn.00407030
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x604]
push eax
push 0x6c575c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
mov ecx, dword [ebp - 0x4d4]
push ecx
lea ecx, [ebp - 0x604]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x56c]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9490
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x604]
call fcn.004071f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x56c]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4f4]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x500]
call fcn.00407030
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x500]
push edx
push 0x6c5770
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d6661
lea ecx, [ebp - 0x500]
call fcn.00408240
movzx eax, al
test eax, eax
jne 0x4d6661
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x40]
call eax
mov dword [ebp - 0x60c], eax
cmp dword [ebp - 0x60c], 0
je 0x4d6641
mov dword [ebp - 0x624], 0x1000
push 0
lea ecx, [ebp - 0x624]
push ecx
mov edx, dword [ebp - 0x624]
push edx
lea ecx, [ebp - 0x500]
call fcn.00408130
push eax
mov eax, dword [ebp - 0x60c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x60c]
mov eax, dword [edx + 0x80]
call eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x500]
call fcn.00408770
push 0x6c5778
lea ecx, [ebp - 0x500]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4d4]
push ecx
call fcn.0040d8f0
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x500]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x5c8]
call fcn.00407030
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x5c8]
push edx
push 0x6c577c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea ecx, [ebp - 0x50c]
call fcn.00407030
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x614], 0
lea eax, [ebp - 0x50c]
push eax
push 0x6c5790
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d66e2
lea ecx, [ebp - 0x50c]
call fcn.0046af70
mov dword [ebp - 0x614], eax
jmp 0x4d6711
lea ecx, [ebp - 0x50c]
push ecx
push 0x6c5798
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x18
call fcn.00516d1e
test eax, eax
je 0x4d6711
lea ecx, [ebp - 0x50c]
call fcn.0046af70
mov dword [ebp - 0x614], eax
mov byte [ebp - 0x4db], 1
lea ecx, [ebp - 0x534]
call fcn.00407030
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x534]
push edx
push 0x6c57a0
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d6771
push 0x6c57b4
lea ecx, [ebp - 0x534]
call fcn.00407c40
test eax, eax
je 0x4d676a
push 0x6c57bc
lea ecx, [ebp - 0x534]
call fcn.00407c40
test eax, eax
jne 0x4d6771
mov byte [ebp - 0x4db], 0
movzx eax, byte [ebp - 0x4db]
push eax
lea ecx, [ebp - 0x5c8]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x614]
push ecx
mov ecx, dword [ebp - 0x4cc]
call fcn.004d91b0
test eax, eax
je 0x4d67aa
mov edx, dword [ebp - 0x4cc]
mov dword [edx + 0x38], 0
jmp 0x4d680c
lea ecx, [ebp - 0x578]
call fcn.00407030
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x578]
push eax
push 0x6c57c8
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d67fd
push 0
push 0
lea ecx, [ebp - 0x578]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x578]
call fcn.004071f0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x534]
call fcn.004071f0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x50c]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5c8]
call fcn.004071f0
jmp 0x4d8060
mov dword [ebp - 0x64c], 1
lea ecx, [ebp - 0x544]
call fcn.00407030
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x544]
push ecx
push str.confirm
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d68a4
push 0x6c57e8
lea ecx, [ebp - 0x544]
call fcn.00407c40
test eax, eax
je 0x4d689a
push 0x6c57f0
lea ecx, [ebp - 0x544]
call fcn.00407c40
test eax, eax
jne 0x4d68a4
mov dword [ebp - 0x64c], 0
lea ecx, [ebp - 0x51c]
call fcn.00407030
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x5f0]
call fcn.00407030
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x5f0]
push edx
push str.text
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d68ff
lea ecx, [ebp - 0x5f0]
call fcn.0046af70
push eax
call fcn.0043eb00
add esp, 4
push eax
lea ecx, [ebp - 0x51c]
call fcn.00407590
jmp 0x4d6918
push 0x3a
mov ecx, dword [ebp - 0x4cc]
call fcn.004d97b0
push eax
lea ecx, [ebp - 0x51c]
call fcn.004083d0
lea eax, [ebp - 0x62c]
push eax
mov ecx, dword [ebp - 0x4cc]
call fcn.004d8b40
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x64c], 0
je 0x4d696f
push 0x124
lea ecx, [ebp - 0x62c]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x51c]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4d4]
push ecx
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9640
cmp eax, 6
jne 0x4d6a12
mov edx, dword [ebp - 0x4cc]
mov dword [edx + 0x38], 6
lea ecx, [ebp - 0x580]
call fcn.00407030
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x580]
push eax
push str.return
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d69e8
lea ecx, [ebp - 0x580]
call fcn.0046af70
push eax
call fcn.0062e08b
add esp, 4
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 4]
call eax
jmp 0x4d6a03
push 2
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x580]
call fcn.004071f0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x62c]
call fcn.004071f0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x5f0]
call fcn.004071f0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x51c]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x544]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x588]
call fcn.00407030
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x588]
push ecx
push 0x6c5818
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
mov byte [ebp - 0x4d6], 1
lea ecx, [ebp - 0x524]
call fcn.00407030
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x524]
push edx
push 0x6c582c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d6ad9
push 0x6c5844
lea ecx, [ebp - 0x524]
call fcn.00407c40
test eax, eax
je 0x4d6ad2
push 0x6c584c
lea ecx, [ebp - 0x524]
call fcn.00407c40
test eax, eax
jne 0x4d6ad9
mov byte [ebp - 0x4d6], 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
lea ecx, [ebp - 0x588]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
call fcn.004d8d30
test eax, eax
je 0x4d6b25
movzx ecx, byte [ebp - 0x4d6]
test ecx, ecx
je 0x4d6b25
push 0x3025
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x14]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x524]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x588]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x598]
call fcn.00407030
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x610]
call fcn.00407030
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x590]
call fcn.00407030
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x5d0]
call fcn.00407030
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x53c]
call fcn.00407030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x598]
push ecx
push 0x6c5858
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea edx, [ebp - 0x610]
push edx
push 0x6c586c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea eax, [ebp - 0x590]
push eax
push 0x6c5880
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea ecx, [ebp - 0x5d0]
push ecx
push 0x6c5894
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea edx, [ebp - 0x53c]
push edx
push 0x6c58a4
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
mov byte [ebp - 0x4da], 1
push 0x6c58b8
lea ecx, [ebp - 0x53c]
call fcn.00407c40
test eax, eax
je 0x4d6c35
push 0x6c58c4
lea ecx, [ebp - 0x53c]
call fcn.00407c40
test eax, eax
jne 0x4d6c3c
mov byte [ebp - 0x4da], 0
mov byte [ebp - 0x4d7], 1
lea ecx, [ebp - 0x4ec]
call fcn.00407030
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x4ec]
push eax
push 0x6c58cc
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d6c9c
push 0x6c58e4
lea ecx, [ebp - 0x4ec]
call fcn.00407c40
test eax, eax
je 0x4d6c95
push 0x6c58ec
lea ecx, [ebp - 0x4ec]
call fcn.00407c40
test eax, eax
jne 0x4d6c9c
mov byte [ebp - 0x4d7], 0
mov byte [ebp - 0x4d8], 0
lea ecx, [ebp - 0x4ec]
push ecx
push str.doassociation
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d6ced
push 0x6c5914
lea ecx, [ebp - 0x4ec]
call fcn.00407c40
test eax, eax
je 0x4d6ce6
push 0x6c591c
lea ecx, [ebp - 0x4ec]
call fcn.00407c40
test eax, eax
jne 0x4d6ced
mov byte [ebp - 0x4d8], 1
mov dword [ebp - 0x670], 0
movzx edx, byte [ebp - 0x4d8]
push edx
movzx eax, byte [ebp - 0x4da]
push eax
mov ecx, dword [ebp - 0x4d4]
push ecx
lea edx, [ebp - 0x670]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x690], esp
lea eax, [ebp - 0x5d0]
push eax
call fcn.00406e10
mov dword [ebp - 0x680], eax
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x6a0], ecx
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x590]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x610]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x598]
call fcn.0046af70
push eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9800
mov byte [ebp - 0x4e5], al
movzx edx, byte [ebp - 0x4e5]
test edx, edx
je 0x4d6dad
movzx eax, byte [ebp - 0x4d7]
test eax, eax
je 0x4d6dad
push 0x3025
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x4ec]
call fcn.004071f0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x53c]
call fcn.004071f0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x5d0]
call fcn.004071f0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x590]
call fcn.004071f0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x610]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x598]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x554]
call fcn.00407030
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x5b0]
call fcn.00407030
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x5e0]
call fcn.00407030
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x5a8]
call fcn.00407030
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5f8]
call fcn.00407030
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x5a0]
call fcn.00407030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x5d8]
call fcn.00407030
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x554]
push ecx
push 0x6c5928
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea edx, [ebp - 0x5b0]
push edx
push 0x6c593c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea eax, [ebp - 0x5e0]
push eax
push str.nickname
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea ecx, [ebp - 0x5a8]
push ecx
push str.langcode
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea edx, [ebp - 0x5f8]
push edx
push str.countrycode
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea eax, [ebp - 0x5d8]
push eax
push str.flags
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea ecx, [ebp - 0x5a0]
push ecx
push 0x6c599c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
push 1
mov edx, dword [ebp - 0x4d4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x6a4], esp
lea eax, [ebp - 0x5a0]
push eax
call fcn.00406e10
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x660]
mov dword [ebp - 0x6ac], ecx
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x5d8]
call fcn.0046af70
push eax
call fcn.0062e06e
add esp, 4
push eax
lea ecx, [ebp - 0x5a8]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x5f8]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x5e0]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x5b0]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x554]
call fcn.0046af70
push eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9ae0
mov byte [ebp - 0x4fa], al
movzx edx, byte [ebp - 0x4fa]
test edx, edx
je 0x4d6fc8
mov eax, dword [ebp - 0x4cc]
mov dword [eax + 0x38], 0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x5d8]
call fcn.004071f0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x5a0]
call fcn.004071f0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5f8]
call fcn.004071f0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x5a8]
call fcn.004071f0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x5e0]
call fcn.004071f0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x5b0]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x554]
call fcn.004071f0
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], 0
push 0
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x510]
mov edx, dword [eax + 0x78]
call edx
cmp eax, 0xa
jne 0x4d70e3
mov byte [ebp - 0x4d5], 0
lea ecx, [ebp - 0x54c]
call fcn.00407030
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x54c]
push eax
push str.start
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d70c1
push 0x6c59b8
lea ecx, [ebp - 0x54c]
call fcn.00407c40
test eax, eax
je 0x4d70ba
push 0x6c59c0
lea ecx, [ebp - 0x54c]
call fcn.00407c40
test eax, eax
jne 0x4d70c1
mov byte [ebp - 0x4d5], 1
movzx ecx, byte [ebp - 0x4d5]
push ecx
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9030
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54c]
call fcn.004071f0
jmp 0x4d8060
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.004bc700
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 0
je 0x4d718d
lea ecx, [ebp - 0x5e8]
call fcn.00407030
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x5b8]
call fcn.00407030
mov byte [ebp - 4], 0x2b
lea edx, [ebp - 0x5b8]
push edx
lea eax, [ebp - 0x5e8]
push eax
lea ecx, [ebp - 0x644]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516c91
lea ecx, [ebp - 0x5b8]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x5e8]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x18
call fcn.00485e80
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x5b8]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5e8]
call fcn.004071f0
jmp 0x4d70f9
jmp 0x4d8060
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.004bc700
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x4d7261
lea ecx, [ebp - 0x574]
call fcn.00407030
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x570]
call fcn.00407030
mov byte [ebp - 4], 0x2d
lea edx, [ebp - 0x570]
push edx
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x634]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516c91
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [eax + 0x40]
call edx
mov dword [ebp - 0x5c0], eax
cmp dword [ebp - 0x5c0], 0
je 0x4d723e
lea ecx, [ebp - 0x570]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x574]
call fcn.0046af70
push eax
mov eax, dword [ebp - 0x5c0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5c0]
mov eax, dword [edx + 0x12c]
call eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x570]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x574]
call fcn.004071f0
jmp 0x4d71a3
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], 0
push 1
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x14]
mov eax, dword [edx + 4]
call eax
jmp 0x4d8060
push 0
push str.In_OnPCUCommand__PCU_COMMAND_CONNECT____Trying_to_connect
call fcn.0043c480
add esp, 8
mov byte [ebp - 0x4d9], 1
lea ecx, [ebp - 0x514]
call fcn.00407030
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x514]
push ecx
push str.showerror
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7302
push 0x6c6004
lea ecx, [ebp - 0x514]
call fcn.00407c40
test eax, eax
je 0x4d72fb
push 0x6c600c
lea ecx, [ebp - 0x514]
call fcn.00407c40
test eax, eax
jne 0x4d7302
mov byte [ebp - 0x4d9], 0
lea ecx, [ebp - 0x57c]
call fcn.00407030
mov byte [ebp - 4], 0x2f
push 0x58
mov ecx, dword [ebp - 0x4cc]
call fcn.004d97b0
push eax
lea ecx, [ebp - 0x57c]
call fcn.004083d0
push 1
lea ecx, [ebp - 0x57c]
call fcn.0046af70
push eax
call fcn.00469ba0
movzx edx, al
test edx, edx
je 0x4d7353
mov eax, dword [ebp - 0x4cc]
mov dword [eax + 0x38], 0
jmp 0x4d7381
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], 0x15
movzx edx, byte [ebp - 0x4d9]
test edx, edx
je 0x4d7381
push 0x30
push 0xc
mov eax, dword [ebp - 0x4d4]
push eax
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9730
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x57c]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x514]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x584]
call fcn.00407030
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp + 8]
add ecx, 0x24
call fcn.0046af70
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x20
call fcn.0046af70
push eax
push str.Calling_Process_DIM_Command__URL:__s___Params:__s
lea ecx, [ebp - 0x584]
push ecx
call fcn.00407ff0
add esp, 0x10
push 0
lea ecx, [ebp - 0x584]
call fcn.0046af70
push eax
call fcn.0043c480
add esp, 8
mov edx, dword [ebp - 0x4e4]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x4cc]
call fcn.004d8460
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x584]
call fcn.004071f0
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x40]
call eax
mov dword [ebp - 0x58c], eax
cmp dword [ebp - 0x58c], 0
je 0x4d745f
mov ecx, dword [ebp - 0x4d4]
push ecx
push 0
push 2
mov edx, dword [ebp - 0x58c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x58c]
mov edx, dword [eax + 0x7c]
call edx
jmp 0x4d8060
mov eax, dword [ebp - 0x4cc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4cc]
mov eax, dword [edx + 0x40]
call eax
mov dword [ebp - 0x594], eax
cmp dword [ebp - 0x594], 0
je 0x4d74a4
mov ecx, dword [ebp - 0x4d4]
push ecx
push 0
push 3
mov edx, dword [ebp - 0x594]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x594]
mov edx, dword [eax + 0x7c]
call edx
jmp 0x4d8060
lea ecx, [ebp - 0x520]
call fcn.00407030
mov byte [ebp - 4], 0x31
mov byte [ebp - 0x4ce], 0
mov byte [ebp - 0x4cd], 0
lea ecx, [ebp - 0x4f0]
call fcn.00407030
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x4f0]
push eax
push 0x6c6214
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7521
push 0x6c6230
lea ecx, [ebp - 0x4f0]
call fcn.00407c40
test eax, eax
je 0x4d7518
push 0x6c6254
lea ecx, [ebp - 0x4f0]
call fcn.00407c40
test eax, eax
jne 0x4d751f
mov byte [ebp - 0x4cd], 1
jmp 0x4d756e
lea ecx, [ebp - 0x4f0]
push ecx
push str.offline
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x18
call fcn.00516d1e
test eax, eax
je 0x4d756e
push 0x6c62a4
lea ecx, [ebp - 0x4f0]
call fcn.00407c40
test eax, eax
je 0x4d7567
push 0x6c62b0
lea ecx, [ebp - 0x4f0]
call fcn.00407c40
test eax, eax
jne 0x4d756e
mov byte [ebp - 0x4cd], 1
lea edx, [ebp - 0x520]
push edx
push 0x6c62c0
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7592
mov byte [ebp - 0x4ce], 1
jmp 0x4d75b7
lea eax, [ebp - 0x520]
push eax
push str.code
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x18
call fcn.00516d1e
test eax, eax
je 0x4d75b7
mov byte [ebp - 0x4ce], 1
movzx ecx, byte [ebp - 0x4ce]
test ecx, ecx
je 0x4d76a2
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [eax + 0x40]
call edx
mov dword [ebp - 0x518], eax
cmp dword [ebp - 0x518], 0
je 0x4d76a2
movzx eax, byte [ebp - 0x4cd]
push eax
lea ecx, [ebp - 0x520]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x518]
mov eax, dword [edx + 0x14c]
call eax
movzx ecx, al
test ecx, ecx
je 0x4d7654
mov edx, dword [ebp - 0x4cc]
mov dword [edx + 0x38], 0
mov eax, dword [ebp - 0x4cc]
cmp dword [eax + 0x34], 0
je 0x4d7652
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x34]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x34]
mov eax, dword [edx + 0x90]
call eax
jmp 0x4d76a2
mov ecx, dword [ebp - 0x518]
push ecx
lea edx, [ebp - 0x654]
push edx
mov ecx, dword [ebp - 0x4cc]
call fcn.004d8bf0
mov byte [ebp - 4], 0x33
push 0
lea ecx, [ebp - 0x654]
call fcn.0046af70
push eax
push 0x5a
mov eax, dword [ebp - 0x4d4]
push eax
mov ecx, dword [ebp - 0x4cc]
call fcn.004d96a0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x654]
call fcn.004071f0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x4f0]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x520]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x5b4]
call fcn.00407030
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x5ac]
call fcn.00407030
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x5b4]
push ecx
push 0x6c638c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d782c
lea ecx, [ebp - 0x5b4]
call fcn.0046af70
push eax
call fcn.0062e06e
add esp, 4
mov dword [ebp - 0x59c], eax
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [eax + 0x40]
call edx
mov dword [ebp - 0x4f8], eax
cmp dword [ebp - 0x4f8], 0
je 0x4d782c
cmp dword [ebp - 0x4e4], 0
je 0x4d782c
mov eax, dword [ebp - 0x4e4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4e4]
mov eax, dword [edx + 0x24]
call eax
mov dword [ebp - 0x5a4], eax
cmp dword [ebp - 0x59c], 0
jl 0x4d7807
lea ecx, [ebp - 0x5ac]
push ecx
push str.num_times
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d77db
lea ecx, [ebp - 0x5ac]
call fcn.0046af70
push eax
call fcn.0062e06e
add esp, 4
mov dword [ebp - 0x664], eax
mov edx, dword [ebp - 0x664]
push edx
push 0
mov eax, dword [ebp - 0x59c]
push eax
push 1
mov ecx, dword [ebp - 0x5a4]
push ecx
mov edx, dword [ebp - 0x4f8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [eax + 0x134]
call edx
jmp 0x4d7805
push 0xffffffffffffffff
push 1
mov eax, dword [ebp - 0x59c]
push eax
push 1
mov ecx, dword [ebp - 0x5a4]
push ecx
mov edx, dword [ebp - 0x4f8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [eax + 0x134]
call edx
jmp 0x4d782c
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push 2
mov eax, dword [ebp - 0x5a4]
push eax
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4f8]
mov eax, dword [edx + 0x134]
call eax
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x5ac]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5b4]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x508]
call fcn.00407030
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x508]
push ecx
push str.string
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7a17
lea ecx, [ebp - 0x5cc]
call fcn.00407030
mov byte [ebp - 4], 0x37
lea edx, [ebp - 0x5cc]
push edx
push str.callback
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7a08
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x5bc], ecx
cmp dword [ebp - 0x5bc], 0
je 0x4d794f
lea ecx, [ebp - 0x5c4]
call fcn.00407030
mov byte [ebp - 4], 0x38
lea edx, [ebp - 0x5c4]
push edx
push 0x6c63f8
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
mov dword [ebp - 0x61c], 0x1000
lea ecx, [ebp - 0x5c4]
call fcn.0046af70
push eax
lea eax, [ebp - 0x61c]
push eax
mov ecx, dword [ebp - 0x61c]
push ecx
lea ecx, [ebp - 0x508]
call fcn.00408130
push eax
mov edx, dword [ebp - 0x5bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5bc]
mov edx, dword [eax + 0x80]
call edx
push 0xffffffffffffffff
lea ecx, [ebp - 0x508]
call fcn.00408770
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x5c4]
call fcn.004071f0
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x620], ecx
cmp dword [ebp - 0x620], 0
je 0x4d797b
mov edx, dword [ebp - 0x620]
sub edx, 0x98
mov dword [ebp - 0x628], edx
jmp 0x4d7985
mov dword [ebp - 0x628], 0
mov eax, dword [ebp - 0x628]
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x630]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 0x9c], edx
lea ecx, [ebp - 0x508]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x6cc]
call fcn.0041a0a0
mov byte [ebp - 4], 0x39
push 0
lea eax, [ebp - 0x6cc]
push eax
lea ecx, [ebp - 0x5cc]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp - 0x630]
mov dword [ecx + 0x9c], 0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x6cc]
call fcn.0041a1b0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x5cc]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x508]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x5e4]
call fcn.00407030
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x5dc]
call fcn.00407030
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x5d4]
call fcn.00407030
mov byte [ebp - 4], 0x3c
lea edx, [ebp - 0x5e4]
push edx
push 0x6c640c
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea eax, [ebp - 0x5dc]
push eax
push 0x6c6420
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea ecx, [ebp - 0x5d4]
push ecx
push 0x6c6434
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
mov byte [ebp - 0x4dc], 0
lea ecx, [ebp - 0x528]
call fcn.00407030
mov byte [ebp - 4], 0x3d
lea edx, [ebp - 0x528]
push edx
push str.closewindow
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7afd
push 0x6c645c
lea ecx, [ebp - 0x528]
call fcn.00407c40
test eax, eax
je 0x4d7af6
push 0x6c6464
lea ecx, [ebp - 0x528]
call fcn.00407c40
test eax, eax
jne 0x4d7afd
mov byte [ebp - 0x4dc], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x6a8], esp
lea eax, [ebp - 0x5d4]
push eax
call fcn.00406e10
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp - 0x66c]
mov dword [ebp - 0x69c], ecx
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x5dc]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x5e4]
call fcn.0046af70
push eax
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9c90
mov byte [ebp - 0x4f9], al
movzx edx, byte [ebp - 0x4f9]
test edx, edx
je 0x4d7b89
movzx eax, byte [ebp - 0x4dc]
test eax, eax
je 0x4d7b89
push 0x3025
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x528]
call fcn.004071f0
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x5d4]
call fcn.004071f0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x5dc]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5e4]
call fcn.004071f0
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9e80
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9ee0
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
call fcn.004d9f40
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x638], edx
cmp dword [ebp - 0x638], 0
je 0x4d7c25
mov eax, dword [ebp - 0x638]
sub eax, 0x98
mov dword [ebp - 0x640], eax
jmp 0x4d7c2f
mov dword [ebp - 0x640], 0
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x648]
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x9c], eax
lea ecx, [ebp - 0x530]
call fcn.00407030
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x530]
push ecx
push 0x6c6470
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7d34
lea ecx, [ebp - 0x5ec]
call fcn.00407030
mov byte [ebp - 4], 0x40
lea edx, [ebp - 0x5ec]
push edx
push 0x6c6484
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7cfc
lea ecx, [ebp - 0x5ec]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x6dc]
call fcn.0041a0a0
mov byte [ebp - 4], 0x41
push 0
lea eax, [ebp - 0x6dc]
push eax
lea ecx, [ebp - 0x530]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x6dc]
call fcn.0041a1b0
jmp 0x4d7d25
push 0
push 0
lea ecx, [ebp - 0x530]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x4cc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x5ec]
call fcn.004071f0
mov ecx, dword [ebp - 0x648]
mov dword [ecx + 0x9c], 0
mov edx, dword [ebp - 0x4cc]
mov eax, dword [ebp - 0x674]
mov dword [edx + 0x38], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x530]
call fcn.004071f0
jmp 0x4d8060
mov ecx, dword [ebp - 0x4cc]
cmp dword [ecx + 0x34], 0
je 0x4d7de8
lea ecx, [ebp - 0x5f4]
call fcn.00407030
mov byte [ebp - 4], 0x42
lea edx, [ebp - 0x5f4]
push edx
push 0x6c6490
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7dd9
lea ecx, [ebp - 0x5f4]
call fcn.0046af70
push eax
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax + 0x34]
mov edx, dword [ebp - 0x4cc]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x34]
mov edx, dword [eax + 0xa8]
call edx
movzx eax, al
test eax, eax
je 0x4d7dd9
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5f4]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x504]
call fcn.00407030
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x568]
call fcn.00407030
mov byte [ebp - 4], 0x44
lea edx, [ebp - 0x504]
push edx
push str.programname
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7e99
lea ecx, [ebp - 0x558]
call fcn.00407030
mov byte [ebp - 4], 0x45
lea eax, [ebp - 0x558]
push eax
push 0x6c64b4
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
push 3
push 0x6c64c0
lea ecx, [ebp - 0x558]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x504]
call fcn.0046af70
push eax
push 0x6c64c4
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [ebp - 0x4cc]
mov dword [ecx + 0x38], 0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x558]
call fcn.004071f0
jmp 0x4d7f65
lea edx, [ebp - 0x568]
push edx
push str.extension
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
test eax, eax
je 0x4d7f65
mov dword [ebp - 0x650], 0x1000
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [ebp - 0x650]
push ecx
lea ecx, [ebp - 0x504]
call fcn.00408130
push eax
lea ecx, [ebp - 0x568]
call fcn.0046af70
push eax
call fcn.00412090
add esp, 0xc
movzx edx, al
test edx, edx
je 0x4d7f65
push 0xffffffffffffffff
lea ecx, [ebp - 0x504]
call fcn.00408770
lea ecx, [ebp - 0x560]
call fcn.00407030
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x560]
push eax
push 0x6c64e4
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
push 3
push 0x6c64f0
lea ecx, [ebp - 0x560]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x504]
call fcn.0046af70
push eax
push str.OPEN
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x560]
call fcn.004071f0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x568]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x504]
call fcn.004071f0
jmp 0x4d8060
lea ecx, [ebp - 0x540]
call fcn.00407030
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x540]
push ecx
push str.width
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea ecx, [ebp - 0x540]
call fcn.00408240
movzx edx, al
test edx, edx
jne 0x4d7fdf
lea ecx, [ebp - 0x540]
call fcn.0046af70
push eax
push str.PageDimensionWidth
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x18
call fcn.00485e80
lea ecx, [ebp - 0x538]
call fcn.00407030
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x538]
push eax
push str.height
mov ecx, dword [ebp + 8]
add ecx, 4
call fcn.00516d1e
lea ecx, [ebp - 0x538]
call fcn.00408240
movzx ecx, al
test ecx, ecx
jne 0x4d8036
lea ecx, [ebp - 0x538]
call fcn.0046af70
push eax
push str.PageDimensionHeight
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x18
call fcn.00485e80
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x538]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x540]
call fcn.004071f0
jmp 0x4d8060
mov dword [ebp - 0x548], 0
push 2
push str.CPCUPage::OnPCUCommand_end
call fcn.0043c480
add esp, 8
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0x684], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x67c]
call fcn.004dbb30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4e0]
call fcn.004071f0
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0062dc28
mov esp, ebp
pop ebp
ret 8