Function at 0x486280
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x53f169
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x340
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebx
call fcn.00470b30
mov edi, dword [esp + 0x360]
mov dword [esp + 0x358], ebx
cmp edi, 0x2020032
mov ebp, 1
je 0x4863ec
cmp edi, 0x2020033
je 0x4863ec
test byte [esp + 0x364], 0xf
je 0x4863ec
test edi, 0x80000000
jne 0x4863ec
cmp dword [esi + 0x398], ebp
je 0x486305
cmp dword [esi + 0x394], ebx
je 0x486328
lea ecx, [esp + 0x24]
mov dword [esp + 0x358], 0xffffffff
mov dword [esp + 0x24], 0x5477b0
call fcn.00470d30
mov eax, ebp
jmp 0x487dd5
cmp edi, 0x202000a
je 0x4863d6
cmp edi, 0x202001c
je 0x4863d6
cmp edi, 0x202000b
je 0x4863cf
cmp edi, 0x202001b
je 0x4863cf
cmp edi, 0x202000c
je 0x4863c8
cmp edi, 0x202001d
je 0x4863c8
cmp edi, 0x2020010
je 0x4863c1
cmp edi, 0x202007e
je 0x4863c1
cmp edi, 0x2020011
jne 0x486383
mov byte [esp + 0x18], 7
jmp 0x486398
cmp edi, 0x2020012
setne al
dec eax
and eax, 8
cmp al, bl
mov byte [esp + 0x18], al
je 0x4863dd
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push eax
call fcn.00470e70
push ebx
lea ecx, [esp + 0x28]
call fcn.00470df0
push ebx
lea ecx, [esp + 0x28]
call fcn.00470e70
lea ecx, [esp + 0x24]
push ecx
jmp 0x4863de
mov byte [esp + 0x18], 6
jmp 0x486398
mov byte [esp + 0x18], 4
jmp 0x486398
mov byte [esp + 0x18], 3
jmp 0x486398
mov byte [esp + 0x18], 2
jmp 0x486398
push ebx
mov ecx, 0x5929a0
call fcn.004e54e0
mov dword [esp + 0x3c], ebp
cmp edi, 0x2020032
mov ebp, 0x5477b0
ja 0x486872
je 0x48684d
lea eax, [edi - 0x202000a]
cmp eax, 0x13
ja case.0x4878bc.33685628
jmp dword [eax*4 + 0x487df0]
mov edx, dword [esi + 0x384]
not edx
test dl, 1
jne case.0x487cde.6
lea eax, [esi + 0xc0]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004e7b40
push ebx
push ebx
push ebx
push 2
mov ecx, esi
mov edi, eax
call fcn.00408230
mov ecx, esi
call fcn.00455be0
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 2
mov ecx, esi
call fcn.00403170
jmp case.0x487cde.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x487cde.6
lea edx, [esi + 0xc0]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004e7d40
push ebx
push ebx
push ebx
push 3
mov ecx, esi
mov edi, eax
call fcn.00408230
mov ecx, esi
call fcn.00455be0
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 3
mov ecx, esi
call fcn.00403170
jmp case.0x487cde.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x487cde.6
lea ecx, [esi + 0xc0]
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004e7ed0
push ebx
push ebx
push ebx
push 4
mov ecx, esi
mov edi, eax
call fcn.00408230
mov ecx, esi
call fcn.00455be0
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 4
mov ecx, esi
call fcn.00403170
jmp case.0x487cde.6
mov edx, dword [esi + 0x384]
not edx
test dl, 1
jne case.0x487cde.6
lea eax, [esi + 0xc0]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004e82d0
push ebx
push ebx
push ebx
push 7
mov ecx, esi
mov edi, eax
call fcn.00408230
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 7
mov ecx, esi
call fcn.00403170
jmp case.0x487cde.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x487cde.6
lea edx, [esi + 0xc0]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004e82f0
push ebx
push ebx
push ebx
push 8
mov ecx, esi
mov edi, eax
call fcn.00408230
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 8
mov ecx, esi
call fcn.00403170
jmp case.0x487cde.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x487cde.6
mov edx, dword [esp + 0x368]
lea ecx, [esp + 0x10]
push ecx
push edx
lea ecx, [esi + 0x2cc]
call fcn.004d03c0
cmp eax, 1
jne case.0x487cde.6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x3c]
shr ecx, 2
cmp edx, ebx
jne 0x4865cc
xor eax, eax
jmp 0x4865cf
mov eax, dword [eax + 0x34]
mov edx, dword [esp + 0x36c]
cmp edx, ecx
jge case.0x487cde.6
mov ecx, edx
lea edx, [esp + 0x14]
push ebx
push edx
mov edi, dword [eax + ecx*4]
lea ebp, [ecx*4]
lea ecx, [esi + 0x2b0]
push edi
call fcn.004d0460
cmp eax, 1
jne case.0x487cde.6
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
and eax, 0x30
cmp eax, 0x10
je 0x486664
cmp eax, 0x20
je 0x486664
mov ecx, dword [esp + 0x36c]
lea edx, [esi + 0xc0]
push ecx
push edi
push edx
mov ecx, esi
call fcn.004e84f0
push 1
push edi
lea ecx, [esi + 0x2b0]
call fcn.004c60a0
mov eax, dword [esp + 0x10]
push 4
push ebp
lea ecx, [eax + 0x2c]
call fcn.00471570
push ebx
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.00408230
mov ecx, esi
call fcn.00455be0
jmp case.0x487cde.6
push 0x588008
mov ecx, 0x592818
call fcn.00514473
mov ecx, dword [0x5927bc]
mov dword [0x59281c], 0x10
push ebx
push 0x73
mov edx, dword [ecx + 0x1c]
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x487cde.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x487cde.6
mov ebp, dword [esp + 0x368]
lea edi, [esi + 0x2cc]
push ebp
mov ecx, edi
call fcn.004d0400
cmp eax, ebx
mov dword [esp + 0x14], eax
je case.0x487cde.6
lea ecx, [esp + 0x10]
push ecx
push ebp
mov ecx, edi
call fcn.004d03c0
cmp eax, 1
jne case.0x487cde.6
mov edx, dword [esi + 0x3dc]
mov eax, ebx
dec edx
js 0x486731
mov edi, dword [esi + 0x3d8]
mov ebp, dword [esp + 0x10]
mov ecx, dword [edi]
cmp dword [ecx + 0x3c], 1
jne 0x486703
cmp dword [ecx + 0x54], ebp
je 0x48670d
inc eax
add edi, 4
cmp eax, edx
jle 0x4866f6
jmp 0x486731
cmp eax, edx
jg 0x486731
mov dword [esp + 0x34], ebx
mov edx, dword [ecx]
lea eax, [esp + 0x24]
push eax
call dword [edx + 0xd0]
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x5929a0
call fcn.004e5490
mov edx, dword [esp + 0x10]
mov ecx, esi
push edx
push 1
call fcn.004083a0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x10]
push edi
push eax
lea edx, [esi + 0xc0]
push ecx
push edx
mov ecx, esi
call fcn.004e8620
push 1
push edi
lea ecx, [esi + 0x2cc]
call fcn.004c58c0
jmp 0x48664d
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x487cde.6
mov ebp, dword [esp + 0x368]
push ebx
push 1
lea edi, [esi + 0x290]
push ebp
push ebx
push edi
mov ecx, 0x591f10
call fcn.004e7a00
push ebp
push ebp
mov ecx, edi
call fcn.004c33d0
jmp 0x48664d
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x487cde.6
mov edx, dword [esp + 0x368]
lea ebp, [esi + 0x274]
push edx
mov ecx, ebp
call fcn.004d0400
mov edi, eax
cmp edi, ebx
je case.0x487cde.6
push edi
lea eax, [esi + 0xc0]
push 2
push eax
mov ecx, esi
call fcn.004e7880
push 1
push edi
mov ecx, ebp
call fcn.004c6400
jmp 0x48664d
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x487cde.6
mov edx, dword [esp + 0x368]
lea ebp, [esi + 0x2e8]
push edx
mov ecx, ebp
call fcn.004d0400
mov edi, eax
cmp edi, ebx
je case.0x487cde.6
push edi
lea eax, [esi + 0xc0]
push 4
push eax
mov ecx, esi
call fcn.004e7880
push 1
push edi
mov ecx, ebp
call fcn.004c65f0
jmp 0x48664d
cmp dword [esi + 0x398], 1
je 0x487db4
cmp dword [esi + 0x394], ebx
jne 0x487db4
mov ecx, esi
call fcn.004887b0
jmp case.0x487cde.6
cmp edi, 0x2020079
ja 0x48789b
je 0x48786d
lea eax, [edi - 0x2020033]
cmp eax, 0x3d
ja case.0x4878bc.33685628
xor ecx, ecx
mov cl, byte [eax + 0x487e68]
jmp dword [ecx*4 + 0x487e40]
mov ecx, esi
call fcn.00488480
jmp case.0x487cde.6
cmp dword [esi + 0x674], 0x19dc775b
jne 0x4868f0
push 0x587fdc
mov ecx, 0x592818
call fcn.00514473
mov edx, dword [0x5927bc]
mov dword [0x59281c], 0x40
push ebx
push 0x73
mov eax, dword [edx + 0x1c]
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x487cde.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x487cde.6
lea eax, [esi + 0x2cc]
cmp edi, 0x202000d
mov edi, dword [0x58c97c]
mov dword [esp + 0x20], eax
je 0x48691f
mov edi, dword [0x58c984]
mov edx, dword [0x58f614]
mov dword [esp + 0x10], edx
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push edi
push ebx
push ecx
push 1
mov byte [esp + 0x36c], 1
call fcn.004c4870
add esp, 0x14
test eax, eax
jne 0x486955
push edi
lea ecx, [esp + 0x14]
call fcn.00514473
push 0x54
call fcn.005151e5
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebx
je 0x4869c4
mov edx, dword [0x58f614]
lea ebp, [esi + 0xc0]
mov dword [edi], edx
mov eax, dword [0x58f614]
mov dword [edi + 4], eax
lea ecx, [edi + 0x14]
mov byte [esp + 0x358], 4
call fcn.00470b30
mov dword [edi + 0x28], ebp
mov dword [edi + 0x10], ebx
mov dword [edi + 0xc], 0x547f50
lea ecx, [edi + 0x2c]
mov byte [esp + 0x358], 5
call fcn.00470b30
mov dword [edi + 0x50], ebp
mov dword [edi + 0x40], ebx
mov dword [edi + 0x44], ebx
mov dword [edi + 0x4c], ebx
mov dword [edi + 0x48], ebx
mov dword [edi + 8], ebx
mov dword [esp + 0x18], edi
jmp 0x4869c8
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x358], 1
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00514423
lea ecx, [esp + 0x48]
call fcn.00470b30
lea ebp, [esi + 0xc0]
mov dword [esp + 0x40], 0x547858
mov dword [esp + 0x44], ebp
mov edi, dword [esp + 0x360]
mov byte [esp + 0x358], 6
cmp edi, 0x202006a
jne 0x486a2e
mov eax, dword [esp + 0x18]
push 0x40000000
push eax
lea ecx, [esp + 0x48]
mov dword [eax + 0x44], 0xffffffff
mov edx, dword [esp + 0x48]
call dword [edx + 0x10]
jmp 0x486a3e
mov eax, dword [esp + 0x18]
push ebx
push eax
lea ecx, [esp + 0x48]
call dword [0x547868]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x2e4]
push 1
lea ecx, [esp + 0x44]
push ebx
push ecx
shr eax, 3
push eax
push 0x131
mov ecx, esi
call fcn.004e8790
mov eax, dword [esi + 0x2e4]
push 1
lea edx, [esp + 0x44]
push ebx
shr eax, 3
push edx
push eax
lea ecx, [esi + 0x2cc]
call fcn.004d0540
lea ecx, [esp + 0x48]
call fcn.00470d30
cmp edi, 0x202006a
jne 0x486bfe
mov dword [esp + 0x38], ebx
push 0xd0
call fcn.005151e5
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
je 0x486b70
mov eax, dword [0x58f614]
mov dword [edi], eax
mov ecx, dword [0x58f614]
mov dword [edi + 4], ecx
lea ecx, [edi + 0x14]
push ebp
mov byte [esp + 0x35c], 9
call fcn.004374c0
mov dword [edi + 0x14], 0x547f50
lea ecx, [edi + 0x3c]
mov byte [esp + 0x358], 0xa
call fcn.00470b30
mov dword [edi + 0x50], ebp
mov dword [edi + 0x38], ebx
mov dword [edi + 0x34], 0x547f50
lea ecx, [edi + 0x54]
mov byte [esp + 0x358], 0xb
call fcn.00470b30
lea ecx, [edi + 0x68]
mov byte [esp + 0x358], 0xc
call fcn.00470b30
lea ecx, [edi + 0x7c]
mov byte [esp + 0x358], 0xd
call fcn.00470b30
lea ecx, [edi + 0x90]
mov byte [esp + 0x358], 0xe
call fcn.00470b30
lea ecx, [edi + 0xa4]
mov byte [esp + 0x358], 0xf
call fcn.00470b30
lea ecx, [edi + 0xb8]
mov byte [esp + 0x358], 0x10
call fcn.00470b30
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xcc], ebp
jmp 0x486b72
xor edi, edi
mov eax, dword [esp + 0x38]
mov byte [esp + 0x358], 6
cmp eax, ebx
mov eax, dword [0x58c8dc]
je 0x486b8c
mov eax, dword [0x58c8e0]
push eax
mov ecx, edi
call fcn.00514473
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov eax, 0x587fac
je 0x486ba6
mov eax, 0x587f7c
push eax
lea ecx, [edi + 4]
call fcn.00514473
mov edx, dword [esp + 0x14]
push ebx
push ebx
mov ecx, edi
mov dword [edi + 8], edx
call fcn.004ca5f0
mov eax, dword [esi + 0x2b0]
lea ecx, [esi + 0x2b0]
push ebx
push edi
call dword [eax + 0x10]
mov ecx, dword [esp + 0x18]
mov edi, eax
push edi
add ecx, 0x2c
call fcn.00470df0
push edi
push ebx
push ebp
mov ecx, 0x591f10
call fcn.004e7750
mov eax, dword [esp + 0x38]
inc eax
cmp eax, 2
mov dword [esp + 0x38], eax
jl 0x486a96
mov ecx, esi
call fcn.00455be0
mov edx, dword [esp + 0x18]
mov ecx, esi
push edx
push 1
call fcn.00408660
cmp eax, ebx
je 0x486c39
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], ebx
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0xd0]
lea edx, [esp + 0x24]
mov ecx, 0x5929a0
push edx
call fcn.004e5490
mov dword [esp + 0x40], 0x547858
lea ecx, [esp + 0x40]
mov byte [esp + 0x358], 0x11
call fcn.004c5b10
mov dword [esp + 0x40], 0x5477d4
lea ecx, [esp + 0x48]
mov byte [esp + 0x358], 0x12
call fcn.00470d30
lea ecx, [esp + 0x48]
mov byte [esp + 0x358], 1
mov dword [esp + 0x48], 0x5477b0
call fcn.00470d30
lea ecx, [esp + 0x10]
mov byte [esp + 0x358], bl
call fcn.00514336
jmp case.0x487cde.6
lea edi, [esi + 0xc0]
mov ecx, edi
call fcn.00453440
test eax, eax
jne 0x486cdf
push 0x587f38
mov ecx, 0x592818
call fcn.00514473
mov eax, dword [0x5927bc]
mov dword [0x59281c], 0x40
push ebx
push 0x73
mov ecx, dword [eax + 0x1c]
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x487cde.6
cmp dword [esi + 0x674], 0x19dc775b
jne 0x486d21
push 0x587f18
mov ecx, 0x592818
call fcn.00514473
mov edx, dword [0x5927bc]
mov dword [0x59281c], 0x40
push ebx
push 0x73
mov eax, dword [edx + 0x1c]
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x487cde.6
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x487cde.6
mov ecx, dword [esi + 0x8ac]
call fcn.00515713
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.004e80e0
push ebx
push ebx
push ebx
push 5
mov ecx, esi
mov edi, eax
call fcn.00408230
mov ecx, esi
call fcn.00455be0
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 5
mov ecx, esi
call fcn.00403170
cmp eax, ebx
je case.0x487cde.6
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], ebx
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0xd0]
lea edx, [esp + 0x24]
mov ecx, 0x5929a0
push edx
call fcn.004e5490
jmp case.0x487cde.6
mov eax, dword [esi + 0x384]
not eax
test al, 1
jne case.0x487cde.6
mov ebp, dword [esp + 0x368]
lea edi, [esi + 0x304]
push ebp
mov ecx, edi
call fcn.004d0400
cmp eax, ebx
mov dword [esp + 0x20], eax
je case.0x487cde.6
lea ecx, [esp + 0x14]
push ecx
push ebp
mov ecx, edi
call fcn.004d03c0
cmp eax, 1
jne case.0x487cde.6
mov eax, dword [esi + 0x3dc]
mov edx, ebx
dec eax
js 0x486e33
mov edi, dword [esi + 0x3d8]
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [ecx + 0x3c], 5
jne 0x486e05
cmp dword [ecx + 0x4c], ebp
je 0x486e0f
inc edx
add edi, 4
cmp edx, eax
jle 0x486df8
jmp 0x486e33
cmp edx, eax
jg 0x486e33
mov dword [esp + 0x34], ebx
mov edx, dword [ecx]
lea eax, [esp + 0x24]
push eax
call dword [edx + 0xd0]
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x5929a0
call fcn.004e5490
mov edx, dword [esp + 0x14]
mov ecx, esi
push edx
push 5
call fcn.004083a0
mov edi, dword [esp + 0x20]
lea eax, [esi + 0xc0]
push edi
push 5
push eax
mov ecx, esi
call fcn.004e7880
push 1
push edi
lea ecx, [esi + 0x304]
call fcn.004c6650
push ebx
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.00408230
mov ecx, esi
call fcn.00455be0
mov ecx, esi
call fcn.00457b30
jmp case.0x487cde.6
cmp dword [esi + 0x398], 1
je 0x487db4
cmp dword [esi + 0x394], ebx
jne 0x487db4
mov ecx, esi
call fcn.004887d0
jmp case.0x487cde.6
mov ecx, dword [0x58f614]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x10]
push ebx
push edx
push ebx
mov ecx, esi
mov byte [esp + 0x364], 0x14
call fcn.004334b0
test eax, eax
je 0x487812
lea ecx, [esp + 0x60]
call fcn.00445130
lea eax, [esp + 0x9c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x58f614]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x358], 0x1e
call fcn.00441e90
lea ecx, [esp + 0xf4]
mov byte [esp + 0x358], 0x1f
call fcn.00512f21
lea ecx, [esp + 0x108]
mov byte [esp + 0x358], 0x20
call fcn.0051337f
lea ecx, [esp + 0x11c]
mov byte [esp + 0x358], 0x21
call fcn.00470b30
mov edi, 0x5478f0
mov dword [esp + 0x11c], edi
lea ecx, [esp + 0x130]
mov byte [esp + 0x358], 0x22
call fcn.0051337f
lea ecx, [esp + 0x144]
mov byte [esp + 0x358], 0x23
call fcn.0051337f
lea ecx, [esp + 0x158]
mov byte [esp + 0x358], 0x24
call fcn.00512f21
lea ecx, [esp + 0x180]
mov byte [esp + 0x358], 0x25
call fcn.00470b30
mov eax, dword [0x58f614]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], eax
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x358], 0x28
call fcn.00512f21
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x358], 0x29
call fcn.00470b30
mov dword [esp + 0x1b4], edi
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x5478e4
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x358], 0x2b
lea ecx, [esp + 0x1e0]
call fcn.0051337f
push ebx
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x35c], 0x2c
call fcn.004374c0
mov dword [esp + fcn.004d02e0], 0x547f0c
push ebx
lea ecx, [esp + 0x218]
mov byte [esp + 0x35c], 0x2d
call fcn.00487f00
mov dword [esp + 0x214], 0x54782c
push ebx
lea ecx, [esp + 0x234]
mov byte [esp + 0x35c], 0x2e
call fcn.004374c0
mov dword [esp + 0x230], 0x547f50
push ebx
lea ecx, [esp + 0x254]
mov byte [esp + 0x35c], 0x2f
call fcn.00487f00
mov dword [esp + 0x250], 0x547884
push ebx
lea ecx, [esp + 0x270]
mov byte [esp + 0x35c], 0x30
call fcn.00487f00
mov dword [esp + 0x26c], 0x547858
push ebx
lea ecx, [esp + 0x28c]
mov byte [esp + 0x35c], 0x31
call fcn.00487f00
mov dword [esp + 0x288], 0x5478b4
push ebx
lea ecx, [esp + 0x2a8]
mov byte [esp + 0x35c], 0x32
call fcn.00487f00
mov dword [esp + 0x2a4], 0x547800
push ebx
lea ecx, [esp + 0x2c4]
mov byte [esp + 0x35c], 0x33
call fcn.004374c0
mov dword [esp + 0x2c0], 0x547f30
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x358], 0x34
call fcn.00470b30
mov edi, 0x5478e0
mov dword [esp + 0x2e4], ebx
mov dword [esp + 0x2e0], edi
mov eax, dword [0x58f614]
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], eax
lea ecx, [esp + 0x170]
mov byte [esp + 0x358], 0x37
push ecx
mov dword [esp + 0x1e0], 0xffff
mov dword [esp + 0x328], ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x170], ebx
call dword [sym.imp.ole32.dll_CoCreateGuid]
push 5
push ebx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x340], ebx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x344], ebx
mov dword [esp + 0x348], ebx
mov dword [esp + 0x34c], ebx
mov dword [esp + 0x354], ebx
mov dword [esp + 0x350], ebx
call fcn.00512fb4
push 5
push ebx
lea ecx, [esp + 0x110]
call fcn.005133df
push 5
push ebx
lea ecx, [esp + 0x138]
call fcn.005133df
push 5
push ebx
lea ecx, [esp + 0x14c]
call fcn.005133df
push 5
push ebx
lea ecx, [esp + 0x160]
call fcn.00512fb4
lea ecx, [esp + 0x60]
lea edx, [esp + 0x60]
lea eax, [esp + 0x60]
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x28c], edx
mov dword [esp + 0x2dc], eax
lea ecx, [esp + 0x60]
lea edx, [esp + 0x60]
lea eax, [esp + 0x60]
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x254], edx
mov dword [esp + 0x270], eax
lea ecx, [esp + 0x2fc]
lea edx, [esp + 0x60]
lea eax, [esp + 0x60]
push 0x28
push ecx
mov dword [esp + 0x220], edx
mov dword [esp + 0x218], eax
call fcn.00471a60
add esp, 8
mov edx, dword [esp + 0x10]
push 1
push ebx
push ebx
push edx
lea ecx, [esp + 0x70]
mov byte [esp + 0x368], 0x38
call fcn.00445bf0
test eax, eax
je 0x4872d8
lea eax, [esp + 0x60]
push ebx
push eax
mov ecx, esi
call fcn.00487f20
lea ecx, [esp + 0x60]
mov byte [esp + 0x358], 0x51
call fcn.0044e080
lea ecx, [esp + 0x32c]
mov byte [esp + 0x358], 0x50
call fcn.00514336
lea ecx, [esp + 0x328]
mov byte [esp + 0x358], 0x4f
call fcn.00514336
lea ecx, [esp + 0x2e0]
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x358], 0x52
mov dword [esp + 0x2e4], ebx
call fcn.00470d30
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x358], 0x4e
mov dword [esp + 0x2e8], ebp
call fcn.00470d30
lea edx, [esp + 0x2c0]
mov edi, 0x5477b4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c0], edi
lea ecx, [esp + 0x2c8]
mov byte [esp + 0x358], 0x53
mov dword [esp + 0x2c4], ebx
call fcn.00470d30
lea ecx, [esp + 0x2c8]
mov byte [esp + 0x358], 0x4d
mov dword [esp + 0x2c8], ebp
call fcn.00470d30
lea eax, [esp + 0x2a4]
mov dword [esp + 0x2a4], 0x547800
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x2a4]
mov byte [esp + 0x358], 0x54
call fcn.004d0d00
mov esi, 0x5477d4
mov dword [esp + 0x2a4], esi
lea ecx, [esp + 0x2ac]
mov byte [esp + 0x358], 0x55
call fcn.00470d30
lea ecx, [esp + 0x2ac]
mov byte [esp + 0x358], 0x4c
mov dword [esp + 0x2ac], ebp
call fcn.00470d30
lea ecx, [esp + 0x288]
mov dword [esp + 0x288], 0x5478b4
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x358], 0x56
lea ecx, [esp + 0x288]
call fcn.004c6d00
mov dword [esp + 0x288], esi
lea ecx, [esp + 0x290]
mov byte [esp + 0x358], 0x57
call fcn.00470d30
lea ecx, [esp + 0x290]
mov byte [esp + 0x358], 0x4b
mov dword [esp + 0x290], ebp
call fcn.00470d30
lea edx, [esp + 0x26c]
mov dword [esp + 0x26c], 0x547858
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x26c]
mov byte [esp + 0x358], 0x58
call fcn.004c5b10
mov dword [esp + 0x26c], esi
lea ecx, [esp + 0x274]
mov byte [esp + 0x358], 0x59
call fcn.00470d30
lea ecx, [esp + 0x274]
mov byte [esp + 0x358], 0x4a
mov dword [esp + 0x274], ebp
call fcn.00470d30
lea eax, [esp + 0x250]
mov dword [esp + 0x250], 0x547884
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x250]
mov byte [esp + 0x358], 0x5a
call fcn.004c6b60
mov dword [esp + 0x250], esi
lea ecx, [esp + 0x258]
mov byte [esp + 0x358], 0x5b
call fcn.00470d30
lea ecx, [esp + 0x258]
mov byte [esp + 0x358], 0x49
mov dword [esp + 0x258], ebp
call fcn.00470d30
lea ecx, [esp + 0x230]
mov dword [esp + 0x230], edi
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x238]
mov byte [esp + 0x358], 0x5c
mov dword [esp + 0x234], ebx
call fcn.00470d30
lea ecx, [esp + 0x238]
mov byte [esp + 0x358], 0x48
mov dword [esp + 0x238], ebp
call fcn.00470d30
lea edx, [esp + 0x214]
mov dword [esp + 0x214], 0x54782c
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x214]
mov byte [esp + 0x358], 0x5d
call fcn.004c6ec0
mov dword [esp + 0x214], esi
lea ecx, [esp + 0x21c]
mov byte [esp + 0x358], 0x5e
call fcn.00470d30
lea ecx, [esp + 0x21c]
mov byte [esp + 0x358], 0x47
mov dword [esp + 0x21c], ebp
call fcn.00470d30
lea eax, [esp + 0x1f4]
mov dword [esp + 0x1f4], edi
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x358], 0x5f
mov dword [esp + 0x1f8], ebx
call fcn.00470d30
mov byte [esp + 0x358], 0x46
mov dword [esp + 0x1fc], ebp
lea ecx, [esp + 0x1fc]
call fcn.00470d30
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x358], 0x45
call fcn.005133b2
mov eax, dword [esp + 0x1cc]
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x5478e4
cmp eax, ebx
je 0x48764e
push eax
call fcn.0051520e
add esp, 4
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x358], 0x43
mov dword [esp + 0x1b4], ebp
call fcn.00470d30
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x358], 0x42
call fcn.00512f54
lea ecx, [esp + 0x198]
mov byte [esp + 0x358], 0x41
call fcn.00514336
lea ecx, [esp + 0x194]
mov byte [esp + 0x358], 0x40
call fcn.00514336
lea ecx, [esp + 0x180]
mov byte [esp + 0x358], 0x3f
mov dword [esp + 0x180], ebp
call fcn.00470d30
lea ecx, [esp + 0x158]
mov byte [esp + 0x358], 0x3e
call fcn.00512f54
lea ecx, [esp + 0x144]
mov byte [esp + 0x358], 0x3d
call fcn.005133b2
lea ecx, [esp + 0x130]
mov byte [esp + 0x358], 0x3c
call fcn.005133b2
lea ecx, [esp + 0x11c]
mov byte [esp + 0x358], 0x3b
mov dword [esp + 0x11c], ebp
call fcn.00470d30
lea ecx, [esp + 0x108]
mov byte [esp + 0x358], 0x3a
call fcn.005133b2
lea ecx, [esp + 0xf4]
mov byte [esp + 0x358], 0x39
call fcn.00512f54
lea ecx, [esp + 0x9c]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x358], 0x68
call fcn.00514336
lea ecx, [esp + 0xbc]
mov byte [esp + 0x358], 0x67
call fcn.00514336
lea ecx, [esp + 0xb8]
mov byte [esp + 0x358], 0x66
call fcn.00514336
lea ecx, [esp + 0xb4]
mov byte [esp + 0x358], 0x65
call fcn.00514336
lea ecx, [esp + 0xb0]
mov byte [esp + 0x358], 0x64
call fcn.00514336
lea ecx, [esp + 0xac]
mov byte [esp + 0x358], 0x63
call fcn.00514336
lea ecx, [esp + 0xa8]
mov byte [esp + 0x358], 0x62
call fcn.00514336
lea ecx, [esp + 0xa4]
mov byte [esp + 0x358], 0x61
call fcn.00514336
lea ecx, [esp + 0xa0]
mov byte [esp + 0x358], 0x60
call fcn.00514336
lea ecx, [esp + 0x9c]
mov byte [esp + 0x358], 0x14
call fcn.00514336
lea ecx, [esp + 0x10]
mov byte [esp + 0x358], bl
call fcn.00514336
jmp case.0x487cde.6
mov edx, dword [esp + 0x36c]
mov eax, dword [esp + 0x368]
push edx
push eax
mov ecx, esi
call fcn.00487f20
jmp case.0x487cde.6
push ebx
push ebx
push ebx
push 0x12
mov ecx, esi
call fcn.00430b70
jmp case.0x487cde.6
lea ecx, [esi + 0xc0]
call fcn.00423f30
mov ecx, dword [esp + 0x368]
mov dword [ecx], eax
jmp case.0x487cde.6
mov edx, dword [esp + 0x368]
push 1
lea eax, [esi + 0xc0]
push edx
push eax
mov ecx, esi
call fcn.004ed990
mov ecx, dword [esp + 0x36c]
cmp ecx, ebx
je case.0x487cde.6
mov dword [ecx], eax
jmp case.0x487cde.6
cmp edi, 0x82020016
ja 0x487bb0
je 0x4879b9
lea eax, [edi - 0x202007a]
cmp eax, 4
ja case.0x4878bc.33685628
jmp dword [eax*4 + 0x487ea8]
mov ecx, dword [esi + 0x384]
not ecx
test cl, 1
jne case.0x487cde.6
xor edx, edx
cmp edi, 0x202007e
sete dl
push edx
lea eax, [esi + 0xc0]
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004e82b0
push ebx
push ebx
push ebx
push 6
mov ecx, esi
mov edi, eax
call fcn.00408230
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
push 6
mov ecx, esi
call fcn.00403170
jmp case.0x487cde.6
mov ecx, dword [esp + 0x368]
push ebx
lea edx, [esi + 0xc0]
push ecx
push edx
mov ecx, esi
call fcn.004ed5d0
jmp case.0x487cde.6
mov eax, dword [esp + 0x368]
mov ecx, esi
push eax
call fcn.004edb30
jmp case.0x487cde.6
mov ecx, dword [esp + 0x368]
xor ebp, ebp
mov eax, dword [ecx + 8]
cmp eax, ebx
mov dword [esp + 0x20], eax
jle case.0x487cde.6
mov ecx, dword [esp + 0x368]
lea edx, [esp + 0x5c]
push ebp
push edx
call fcn.0043ad20
mov eax, dword [eax]
push ebx
push eax
lea eax, [esi + 0xc0]
push eax
mov ecx, esi
mov byte [esp + 0x364], 0x13
call fcn.004ebab0
lea ecx, [esp + 0x5c]
mov edi, eax
mov byte [esp + 0x358], bl
call fcn.00514336
cmp edi, ebx
je 0x4879ab
mov eax, dword [esp + 0x36c]
mov dword [eax], 1
mov eax, dword [esp + 0x20]
inc ebp
cmp ebp, eax
jl 0x48795c
jmp case.0x487cde.6
mov ecx, esi
call fcn.00455ae0
mov edi, eax
mov eax, dword [esi + 0x8ac]
add eax, 0x558
push ebx
push 9
push 0x110a
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
mov dword [esp + 0x14], eax
je case.0x487cde.6
mov ecx, dword [esi + 0x8ac]
mov edx, eax
push edx
add ecx, 0x558
call fcn.00512080
mov ebp, eax
shr eax, 0x1c
je case.0x487cde.6
dec eax
cmp eax, 7
ja case.default.0x487a14
jmp dword [eax*4 + 0x487ebc]
test ebp, 0xffff
jbe 0x487a53
cmp edi, ebx
je case.0x487cde.6
cmp dword [edi + 0x3c], 1
jne case.0x487cde.6
mov ecx, dword [esp + 0x364]
mov eax, dword [edi]
push ebx
push ebx
push ecx
push 0x2020009
mov ecx, edi
call dword [eax + 0xe0]
jmp case.0x487cde.6
shr ebp, 0x10
and ebp, 0xfff
lea edx, [esp + 0x20]
dec ebp
push edx
push ebp
lea ecx, [esi + 0x2cc]
call fcn.004d03c0
test eax, eax
je 0x487a8f
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x44], ebx
je 0x487a8f
mov ecx, dword [esp + 0x364]
push ebx
push ebx
push ecx
push 0x202006a
jmp 0x487d8e
mov edx, dword [esp + 0x364]
push ebx
push ebx
push edx
push 0x202000d
jmp 0x487d8e
mov eax, dword [esp + 0x364]
push ebx
push ebx
push eax
push 0x202000b
mov ecx, esi
call fcn.00456420
jmp 0x487b7d
mov ecx, dword [esp + 0x364]
push ebx
push ebx
push ecx
push 0x202000a
mov ecx, esi
call fcn.00456420
jmp 0x487b7d
mov edx, dword [esp + 0x364]
push ebx
push ebx
push edx
push 0x202000c
mov ecx, esi
call fcn.00456420
jmp 0x487b7d
mov eax, dword [esp + 0x364]
push ebx
push ebx
push eax
push 0x2020037
mov ecx, esi
call fcn.00456420
jmp 0x487b7d
mov ecx, dword [esp + 0x364]
push ebx
push ebx
push ecx
push 0x2020010
mov ecx, esi
call fcn.00456420
jmp 0x487b7d
mov eax, ebp
and eax, 0xfffffff
cmp eax, 1
jne 0x487b48
mov edx, dword [esp + 0x364]
push ebx
push ebx
push edx
push 0x2020011
mov ecx, esi
call fcn.00456420
jmp 0x487b7d
cmp eax, 2
jne 0x487b7d
mov eax, dword [esp + 0x364]
push ebx
push ebx
push eax
push 0x2020012
mov ecx, esi
call fcn.00456420
jmp 0x487b7d
mov ecx, esi
call fcn.00467c60
test eax, eax
jne 0x487b7d
jmp case.0x487cde.6
cmp eax, ebx
je case.0x487cde.6
test ebp, 0xfffffff
jne case.0x487cde.6
mov esi, dword [esi + 0x8ac]
mov ecx, dword [esp + 0x14]
add esi, 0x558
push ecx
push 2
push 0x1102
mov edx, dword [esi + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x487cde.6
cmp edi, 0x82020017
je 0x487c89
cmp edi, 0x82020078
je 0x487c00
cmp edi, 0x8202007c
je 0x487c00
cmp dword [esp + 0x3c], 1
jne 0x487bdd
mov ecx, 0x5929a0
call fcn.004e5580
lea ecx, [esp + 0x24]
mov dword [esp + 0x358], 0xffffffff
mov dword [esp + 0x24], 0x5477b0
call fcn.00470d30
xor eax, eax
jmp 0x487dd5
mov eax, dword [esi + 0x8ac]
push ebx
add eax, 0x558
push 9
push 0x110a
mov eax, dword [eax + 0x1c]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
je case.0x487cde.6
mov ecx, dword [esi + 0x8ac]
push eax
add ecx, 0x558
call fcn.00512080
mov ecx, eax
and ecx, 0xf0000000
cmp ecx, 0x80000000
jne case.0x487cde.6
and eax, 0xfffffff
dec eax
cmp edi, 0x82020078
jne 0x487c6d
mov edx, dword [esp + 0x364]
push ebx
push eax
push edx
push 0x2020079
jmp 0x487d8e
cmp eax, ebx
jl case.0x487cde.6
push ebx
push eax
mov eax, dword [esp + 0x36c]
push eax
push 0x202007d
jmp 0x487d8e
mov eax, dword [esi + 0x8ac]
push ebx
add eax, 0x558
push 9
push 0x110a
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
je case.0x487cde.6
mov ecx, dword [esi + 0x8ac]
push eax
add ecx, 0x558
call fcn.00512080
mov edx, eax
shr edx, 0x1c
je case.0x487cde.6
mov ecx, eax
dec edx
and ecx, 0xfffffff
dec ecx
cmp edx, 7
ja case.0x487cde.6
jmp dword [edx*4 + 0x487edc]
mov ecx, eax
and ecx, 0xffff
jbe 0x487d0d
mov edx, dword [esp + 0x364]
dec ecx
shr eax, 0x10
and eax, 0xfff
push ecx
dec eax
push eax
push edx
push 0x2020019
jmp 0x487d8e
shr eax, 0x10
and eax, 0xfff
push ebx
dec eax
push eax
mov eax, dword [esp + 0x36c]
push eax
push 0x202001a
jmp 0x487d8e
cmp ecx, ebx
jl case.0x487cde.6
push ebx
push ecx
mov ecx, dword [esp + 0x36c]
push ecx
push 0x202001b
jmp 0x487d8e
cmp ecx, ebx
jl case.0x487cde.6
mov edx, dword [esp + 0x364]
push ebx
push ecx
push edx
push 0x202001c
jmp 0x487d8e
cmp ecx, ebx
jl case.0x487cde.6
mov eax, dword [esp + 0x364]
push ebx
push ecx
push eax
push 0x202001d
jmp 0x487d8e
cmp ecx, ebx
jl case.0x487cde.6
push ebx
push ecx
mov ecx, dword [esp + 0x36c]
push ecx
push 0x2020038
jmp 0x487d8e
cmp ecx, ebx
jl case.0x487cde.6
mov edx, dword [esp + 0x364]
push ebx
push ecx
push edx
push 0x202007a
mov ecx, esi
call fcn.00456420
cmp dword [esp + 0x3c], 1
jne 0x487db4
cmp dword [esp + 0x34], ebx
jne 0x487da5
push ebx
jmp 0x487daa
lea eax, [esp + 0x24]
push eax
mov ecx, 0x5929a0
call fcn.004e55b0
lea ecx, [esp + 0x24]
mov dword [esp + 0x358], 0xffffffff
mov dword [esp + 0x24], 0x5477b0
call fcn.00470d30
mov eax, 1
mov ecx, dword [esp + 0x350]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x34c
ret 0x10