Function at 0x40218f
Capabilities:
Accept command line arguments
Enumerate gui resources
Enumerate process modules
Get process heap flags
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x24c0
call fcn.00404322
call 0x4021a2
pop eax
mov dword [esp + 0x10], eax
call fcn.004030b8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
lea edx, [esp + 0x14c0]
lea ecx, [esp + 0x4b8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [ecx], edx
mov dword [ecx + 4], 0x401648
mov dword [edx], eax
mov edx, str.Running_G_MemZ_n
push 0xf
call fcn.004033c0
pop ecx
call fcn.004030c3
call sub.KERNEL32.dll_GetCommandLineW
mov ebp, eax
and eax, 0xffe
cmp eax, 0xff1
jae 0x4022a6
movdqu xmm0, xmmword [ebp]
pxor xmm1, xmm1
pcmpeqw xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x4022c0
lea ebx, [ebp + 0xf]
and ebx, 0xfffffff0
sub ebx, ebp
shr ebx, 1
add ebx, 0xfffffff8
pxor xmm1, xmm1
movdqa xmm0, xmmword [ebp + ebx*2 + 0x10]
add ebx, 8
movdqa xmm2, xmm0
pcmpeqw xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
je 0x402227
pxor xmm1, xmm1
pcmpeqw xmm0, xmm1
movdqa xmm1, xmmword [str._a_a_a_a_a_a_a_a]
movdqa xmm2, xmm0
pand xmm0, xmmword [0x405010]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pand xmm2, xmm1
pminsw xmm2, xmm0
pshufd xmm0, xmm2, 0x55
pand xmm0, xmm1
pminsw xmm0, xmm2
movdqa xmm2, xmm0
psrld xmm2, 0x10
pand xmm2, xmm1
pminsw xmm2, xmm0
movd eax, xmm2
mov ecx, eax
and eax, 7
and cl, 7
add ebx, eax
mov byte [esp + 0x14c0], cl
jmp 0x402319
xor ebx, ebx
mov eax, ebp
test al, 0xe
je 0x402220
cmp word [ebp + ebx*2], 0
je 0x402319
inc ebx
add eax, 2
jmp 0x4022aa
movdqa xmm0, xmmword [str._a_a_a_a_a_a_a_a]
movdqa xmm2, xmm1
pand xmm1, xmmword [0x405010]
pandn xmm2, xmm0
por xmm1, xmm2
pshufd xmm2, xmm1, 0xee
pand xmm2, xmm0
pminsw xmm2, xmm1
pshufd xmm1, xmm2, 0x55
pand xmm1, xmm0
pminsw xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0x10
pand xmm2, xmm0
pminsw xmm2, xmm1
movd ebx, xmm2
mov eax, ebx
and ebx, 7
and al, 7
mov byte [esp + 0x14c0], al
mov edx, dword [0x4050d8]
lea ecx, [esp + 0x14c0]
mov eax, dword [0x4050dc]
mov dword [ecx], 0xaaaaaaaa
and dword [ecx + 4], 0
and dword [ecx + 8], 0
mov dword [ecx + 0xc], edx
mov edx, ebx
mov dword [ecx + 0x10], eax
call fcn.00403e41
test ax, ax
jne 0x402768
mov eax, dword [esp + 0x14d0]
movsd xmm0, qword [esp + 0x14c0]
movq xmm1, qword [esp + 0x14c8]
movdqa xmm2, xmmword [0x405030]
lea ecx, [ebx + ebx]
movsd qword [esp + 0xb8], xmm0
movq qword [esp + 0xc0], xmm1
mov dword [esp + 0xc8], eax
movdqa xmm0, xmmword [0x405020]
pxor xmm1, xmm1
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
cmp ebx, 8
jb 0x4023df
movdqu xmm3, xmmword [ebp]
movdqa xmm4, xmm0
psubusw xmm4, xmm3
pcmpeqw xmm4, xmm1
pmovmskb eax, xmm4
test eax, eax
jne 0x4023df
pand xmm3, xmm2
add ebp, 0x10
add ebx, 0xfffffff8
add ecx, 0xfffffff0
packuswb xmm3, xmm3
movq qword [edx + esi], xmm3
add esi, 8
jmp 0x4023a6
mov dword [esp + 8], edx
test ebx, ebx
mov edx, 0xaaaaaaaa
lea eax, [esp + 0xb8]
cmove ecx, ebx
cmove ebp, edx
xor edi, edi
mov dword [eax + 4], esi
mov dword [esp + 0xc], ecx
cmp edi, ecx
je 0x4025dd
movzx ebx, word [ebp + edi]
lea edx, [edi + 2]
mov eax, ebx
mov word [esp + 0x20], bx
and eax, 0xfc00
cmp ax, 0xd800
jne 0x40245f
cmp edx, ecx
jae 0x40245f
movzx eax, word [ebp + edx]
mov dword [esp + 0x18], esi
mov esi, ebp
mov ebp, edx
lea ecx, [esp + 0x14c0]
lea edx, [esp + 0x20]
mov word [esp + 0x22], ax
call fcn.004040f7
mov edx, ebp
mov ebp, esi
mov esi, dword [esp + 0x18]
cmp word [esp + 0x14c4], 0
je 0x40252d
mov dword [esp], edx
movzx eax, bx
mov ebx, eax
mov word [esp + 0x1c], ax
movzx eax, ax
lea ecx, [esp + 0xa0]
shr ebx, 0x10
and ebx, 0x1f
mov byte [esp + 0x1e], bl
shl ebx, 0x10
or ebx, eax
mov edx, ebx
call fcn.00403df3
movzx edi, byte [esp + 0xa2]
add edi, esi
setb byte [esp + 0x20]
setb byte [esp + 0x14c0]
test byte [esp + 0x20], 1
jne 0x402753
mov ecx, dword [esp + 0xc0]
cmp ecx, edi
jae 0x4024e2
mov edx, edi
call fcn.004036fd
lea ecx, [esp + 0xb8]
mov edx, eax
call fcn.00403e41
test ax, ax
jne 0x402758
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
lea ecx, [esp + 0x14c0]
mov edx, ebx
mov dword [esp + 0xbc], edi
call fcn.00403df3
cmp word [esp + 0x14c0], 0
mov edx, dword [esp]
jne 0x4025d0
movzx eax, byte [esp + 0x14c2]
lea ecx, [eax - 1]
mov ecx, dword [ecx*4 + 0x4030a8]
add ecx, dword [esp + 0x10]
jmp ecx
movzx ecx, byte [esp + 0x14c2]
movzx eax, word [esp + 0x14c0]
add edi, 4
mov dword [esp], edi
shl ecx, 0x10
or eax, ecx
jmp 0x402465
mov ecx, dword [esp + 0xc]
mov esi, edi
mov edi, edx
jmp 0x402400
mov eax, dword [esp + 0xc8]
mov edi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xc0]
lea ecx, [esp + 0xa0]
mov dword [esp], eax
mov dword [ecx + 4], eax
mov dword [ecx], ebx
mov edx, edi
push ebp
push esi
call fcn.00403ebd
pop ecx
pop edx
test al, 1
jne 0x40267d
lea ecx, [esp + 0x14c0]
lea edx, [esp + 0xa0]
push ebp
call fcn.00403f0a
pop eax
lea eax, [esp + 0x14c0]
movzx eax, word [eax + 8]
test ax, ax
jne 0x402758
mov eax, dword [esp + 0x14c0]
mov ebp, dword [esp + 0x14c4]
mov dword [esp + 0xc], eax
push ebp
push edi
push eax
call fcn.00404354
add esp, 0xc
mov eax, dword [esp]
lea ecx, [esp + 0x20]
mov edx, edi
mov dword [ecx], ebx
mov dword [ecx + 4], eax
push esi
call fcn.00401a54
pop eax
mov edi, dword [esp + 0xc]
mov esi, dword [0x4050dc]
mov ebx, dword [0x4050d8]
lea edx, [esp + 0x54]
lea eax, [ebp + 1]
mov dword [edx + 4], esi
lea esi, [esp + 0x38]
mov dword [edx], ebx
mov ecx, esi
push eax
call fcn.00403f0a
pop eax
movzx esi, word [esi + 8]
test si, si
jne 0x402825
mov edx, dword [0x4050dc]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4b8], ebx
xor esi, esi
mov ebx, 0
mov dword [esp + 0x4bc], edx
mov dword [esp + 0x4c0], edi
mov dword [esp + 0x4c4], ebp
and dword [esp + 0x4c8], 0
mov dword [esp + 0x4cc], eax
mov dword [esp + 0x4d0], ecx
and dword [esp + 0x4d4], 0
and dword [esp + 0x4d8], 0
test ebp, ebp
je 0x402a33
xor esi, esi
cmp byte [edi], 0
je 0x402a33
xor eax, eax
xor ecx, ecx
cmp ebp, eax
je 0x402848
movzx edx, byte [edi + eax]
cmp edx, 9
je 0x402741
cmp edx, 0x20
je 0x402741
cmp edx, 0x22
je 0x40274d
test edx, edx
jne 0x402750
jmp 0x40284a
test cl, 1
mov cl, 1
jne 0x402750
jmp 0x4028ce
xor cl, 1
inc eax
jmp 0x40271d
xor esi, esi
inc esi
jmp 0x40275a
mov esi, eax
lea ecx, [esp + 0xb8]
call fcn.00403c5b
mov eax, esi
cwde
mov esi, dword [eax*8 + 0x405688]
mov edi, dword [eax*8 + 0x40568c]
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x4b8], eax
and dword [esp + 0x4bc], 0
call fcn.004030b8
lea ebx, [esp + 0x38]
lea eax, [esp + 0x4b8]
mov ebp, 0x403bd1
lea ecx, [esp + 0xb8]
mov edx, str.error:_s_n
mov dword [esp + 0x5c], ebx
mov dword [ebx], eax
mov dword [esp + 0x60], ebp
mov dword [ecx + 4], ebp
mov dword [ecx], ebx
push 7
call fcn.004033c0
pop ecx
test ax, ax
jne 0x402817
lea eax, [esp + 0x5c]
mov ecx, esi
mov edx, edi
push eax
push 0x4052d8
call fcn.004037d7
pop ecx
pop edx
test ax, ax
jne 0x402817
lea ecx, [esp + 0x14c0]
lea edx, [0x4052d6]
mov dword [ecx], ebx
mov dword [ecx + 4], ebp
push 1
call fcn.004033c0
pop ecx
test ax, ax
jne 0x402817
lea ecx, [esp + 0x4b8]
call fcn.00403b99
call fcn.004030c3
xor eax, eax
inc eax
push eax
call sub.ntdll.dll_RtlExitUserProcess
mov eax, dword [0x4050dc]
lea ecx, [esp + 0x80]
mov edx, edi
mov dword [ecx], ebx
mov dword [ecx + 4], eax
push ebp
call fcn.00401a54
mov eax, esi
add esp, 4
jmp 0x402768
mov eax, ebp
test eax, eax
mov dword [esp + 0x4c8], eax
jne 0x4028cf
xor eax, eax
lea esi, [esp + 0x4b8]
xor ebx, ebx
cmp eax, ebp
je 0x402a05
mov ecx, dword [esp + 0x4c0]
movzx ecx, byte [ecx + eax]
cmp ecx, 9
movzx edx, cl
je 0x402896
cmp ecx, 0x20
je 0x402896
cmp ecx, 0x22
je 0x4028a6
test ecx, ecx
je 0x402a05
mov ecx, esi
call fcn.00403404
jmp 0x4028a9
test bl, 1
je 0x4028c1
mov ecx, esi
call fcn.00403404
mov bl, 1
jmp 0x4028a9
xor bl, 1
mov eax, dword [esp + 0x4c8]
mov ebp, dword [esp + 0x4c4]
inc eax
mov dword [esp + 0x4c8], eax
jmp 0x402860
inc eax
mov dword [esp + 0x4c8], eax
jmp 0x402a05
inc eax
cmp ebp, eax
je 0x4029e8
movzx ecx, byte [edi + eax]
cmp ecx, 9
je 0x4028ce
cmp ecx, 0x20
je 0x4028ce
test ecx, ecx
je 0x4029ea
lea esi, [esp + 0x4b8]
mov dword [esp], 0
mov dword [esi + 0x10], eax
push 0x22
pop edi
xor ebx, ebx
cmp eax, ebp
je 0x4029f7
mov ecx, dword [esp + 0x4c0]
movzx eax, byte [ecx + eax]
cmp eax, 9
movzx ebp, al
je 0x402948
cmp eax, 0x20
je 0x402948
cmp eax, 0x22
je 0x40296d
cmp eax, 0x5c
je 0x4029b5
test eax, eax
je 0x4029f7
mov ecx, esi
mov edx, ebx
call fcn.00403605
mov ecx, esi
mov edx, ebp
jmp 0x4029c6
mov ecx, esi
mov edx, ebx
call fcn.00403605
test byte [esp], 1
je 0x402a05
mov ecx, esi
mov edx, ebp
call fcn.00403404
mov al, 1
xor ebx, ebx
mov dword [esp], eax
jmp 0x4029cd
mov edx, ebx
mov ecx, esi
shr edx, 1
call fcn.00403605
test bl, 1
jne 0x4029c2
mov edx, dword [esp]
test dl, 1
je 0x4029b8
mov eax, dword [esp + 0x4c8]
inc eax
cmp eax, dword [esp + 0x4c4]
je 0x4029b8
mov ecx, dword [esp + 0x4c0]
cmp byte [ecx + eax], 0x22
jne 0x4029b8
mov ecx, esi
mov edx, edi
call fcn.00403404
inc dword [esp + 0x4c8]
jmp 0x402964
inc ebx
jmp 0x4029cd
xor dl, 1
xor ebx, ebx
mov dword [esp], edx
jmp 0x4029cd
mov ecx, esi
mov edx, edi
call fcn.00403404
xor ebx, ebx
mov eax, dword [esp + 0x4c8]
mov ebp, dword [esp + 0x4c4]
inc eax
mov dword [esp + 0x4c8], eax
jmp 0x402903
mov eax, ebp
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x4c8], eax
jmp 0x402a33
lea ecx, [esp + 0x4b8]
mov edx, ebx
call fcn.00403605
mov eax, dword [esp + 0x4d8]
mov esi, dword [esp + 0x4cc]
mov byte [esi + eax], 0
mov ebx, eax
inc eax
mov ecx, dword [esp + 0x4d4]
mov dword [esp + 0x4d8], eax
mov dword [esp + 0x4d4], eax
add esi, ecx
sub ebx, ecx
test esi, esi
jne 0x402a51
call fcn.00401000
lea ecx, [esp + 0x4b8]
call fcn.0040103e
mov ax, 2
jmp 0x402768
mov ecx, esi
mov edx, ebx
push 5
push str.flash
call fcn.00401072
pop ecx
pop edx
mov edi, 0xffffff00
test al, 1
je 0x402a73
xor edx, edx
push 4
pop ecx
jmp 0x402a95
mov byte [esp], al
mov ecx, esi
mov edx, ebx
push 9
push str.shockwave
call fcn.00401072
pop ecx
pop edx
test al, 1
je 0x402a37
push 0xfffffffffffffffb
pop edx
push 8
pop ecx
mov al, byte [esp]
not al
mov dword [0x40700c], edi
mov dword [0x407010], edx
mov dword [0x407008], ecx
and al, 1
mov byte [esp], al
mov byte [section..data], al
call fcn.004030b8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
lea ecx, [esp + 0xb8]
mov edx, str.Hotel_type:_s_n
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x401648
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov dword [ecx + 4], esi
mov dword [ecx], edi
push 0xc
call fcn.004033c0
pop ecx
test ax, ax
lea ebx, [esp + 0x38]
jne 0x402b4d
mov dl, byte [esp]
mov eax, str.FLASH
mov ecx, str.SHOCKWAVE
test dl, dl
cmove ecx, eax
movzx eax, dl
lea edx, [eax*4 + 5]
push ebx
push 0x4052d8
call fcn.004037d7
pop ecx
pop edx
test ax, ax
jne 0x402b4d
lea ecx, [esp + 0x14c0]
lea edx, [0x40513d]
mov dword [ecx], edi
mov dword [ecx + 4], esi
push 1
call fcn.004033c0
pop ecx
call fcn.004030c3
lea edi, [esp + 0x4b8]
mov ecx, edi
call fcn.0040103e
mov eax, dword [0x4050dc]
mov ecx, dword [0x4050d8]
mov dword [esp + 0x20], 0xaaaaaaaa
and dword [esp + 0x24], 0
and dword [esp + 0x28], 0
and dword [esp + 0x40], 0
pxor xmm0, xmm0
movq qword [esp + 0x38], xmm0
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
push ebx
push 0x401152
call sub.USER32.dll_EnumWindows
test eax, eax
mov cx, 3
je 0x402be1
mov esi, 0x1000
push esi
push 0
lea ebx, [esp + 0x14c8]
push ebx
call fcn.00404379
add esp, 0xc
lea eax, [esp + 0xb4]
and dword [eax], 0
push eax
push esi
push ebx
call sub.KERNEL32.dll_K32EnumProcesses
mov cx, 4
test eax, eax
jne 0x402bf1
mov esi, ecx
lea ecx, [esp + 0x38]
call fcn.004015ea
jmp 0x402766
push 0x1000
lea eax, [esp + 0x14c4]
push eax
push edi
call fcn.00404354
add esp, 0xc
xor esi, esi
lea ebx, [esp + 0xb8]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xaaaaaaaa
mov dword [esp + 0xc], 0
cmp esi, 0x400
je 0x402eca
mov eax, dword [esp + esi*4 + 0x4b8]
test eax, eax
je 0x402ec4
mov dword [esp], eax
push eax
push 0
push 0x1000
call sub.KERNEL32.dll_OpenProcess
cmp eax, 0xffffffff
je 0x402ec4
mov ecx, eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x400
push eax
push ebx
push 0
mov dword [esp + 0x24], ecx
push ecx
call sub.KERNEL32.dll_QueryFullProcessImageNameA
test eax, eax
je 0x402ebb
lea ecx, [esp + 0x80]
mov edx, 0x4050d8
push dword [esp + 0x1c]
push ebx
call fcn.004015f3
pop eax
pop ecx
movzx eax, word [esp + 0x88]
test ax, ax
jne 0x403094
mov eax, dword [esp + 0x80]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x38]
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x78], eax
mov eax, 0x4052c4
je 0x402d43
mov ecx, dword [esp]
xor edx, edx
xor edi, edi
call fcn.00403623
test esi, esi
mov ecx, 0xffffffff
je 0x402cee
mov edi, dword [esi - 4]
lea ecx, [edi - 1]
shr edx, 0x19
and eax, ecx
sub edi, 1
mov bl, byte [esi + eax]
setb bh
test bl, bl
je 0x402d21
test bh, bh
jne 0x402d21
test bl, bl
jns 0x402d1e
and bl, 0x7f
cmp dl, bl
jne 0x402d1e
mov ebx, dword [esi - 8]
mov ebp, dword [ebx + eax*8]
xor ebp, dword [esp]
or ebp, dword [ebx + eax*8 + 4]
je 0x402d2f
inc eax
jmp 0x402cf1
lea ebx, [esp + 0xb8]
mov eax, 0x4052c4
jmp 0x402d43
mov dword [esp + 0x54], eax
mov byte [esp + 0x58], 1
lea eax, [esp + 0x54]
lea ebx, [esp + 0xb8]
cmp byte [eax + 4], 0
je 0x402d5f
mov eax, dword [eax]
mov ecx, dword [esi - 0xc]
mov edx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], eax
jmp 0x402d6f
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 8]
lea edx, [eax + 1]
cmp ebp, eax
ja 0x402e74
mov ecx, ebp
mov dword [esp + 0x34], edx
call fcn.004036fd
cmp ebp, eax
jae 0x402deb
mov edi, eax
push 0x1c
pop ecx
test ebp, ebp
je 0x402df4
mul ecx
seto dl
seto byte [esp + 0x54]
mov ecx, eax
test dl, dl
mov byte [esp + 7], dl
jne 0x402dfd
imul eax, ebp, 0x1c
mov ebp, ecx
mov esi, dword [esp + 0x30]
mov ecx, dword [0x4050d8]
mov edx, dword [esp + 0x14]
push dword [esp + 0x24d0]
push ebp
push 2
push eax
call dword [esi + 4]
mov esi, dword [esp + 0x18]
mov ecx, ebp
add esp, 0x10
mov edx, dword [esp + 0x34]
test al, 1
je 0x402dfd
mov ebp, edi
jmp 0x402e70
mov edx, dword [esp + 0x34]
jmp 0x402e74
mul ecx
mov ecx, eax
seto byte [esp + 7]
mov dl, byte [esp + 7]
mov eax, dword [esp + 0x24d0]
test dl, dl
mov byte [esp + 0x54], dl
jne 0x40308c
test ecx, ecx
push 0xfffffffffffffffc
pop esi
je 0x402e3a
mov edx, ecx
mov ecx, dword [0x4050d8]
push eax
push 2
mov eax, dword [0x4050dc]
call dword [eax]
add esp, 8
mov esi, eax
test eax, eax
je 0x403091
imul eax, dword [esp + 0xc], 0x1c
push eax
mov ebp, dword [esp + 0x18]
push ebp
push esi
call fcn.00404354
add esp, 0xc
mov edx, ebp
mov ebp, edi
lea ecx, [esp + 0x2c]
push dword [esp + 0x10]
call fcn.00403300
pop eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], esi
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], edx
mov edi, edx
imul eax, dword [esp + 0xc], 0x1c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], edi
mov dword [ecx + eax], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ecx + eax + 8], edx
mov edx, dword [esp + 0x50]
and dword [ecx + eax + 0xc], 0
and dword [ecx + eax + 0x10], 0
mov dword [ecx + eax + 0x14], edx
mov edx, dword [esp + 0x4c]
mov dword [ecx + eax + 0x18], edx
push dword [esp + 0x18]
call sub.KERNEL32.dll_CloseHandle
inc esi
jmp 0x402c28
lea ecx, [esp + 0x38]
call fcn.004015ea
mov eax, dword [esp + 0x30]
movq xmm0, qword [esp + 0x20]
movq xmm1, qword [esp + 0x28]
movq qword [esp + 0x8c], xmm0
movq qword [esp + 0x94], xmm1
mov dword [esp + 0x9c], eax
mov dword [esp + 0xb0], eax
movq qword [esp + 0xa8], xmm1
movq qword [esp + 0xa0], xmm0
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
sub edi, 1
jb 0x403022
movsd xmm0, qword [ebp]
movq xmm1, qword [ebp + 8]
test byte [section..data], 1
movsd qword [esp + 0x5c], xmm0
movq qword [esp + 0x64], xmm1
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x74], eax
movq xmm0, qword [ebp + 0x10]
movq qword [esp + 0x6c], xmm0
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ecx, ebx
mov edx, esi
jne 0x402fa0
push 5
push str.ppapi
call fcn.00402077
pop ecx
pop edx
test al, 1
jne 0x40300c
mov ecx, ebx
mov edx, esi
push 0x10
push str.plugin_container
call fcn.00402077
pop ecx
pop edx
test al, 1
jne 0x40300c
mov ecx, ebx
mov edx, esi
call fcn.00402148
jmp 0x403008
call fcn.00402148
test al, 1
jne 0x40300c
mov ecx, ebx
mov edx, esi
push 0xb
push str.HabboHotel_
call fcn.00402077
pop ecx
pop edx
test al, 1
jne 0x40300c
mov esi, dword [esp + 0x68]
test esi, esi
je 0x402fee
mov ebx, dword [esp + 0x6c]
mov ecx, esi
mov edx, ebx
push 9
push str.Habbo.exe
call fcn.00401072
pop ecx
pop edx
test al, 1
jne 0x40300c
mov ecx, esi
mov edx, ebx
push 0xb
push str.HabboHotel_
jmp 0x403001
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x40301a
mov edx, dword [esp + 0x74]
push 0x14
push str.Habbo_Hotel:_Origins
call fcn.00402077
pop ecx
pop edx
test al, 1
je 0x40301a
lea ecx, [esp + 0x5c]
call fcn.00401a7f
test ax, ax
jne 0x403079
add ebp, 0x1c
jmp 0x402f23
call fcn.004030b8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
lea ecx, [esp + 0x4b8]
mov edx, 0x4051db
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x14c0], eax
lea eax, [esp + 0x14c0]
mov dword [ecx], eax
mov dword [ecx + 4], 0x401648
push 9
call fcn.004033c0
pop ecx
call fcn.004030c3
lea ecx, [esp + 0x8c]
call fcn.00402166
xor eax, eax
jmp 0x40281f
lea ecx, [esp + 0x8c]
mov esi, eax
call fcn.00402166
jmp 0x402766
xor eax, eax
inc eax
jmp 0x403094
xor eax, eax
inc eax
push dword [esp + 0x18]
mov esi, eax
call sub.KERNEL32.dll_CloseHandle
mov ecx, esi
jmp 0x402be1