Function at 0x4cb770
Capabilities:
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x3b4
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x2b4]
push eax
call fcn.0051ec40
lea ecx, [esp + 0x1a4]
push ecx
call fcn.0051ec40
mov ebx, 1
push 0x478
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x28], ebx
call fcn.004a2340
push 0x478
xor edi, edi
mov esi, eax
push edi
push esi
call fcn.00545659
mov eax, dword [0x58b528]
add esp, 0xc
cmp eax, edi
je 0x4cb7d1
mov dword [eax + 0x128], esi
cmp dword [0x58b52c], edi
mov dword [esi + 0x124], eax
mov dword [esi + 0x128], edi
mov dword [0x58b528], esi
jne 0x4cb7f1
mov dword [0x58b52c], esi
or ebp, 0xffffffff
lea edx, [esi + 0x3b0]
push edx
mov dword [esi + 0x2e8], ebp
mov dword [esi + 0x2ec], ebp
mov dword [esi + 0x168], ebp
mov dword [esi + 0x16c], ebp
mov dword [esi + 0x170], ebp
mov dword [esi + 0x290], ebp
mov dword [esi + 0x28c], ebx
mov dword [esi + 0x2e4], ebp
mov dword [esi + 0x11c], ebp
mov dword [esi + 0x1b0], edi
mov dword [esi + 0x1b8], 0x5664b8
mov dword [esi + 0x1b4], esi
mov dword [esi + 0x364], ebp
mov dword [esi + 0x368], ebp
mov dword [esi + 0x1ac], ebp
mov dword [esi + 0x36c], ebp
mov dword [esi + 0xe0], ebp
mov dword [esi + 0xe4], ebp
call fcn.004badc0
lea eax, [esi + 0x398]
push eax
call fcn.004b1fb0
mov ebx, dword [esp + 0x3c8]
cmp ebx, edi
mov eax, ebp
mov dword [esi + 0x258], eax
mov dword [esi + 0x25c], eax
mov dword [esi + 0x260], eax
mov dword [esi + 0x264], eax
mov dword [esi + 0x268], eax
mov dword [esi + 0x26c], eax
mov dword [esi + 0x270], eax
mov dword [esi + 0x274], eax
mov dword [esi + 0x278], eax
mov dword [esi + 0x27c], eax
mov dword [esi + 0x280], eax
mov dword [esi + 0x284], eax
mov dword [esi + 0x288], eax
movsx ecx, byte [0x58b0a6]
movsx edx, byte [0x58b0a5]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], edx
je 0x4cbc29
cmp byte [0x58b115], 0
mov dword [esp + 0x10], ebx
je 0x4cb90b
mov al, byte [0x58b0aa]
mov byte [esi + 0x174], al
jmp 0x4cb917
mov cl, byte [ebx + 0x174]
mov byte [esi + 0x174], cl
cmp byte [0x58b117], 0
je 0x4cb92e
mov dl, byte [0x58b0a9]
mov byte [esi + 0x176], dl
jmp 0x4cb93a
mov al, byte [ebx + 0x176]
mov byte [esi + 0x176], al
cmp byte [0x58b116], 0
je 0x4cb951
mov cl, byte [0x58b0a8]
mov byte [esi + 0x175], cl
jmp 0x4cb95d
mov dl, byte [ebx + 0x175]
mov byte [esi + 0x175], dl
cmp byte [0x58b118], 0
je 0x4cb973
mov al, byte [0x58b0ab]
mov byte [esi + 0x178], al
jmp 0x4cb97f
mov cl, byte [ebx + 0x178]
mov byte [esi + 0x178], cl
cmp byte [0x58b119], 0
je 0x4cb996
mov dl, byte [0x58b0ac]
mov byte [esi + 0x177], dl
jmp 0x4cb9a2
mov al, byte [ebx + 0x177]
mov byte [esi + 0x177], al
cmp byte [0x57e627], 0
je 0x4cb9b4
mov ecx, dword [0x58b154]
push ecx
jmp 0x4cb9bb
mov edx, dword [ebx + 0x17c]
push edx
call fcn.00517e60
mov dword [esi + 0x17c], eax
cmp byte [0x58b11a], 0
je 0x4cb9d7
mov eax, dword [0x58b1d8]
push eax
jmp 0x4cb9de
mov ecx, dword [ebx + 0xac]
push ecx
call fcn.00517e60
mov edi, dword [esp + 0x3cc]
mov dword [esi + 0xac], eax
cmp byte [0x58b11b], 0
je 0x4cba52
mov edx, dword [0x58b200]
push edx
call fcn.004c0960
cmp eax, ebp
mov dword [esi + 0x298], eax
je 0x4cba1e
movsx eax, byte [0x57e6c9]
mov dword [esi + 0x29c], eax
jmp 0x4cba32
mov dword [esi + 0x298], 0xa
mov dword [esi + 0x29c], 0
test edi, edi
mov dword [esp + 0x24], 0
je 0x4cba6a
cmp dword [edi + 0x84], 0
je 0x4cba6a
mov edx, 1
mov dword [esp + 0x24], edx
jmp 0x4cba6f
mov ecx, dword [ebx + 0x298]
mov dword [esi + 0x298], ecx
mov edx, dword [ebx + 0x29c]
mov dword [esi + 0x29c], edx
mov edx, 1
cmp byte [0x58b11c], 0
je 0x4cbabe
cmp byte [0x58b0ad], 0
je 0x4cba89
mov dword [esi + 0x34c], edx
jmp 0x4cba93
mov dword [esi + 0x34c], 0
mov eax, dword [0x57e5f4]
mov ecx, dword [0x57e5f8]
cmp eax, ecx
jge 0x4cbaa4
mov eax, ecx
mov ecx, dword [0x57e5fc]
cmp eax, ecx
jle 0x4cbab0
mov eax, ecx
cmp eax, edx
jge 0x4cbab6
mov eax, edx
mov dword [esi + 0x350], eax
jmp 0x4cbad6
mov eax, dword [ebx + 0x34c]
mov dword [esi + 0x34c], eax
mov ecx, dword [ebx + 0x350]
mov dword [esi + 0x350], ecx
cmp byte [0x57e650], 0
je 0x4cbb1e
mov eax, dword [0x58b208]
movsx edx, byte [0x58b204]
push eax
lea ecx, [esp + 0x2b8]
push ecx
mov dword [esp + 0x38], edx
call fcn.0051f570
mov edx, dword [0x58b20c]
push edx
lea eax, [esp + 0x1a8]
push eax
call fcn.0051f570
movsx ecx, byte [0x57e6ca]
mov dword [esp + 0x38], ecx
jmp 0x4cbb87
mov eax, dword [ebx + 0x1b0]
sub eax, 2
je 0x4cbb65
sub eax, edx
je 0x4cbb37
mov dword [esp + 0x30], 0
jmp 0x4cbb8c
mov eax, dword [ebx + 0x1b4]
lea edx, [esp + 0x1a4]
push edx
push eax
call fcn.0048ec60
mov ecx, dword [ebx + 0x1b4]
push ecx
call fcn.0048f290
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], 2
jmp 0x4cbb87
mov edx, dword [ebx + 0x1b4]
push edx
call fcn.0040cc50
push eax
lea eax, [esp + 0x2b8]
push eax
call fcn.0051f570
mov dword [esp + 0x30], 1
mov edx, 1
mov eax, dword [ebx + 0xa4]
xor ecx, ecx
cmp dword [ebx + 0xa0], ecx
mov dword [esi + 0xa4], eax
setne cl
xor eax, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0xa8]
mov dword [esi + 0xa8], ecx
cmp dword [ebx + 0xc4], eax
mov ecx, dword [ebx + 0xc8]
setne al
mov dword [esi + 0xc8], ecx
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0xc8]
mov dword [esi + 0xcc], eax
mov cl, byte [ebx + 0x180]
mov byte [esi + 0x180], cl
cmp dword [ebx + 0x2c4], 0
je 0x4cbc08
mov eax, dword [ebx + 0x2c0]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x2c8]
mov dword [esp + 0x28], eax
jmp 0x4cbe33
mov ecx, dword [ebx + 0x60]
push ecx
call fcn.004aad80
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x2c8]
mov edx, 1
mov dword [esp + 0x28], eax
jmp 0x4cbe33
movzx ecx, byte [0x58b0aa]
mov byte [esi + 0x174], cl
movzx edx, byte [0x58b0a9]
mov byte [esi + 0x176], dl
mov al, byte [0x58b0a8]
mov byte [esi + 0x175], al
movzx ecx, byte [0x58b0ab]
mov byte [esi + 0x178], cl
movzx edx, byte [0x58b0ac]
mov byte [esi + 0x177], dl
movsx eax, byte [0x58b1d4]
mov ecx, dword [0x57e6c4]
mov dword [esi + 0xa4], ecx
movsx edx, byte [0x57e6c8]
mov dword [esp + 0x4c], eax
mov dword [esi + 0xa8], edx
mov eax, dword [0x58b1d8]
push eax
call fcn.00517e60
mov dword [esi + 0xac], eax
movsx ecx, byte [0x58b1d6]
mov edx, dword [0x57e6cc]
mov dword [esi + 0xc8], edx
mov eax, dword [0x57e6cc]
mov dword [esp + 0x48], ecx
mov dword [esi + 0xcc], eax
mov ecx, dword [0x58b200]
push ecx
call fcn.004c0960
cmp eax, ebp
mov dword [esi + 0x298], eax
je 0x4cbce4
movsx edx, byte [0x57e6c9]
mov dword [esi + 0x29c], edx
jmp 0x4cbcf4
mov dword [esi + 0x298], 0xa
mov dword [esi + 0x29c], edi
cmp byte [0x58b11b], 0
mov edi, dword [esp + 0x3cc]
je 0x4cbd21
test edi, edi
mov dword [esp + 0x24], 0
je 0x4cbd21
cmp dword [edi + 0x84], 0
je 0x4cbd21
mov dword [esp + 0x24], 1
mov eax, dword [0x58b528]
push eax
call fcn.004c1200
test eax, eax
mov dword [esp + 0x10], eax
je 0x4cbd56
cmp dword [eax + 0x2c4], 0
je 0x4cbd45
mov ecx, dword [eax + 0x2c0]
jmp 0x4cbd5d
mov edx, eax
mov eax, dword [edx + 0x60]
push eax
call fcn.004aad80
mov dword [esp + 0x2c], eax
jmp 0x4cbd61
movsx ecx, byte [0x58b0a4]
mov dword [esp + 0x2c], ecx
mov edx, dword [0x58b154]
push edx
call fcn.00517e60
mov dword [esi + 0x17c], eax
mov ecx, dword [0x58b208]
movsx eax, byte [0x58b204]
push ecx
lea edx, [esp + 0x2b8]
push edx
mov dword [esp + 0x38], eax
call fcn.0051f570
mov eax, dword [0x58b20c]
push eax
lea ecx, [esp + 0x1a8]
push ecx
call fcn.0051f570
cmp byte [0x58b37c], 0
movsx edx, byte [0x57e6ca]
mov dword [esp + 0x38], edx
je 0x4cbdcb
cmp byte [0x58b15b], 0
sete al
mov byte [esi + 0x180], al
jmp 0x4cbdd7
mov cl, byte [0x58b15b]
mov byte [esi + 0x180], cl
cmp byte [0x58b0ad], 1
jne 0x4cbdec
mov dword [esi + 0x34c], 1
jmp 0x4cbdf6
mov dword [esi + 0x34c], 0
mov eax, dword [0x57e5f4]
mov ecx, dword [0x57e5f8]
cmp eax, ecx
jge 0x4cbe07
mov eax, ecx
mov ecx, dword [0x57e5fc]
cmp eax, ecx
jle 0x4cbe13
mov eax, ecx
cmp eax, 1
jge 0x4cbe1d
mov eax, 1
mov dword [esi + 0x350], eax
movsx edx, byte [0x58b0a7]
mov dword [esp + 0x28], edx
mov edx, 1
mov eax, dword [esp + 0x3d0]
cmp eax, 3
mov dword [esi + 0x358], edx
mov dword [esi + 0x35c], edx
mov dword [esi + 0x354], edx
mov dword [esi + 0x360], edx
je 0x4cbe67
cmp eax, 2
je 0x4cbe61
cmp eax, 6
jne 0x4cbe6b
mov dword [esp + 0x3c], edx
jmp 0x4cbe6b
mov dword [esp + 0x2c], edx
test edi, edi
mov ecx, 0x8000
je 0x4cc0de
mov eax, dword [edi + 4]
test eax, 0x200
je 0x4cbe88
mov dword [esp + 0x2c], edx
jmp 0x4cbe99
test dword [edi + 8], 0x200
je 0x4cbe99
mov dword [esp + 0x2c], 0
test eax, 0x400
je 0x4cbea6
mov dword [esp + 0x3c], edx
jmp 0x4cbeb7
test dword [edi + 8], 0x400
je 0x4cbeb7
mov dword [esp + 0x3c], 0
test eax, 0x800
je 0x4cbec4
mov dword [esp + 0x40], edx
jmp 0x4cbed5
test dword [edi + 8], 0x800
je 0x4cbed5
mov dword [esp + 0x40], 0
test eax, 0x200000
je 0x4cbee2
mov dword [esp + 0x28], edx
jmp 0x4cbef3
test dword [edi + 8], 0x200000
je 0x4cbef3
mov dword [esp + 0x28], 0
test eax, 0x1000
je 0x4cbf03
mov byte [esi + 0x177], 1
jmp 0x4cbf13
test dword [edi + 8], 0x1000
je 0x4cbf13
mov byte [esi + 0x177], 0
mov eax, 0x2000
test dword [edi + 4], eax
je 0x4cbf26
mov byte [esi + 0x174], 1
jmp 0x4cbf32
test dword [edi + 8], eax
je 0x4cbf32
mov byte [esi + 0x174], 0
mov eax, 0x4000
test dword [edi + 4], eax
je 0x4cbf45
mov byte [esi + 0x175], 1
jmp 0x4cbf51
test dword [edi + 8], eax
je 0x4cbf51
mov byte [esi + 0x175], 0
test dword [edi + 4], ecx
je 0x4cbf5f
mov byte [esi + 0x176], 1
jmp 0x4cbf6b
test dword [edi + 8], ecx
je 0x4cbf6b
mov byte [esi + 0x176], 0
mov eax, 0x10000
test dword [edi + 4], eax
je 0x4cbf7e
mov byte [esi + 0x178], 1
jmp 0x4cbf8a
test dword [edi + 8], eax
je 0x4cbf8a
mov byte [esi + 0x178], 0
mov eax, dword [edi]
test eax, 0x80000
je 0x4cbf9f
mov dword [esi + 0x34c], 0
jmp 0x4cbfac
test eax, 0x100000
je 0x4cbfac
mov dword [esi + 0x34c], edx
mov eax, dword [edi + 0x70]
test eax, eax
je 0x4cbfd7
mov ecx, dword [0x57e5f8]
cmp eax, ecx
jge 0x4cbfbf
mov eax, ecx
mov ecx, dword [0x57e5fc]
cmp eax, ecx
jle 0x4cbfcb
mov eax, ecx
cmp eax, edx
jge 0x4cbfd1
mov eax, edx
mov dword [esi + 0x350], eax
cmp dword [edi + 0x84], 0
je 0x4cc032
lea eax, [esp + 0x94]
push eax
call fcn.0051ec40
movsx ecx, byte [esi + 0x177]
push edi
push ecx
lea edx, [esp + 0x9c]
push edx
call fcn.00405c10
mov eax, dword [esp + 0x9c]
mov ecx, dword [esi + 0x17c]
push eax
push ecx
call fcn.0051e5f0
lea edx, [esp + 0x94]
push edx
mov dword [esi + 0x17c], eax
mov dword [esp + 0x48], 0
call fcn.00522920
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4cc04c
push eax
mov eax, dword [esi + 0xac]
push eax
call fcn.0051e5f0
mov dword [esi + 0xac], eax
mov eax, dword [edi + 0x6c]
cmp eax, ebp
je 0x4cc073
mov dword [esi + 0x298], eax
cmp dword [edi + 0x68], 0
jne 0x4cc06b
push eax
call fcn.004c09a0
mov dword [esi + 0x29c], eax
xor ebp, ebp
mov dword [esp + 0x24], ebp
jmp 0x4cc075
xor ebp, ebp
mov eax, dword [edi + 0x68]
cmp eax, ebp
je 0x4cc08d
xor ecx, ecx
cmp eax, ebp
setg cl
mov dword [esp + 0x24], ebp
mov dword [esi + 0x29c], ecx
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x4cc0ac
push eax
lea edx, [esp + 0x2b8]
push edx
call fcn.0051f570
mov dword [esp + 0x30], 1
jmp 0x4cc0de
mov eax, dword [edi + 0x34]
cmp eax, ebp
je 0x4cc0d2
push eax
lea eax, [esp + 0x1a8]
push eax
call fcn.0051f570
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], 2
jmp 0x4cc0de
test dword [edi], 0x400
je 0x4cc0de
mov dword [esp + 0x30], ebp
test ebx, ebx
je 0x4cc0f0
mov edx, dword [ebx + 0x1f0]
mov dword [esi + 0x1f0], edx
jmp 0x4cc0fb
mov eax, dword [0x58b0bc]
mov dword [esi + 0x1f0], eax
cmp byte [0x57e60d], 0
mov dword [esp + 0x34], 0
mov ebx, accept
je 0x4cc11b
mov dword [esp + 0x34], 0x40000
jmp 0x4cc174
push 0x7f00
push 0
call dword [0x58b024]
mov ecx, dword [0x58b3cc]
mov edx, dword [0x58b3d0]
push eax
push ecx
push edx
push 0x4be430
push str.EVERYTHING_NOTASKBAR
push 8
call fcn.004a7b80
mov eax, dword [0x58b3c8]
push 0
push eax
push 0
push 0
push 0x6e
push 0x6e
push 0
push 0
push ebx
push 0x5465b6
push str.EVERYTHING_NOTASKBAR
push 0x80
call fcn.004a7ca0
mov dword [esi + 0x5c], eax
cmp byte [0x58b37c], 0
je 0x4cc185
or dword [esp + 0x34], 0x400000
cmp dword [0x57e5f0], 0xfe
ja 0x4cc1a2
cmp dword [0x58b480], 0
je 0x4cc1a2
or dword [esp + 0x34], 0x80000
cmp dword [esp + 0x10], 0
je 0x4cc26c
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x2a0]
mov eax, dword [ecx + 0x2a4]
mov edi, dword [ecx + 0x2a8]
mov ebp, dword [ecx + 0x2ac]
sub ebp, eax
add eax, 0x16
sub edi, ebx
add ebx, 0x16
lea edx, [eax + ebp]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
lea ecx, [edi + ebx]
mov dword [esp + 0x1c], ecx
push eax
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edx
call fcn.004ad6e0
test eax, eax
jne 0x4cc375
mov edx, dword [esp + 0x28]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.004aa210
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x58]
jle 0x4cc22a
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x5c]
jle 0x4cc23c
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x1c], eax
push edx
lea eax, [esp + 0x18]
add ecx, ebp
push eax
mov dword [esp + 0x28], ecx
call fcn.004ad6e0
test eax, eax
je 0x4cc375
jmp 0x4cc35d
push 2
mov dword [esp + 0x14], ebx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [0x57f928]
mov ecx, dword [0x57f910]
add ecx, edx
add ecx, dword [0x57f908]
mov edi, eax
add ecx, dword [0x57f900]
mov eax, 0x2aaaaaab
imul ecx, dword [0x581dec]
imul ecx
mov eax, dword [0x57e638]
sar edx, 4
mov ecx, edx
add edi, edx
shr ecx, 0x1f
add ecx, edi
mov edi, dword [0x57e634]
test edi, edi
je 0x4cc2c1
test eax, eax
jne 0x4cc2c9
mov edi, 9
lea eax, [edi - 2]
imul eax, ecx
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cdq
idiv edi
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
push eax
push 1
push 0x16cf0000
push ecx
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov eax, dword [0x58b09c]
sub edi, dword [esp + 0x14]
sub ebp, dword [esp + 0x18]
test eax, eax
jle 0x4cc375
mov edx, dword [0x58b0a0]
test edx, edx
jle 0x4cc375
mov edi, dword [0x58b098]
mov ecx, dword [0x58b094]
add edx, edi
add eax, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
push edx
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
call fcn.004ad6e0
test eax, eax
jne 0x4cc35d
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.004ad660
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
sub edi, ebx
mov dword [esp + 0x10], eax
sub ebp, eax
mov eax, dword [esp + 0x10]
lea edx, [eax + ebp]
mov dword [esi + 0x2a4], eax
lea eax, [esp + 0x94]
lea ecx, [edi + ebx]
push eax
mov dword [esi + 0x2a0], ebx
mov dword [esi + 0x2a8], ecx
mov dword [esi + 0x2ac], edx
call fcn.0051ec40
push str.EVERYTHING
lea ecx, [esp + 0x98]
push ecx
call fcn.0051f570
call fcn.004a1a20
test eax, eax
je 0x4cc3da
call fcn.004a1a20
push eax
lea edx, [esp + 0x98]
push 0x561d74
push edx
call fcn.0051fb90
add esp, 0xc
push 0x7f00
push 0
call dword [0x58b024]
mov ecx, dword [0x58b3d0]
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [0x58b3cc]
push eax
push ecx
push 0x4c9cc0
push edx
push 8
call fcn.004a7b80
mov eax, dword [0x58b3c8]
mov ecx, dword [esi + 0x5c]
mov edx, dword [esp + 0x10]
push 0
push eax
mov eax, dword [esp + 0xa4]
push 0
push ecx
mov ecx, dword [esp + 0x44]
push ebp
push edi
push edx
push ebx
push 0x6cf0000
push 0x5465b6
push eax
push ecx
call fcn.004a7ca0
lea edx, [esp + 0x94]
push edx
mov dword [esi + 0x60], eax
call fcn.00522920
mov eax, dword [esi + 0x60]
push esi
push eax
call fcn.004a9da0
push 0x7f00
push 0
call dword [0x58b024]
push eax
push 0
push 0
push 0x4c40a0
push str.EVERYTHING_TOOLBAR
push 8
call fcn.004a7b80
mov ecx, dword [0x58b3c8]
mov edx, dword [esi + 0x60]
mov al, byte [esi + 0x180]
push 0
push ecx
push 0x2716
push edx
push 0
push 0
push 0
neg al
push 0
push 0x56000000
push 0x5465b6
push str.EVERYTHING_TOOLBAR
sbb eax, eax
and eax, 0x400000
push eax
call fcn.004a7ca0
push esi
push eax
mov dword [esi + 0x64], eax
call fcn.004a9da0
push esi
call fcn.004cb690
xor edi, edi
call dword [0x581e58]
test eax, eax
je 0x4cc4dc
call dword [0x581e5c]
test eax, eax
jne 0x4cc4e1
mov edi, 0x200
mov ecx, dword [0x58b3c8]
mov edx, dword [esi + 0x60]
mov al, byte [esi + 0x180]
xor ebp, ebp
push ebp
push ecx
push 0x2724
push edx
push ebp
push ebp
neg al
push ebp
push ebp
push 0x56010000
push 0x5465b6
push str.SysListView32
sbb eax, eax
and eax, 0x400000
or eax, edi
push eax
call fcn.004a7ca0
push esi
push eax
mov dword [esi + 0x2e0], eax
call fcn.004a9da0
mov ecx, dword [esi + 0x2e0]
push 0x4f4c80
push ecx
call fcn.004a9dc0
mov cl, byte [esi + 0x180]
push ebp
mov dword [esi + 0x78], eax
mov edx, dword [0x58b3c8]
mov eax, dword [esi + 0x2e0]
push edx
push 0x2719
push eax
push ebp
push ebp
push ebp
neg cl
push ebp
push 0x560000c2
push 0x5465b6
push str.SysHeader32
sbb ecx, ecx
and ecx, 0x400000
push ecx
call fcn.004a7ca0
cmp dword [esi + 0x34c], ebp
mov dword [esi + 0x6c], eax
je 0x4cc58f
push ebp
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 0x6c]
push esi
push edx
call fcn.004a9da0
mov eax, dword [esi + 0x6c]
push 0x4c1480
push eax
call fcn.004a9dc0
mov dword [esi + 0x74], eax
mov eax, dword [esp + 0x3c8]
cmp eax, ebp
je 0x4cc5bd
cmp dword [eax + 0x80], ebp
jmp 0x4cc5c4
cmp byte [0x57e6cb], 0
je 0x4cc5cd
push 1
call fcn.004c6ce0
call dword [sym.imp.USER32.dll_CreateMenu]
mov dword [esi + 0x58], eax
mov ecx, dword [0x581de4]
mov edx, dword [ecx + 0x1e4]
push 0x2711
push edx
push eax
call fcn.004a6c00
mov eax, dword [0x581de4]
mov ecx, dword [eax + 0x1e8]
mov edx, dword [esi + 0x58]
push 0x2712
push ecx
push edx
call fcn.004a6c00
mov eax, dword [0x581de4]
mov ecx, dword [eax + 0x754]
mov edx, dword [esi + 0x58]
push 0x271d
push ecx
push edx
call fcn.004a6c00
mov eax, dword [0x581de4]
mov ecx, dword [eax + 0x1ec]
mov edx, dword [esi + 0x58]
push 0x2713
push ecx
push edx
call fcn.004a6c00
mov eax, dword [0x581de4]
mov ecx, dword [eax + 0xa2c]
mov edx, dword [esi + 0x58]
push 0x2725
push ecx
push edx
call fcn.004a6c00
mov eax, dword [0x581de4]
mov ecx, dword [eax + 0x1f0]
mov edx, dword [esi + 0x58]
push 0x2714
push ecx
push edx
call fcn.004a6c00
mov eax, dword [0x581de4]
mov ecx, dword [eax + 0x1f4]
mov edx, dword [esi + 0x58]
push 0x2715
push ecx
push edx
call fcn.004a6c00
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x60]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetMenu]
push esi
call fcn.004e16f0
call fcn.004c7a80
call fcn.004c7980
mov ecx, dword [0x58b2c0]
mov dword [esp + 0x10], ebp
lea edi, [esp + 0x9c]
lea esp, [esp]
cmp dword [esp + 0x3c8], 0
mov dword [edi - 4], ebp
je 0x4cc706
mov ebx, dword [esp + 0x3c8]
push ebp
push ebx
call fcn.004e8a40
push ebp
push ebx
mov dword [edi], eax
call fcn.004e8940
mov edx, dword [esp + 0x3c8]
push ebp
push edx
mov dword [edi + 4], eax
lea ebx, [edi - 8]
call fcn.004e8990
mov ecx, dword [0x58b2c0]
mov dword [ebx], eax
mov eax, dword [esp + 0x10]
jmp 0x4cc71f
mov eax, dword [esp + 0x10]
mov edx, dword [ecx + eax + 8]
mov dword [edi], edx
mov edx, dword [ecx + eax]
mov dword [edi + 4], edx
mov edx, dword [ecx + eax + 4]
lea ebx, [edi - 8]
mov dword [ebx], edx
add eax, 0xc
mov dword [esp + ebp*4 + 0x60], ebx
add ebp, 1
add edi, 0x10
cmp eax, 0x9c
mov dword [esp + 0x10], eax
jl 0x4cc6c0
push 0x4be170
push 0xd
lea eax, [esp + 0x68]
push eax
call fcn.004b1650
mov ebp, dword [0x58b054]
xor ebx, ebx
mov eax, dword [esp + ebx*4 + 0x60]
cmp dword [eax + 4], 0
je 0x4cc760
cmp dword [eax + 8], 0
je 0x4cc782
mov ecx, dword [esi + 0x6c]
push 0
push 0
push 0
push 0x1200
push ecx
mov edi, eax
call ebp
mov edx, dword [edi + 0xc]
push eax
mov eax, dword [edi + 4]
push edx
push eax
push esi
call fcn.004e8d80
add ebx, 1
cmp ebx, 0xd
jl 0x4cc750
mov ecx, dword [esi + 0x29c]
mov edx, dword [esi + 0x298]
mov eax, dword [esi + edx*4 + 0x258]
neg ecx
sbb ecx, ecx
and ecx, 0x200
add ecx, 0x200
push ecx
mov ecx, dword [esi + 0x6c]
push eax
push ecx
call fcn.004abcc0
push esi
call fcn.004be8e0
mov edx, dword [esi + 0x17c]
mov eax, dword [esi + 0x68]
movsx edi, byte [0x57e6d1]
push edx
push eax
mov dword [esi + 0x1f4], 1
call fcn.004a79e0
mov eax, edi
sub eax, 0
mov dword [esi + 0x1f4], 0
je 0x4cc80f
sub eax, 2
je 0x4cc806
mov ecx, dword [esi + 0x68]
push 0xffffffffffffffff
push 0
push 0xb1
push ecx
call ebp
jmp 0x4cc80f
mov edx, dword [esi + 0x68]
push edx
call fcn.004ad210
cmp dword [esi + 0x2c8], 2
jne 0x4cc82b
mov eax, dword [esi + 0x17c]
movzx ecx, byte [eax]
mov edx, dword [esi + 0x60]
push ecx
push edx
call fcn.004ac460
push esi
call fcn.004c1ff0
cmp dword [esp + 0x4c], 0
je 0x4cc841
push 1
mov eax, esi
call fcn.004c6be0
cmp dword [esp + 0x48], 0
je 0x4cc850
push 1
push esi
call fcn.0050c0b0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
push 0
push eax
push ecx
push edx
push esi
call fcn.004bf480
mov eax, dword [esp + 0x28]
cmp eax, dword [esi + 0x2c8]
je 0x4cc8ab
mov dword [esi + 0x2c8], eax
sub eax, 0
je 0x4cc8a0
sub eax, 1
je 0x4cc898
sub eax, 1
jne 0x4cc8ab
mov eax, dword [esi + 0x17c]
movzx ecx, byte [eax]
mov edx, dword [esi + 0x60]
push ecx
push edx
jmp 0x4cc8a6
mov eax, dword [esi + 0x60]
push 1
push eax
jmp 0x4cc8a6
mov ecx, dword [esi + 0x60]
push 0
push ecx
call fcn.004ac460
push esi
call fcn.004c5300
mov ecx, dword [0x57e5f0]
cmp ecx, 0xfe
ja 0x4cc8d3
mov eax, dword [0x58b480]
test eax, eax
je 0x4cc8d3
mov edx, dword [esi + 0x60]
push 2
push ecx
push 0
push edx
call eax
mov eax, dword [esi + 0x60]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x60]
push 0x180
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_RedrawWindow]
mov edx, dword [esi + 0x60]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push str.enter_setfocus_n
call fcn.0048dc10
add esp, 4
cmp dword [esp + 0x44], 0
je 0x4cc932
movsx eax, byte [0x57e6d0]
sub eax, 0
je 0x4cc95d
sub eax, 2
je 0x4cc954
mov eax, dword [esi + 0x68]
push 0xffffffffffffffff
push 0
push 0xb1
push eax
call ebp
jmp 0x4cc95d
movsx eax, byte [0x57e6d1]
sub eax, 0
je 0x4cc95d
sub eax, 2
je 0x4cc954
mov eax, dword [esi + 0x68]
push 0xffffffffffffffff
push 0
push 0xb1
push eax
call ebp
jmp 0x4cc95d
mov ecx, dword [esi + 0x68]
push ecx
call fcn.004ad210
mov edx, dword [esi + 0x68]
mov ebp, dword [sym.imp.USER32.dll_SetFocus]
push edx
call ebp
push str.leave_setfocus_n
call fcn.0048dc10
mov ebx, dword [esp + 0x3d0]
add esp, 4
xor edi, edi
test ebx, ebx
je 0x4cc9a5
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4cc9a5
push eax
mov eax, dword [0x58b080]
push eax
call fcn.00403330
mov edi, eax
test edi, edi
je 0x4cc9a5
test dword [edi + 8], 0x8000
jne 0x4cca1c
mov eax, dword [esp + 0x30]
sub eax, 1
je 0x4cc9da
sub eax, 1
je 0x4cc9c0
mov ecx, dword [esp + 0x24]
push ecx
push esi
call fcn.0050dc10
jmp 0x4cca1c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1ac]
push edx
push eax
push ecx
push esi
call fcn.0050ddc0
jmp 0x4cca1c
lea edx, [esp + 0x94]
push edx
call fcn.0051ec40
mov eax, dword [esp + 0x2bc]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.005219a0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x9c]
push edx
push eax
push esi
call fcn.0050dc60
lea ecx, [esp + 0x94]
push ecx
call fcn.00522920
test edi, edi
je 0x4cca25
call fcn.004c8720
test ebx, ebx
je 0x4cca81
mov edi, dword [ebx + 0x50]
test edi, edi
je 0x4cca81
push esi
call fcn.0050ce70
test eax, eax
push edi
je 0x4cca6f
push esi
call fcn.0050cf30
mov edi, eax
cmp edi, 0xffffffff
je 0x4cca81
push 1
push 1
push 1
push 0
push 1
push 1
push edi
push esi
call fcn.004f2ed0
push 0
push edi
push esi
call fcn.004f2550
mov edx, dword [esi + 0x2e0]
push edx
call ebp
jmp 0x4cca81
mov eax, dword [esi + 0x1d8]
push eax
call fcn.0051e5f0
mov dword [esi + 0x1d8], eax
lea ecx, [esp + 0x1a4]
push ecx
call fcn.00522920
lea edx, [esp + 0x2b4]
push edx
call fcn.00522920
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x3b4
ret 0xc