Function at 0x4367fc
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
mov ebx, ecx
xor esi, esi
push edi
mov dword [0x4c6870], esi
mov dword [0x4c31ec], ebx
call fcn.004356a5
push 1
pop edi
cmp dword [0x4c31d8], edi
jne 0x43682c
push edi
call fcn.00432bfd
pop ecx
lea eax, [ebp - 0x18]
push 0x2d
push eax
call fcn.00461337
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
call fcn.004038fb
mov ecx, ebx
call fcn.0044272b
call fcn.0044425c
mov ecx, ebx
call fcn.00442f65
mov eax, dword [ebx + 4]
push 0x4b401c
lea ecx, [ebp - 8]
mov dword [0x4c3228], eax
call fcn.0040a529
lea eax, [ebp - 8]
push 0x4aff94
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040a956
push eax
lea ecx, [ebx + 0x4eb8]
call fcn.00403a8c
lea ecx, [ebp - 0x18]
call fcn.004038fb
lea eax, [ebp - 8]
push 0x4b4018
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040a956
push eax
lea ecx, [ebx + 0x5684]
call fcn.00403a8c
lea ecx, [ebp - 0x18]
call fcn.004038fb
lea eax, [ebp - 8]
push 0x4b4014
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040a956
push eax
lea ecx, [ebx + 0x5e50]
call fcn.00403a8c
lea ecx, [ebp - 0x18]
call fcn.004038fb
lea eax, [ebp - 8]
push 0x4b4010
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040a956
push eax
lea ecx, [ebx + 0x661c]
call fcn.00403a8c
lea ecx, [ebp - 0x18]
call fcn.004038fb
push esi
push edi
push edi
call fcn.00467781
push esi
push esi
push edi
call fcn.00467781
add esp, 0x18
mov ecx, 0x4c2c00
call fcn.00426c16
mov eax, dword [ebx + 0x24]
mov esi, 0x4b12e4
mov dword [ebx + 0x99c], eax
mov dword [0x4c3220], eax
mov eax, esi
mov dword [ebx + 0x9a0], edi
test eax, eax
je 0x436944
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push eax
mov ecx, 0x4c2adc
call fcn.004039ec
mov eax, dword [0x4af550]
push dword [ebx + 4]
lea esi, [ebx + 0x9b4]
mov dword [ebp - 0x34], eax
mov ecx, esi
mov dword [ebx + 0x4aa0], edi
call fcn.00497af6
mov eax, dword [esi + 0x40]
push dword [ebx + 4]
mov dword [ebp - 0x10], eax
call dword [sym.imp.USER32.dll_GetMenu]
push eax
mov ecx, ebx
call fcn.004434b7
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x43a
push dword [ebx + 4]
call esi
mov eax, dword [ebx + 4]
push 0xe800
push 0x56002640
push eax
mov dword [ebx + 0xa0c], eax
call fcn.00445216
push edi
push 0x7d0
push edi
push 0
push 0x2b67
mov dword [ebx + 0x20], eax
push dword [ebp - 0x10]
push eax
call fcn.00444895
add esp, 0x28
mov dword [ebx + 0x58], 0xe7
cmp dword [0x4c6870], 0
je 0x4369e6
mov dword [ebx + 0x58], 0x14e
push 0xe800
push 0x5600194c
push 0
push dword [ebx + 0x58]
push dword [ebx + 0x20]
call fcn.004098df
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0x14
mov dword [ebp - 4], eax
push 0x31
call edi
cmp eax, 0x10
jle 0x436a1b
push dword [ebp - 4]
call fcn.0042374d
pop ecx
mov eax, dword [ebp - 4]
mov ecx, ebx
mov dword [ebx + 0x4aa8], eax
call fcn.00436770
lea eax, [ebx + 0x6bf8]
push eax
push dword [ebx + 0x4aa8]
call fcn.0041555e
pop ecx
pop ecx
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0x30]
mov dword [0x4c3218], eax
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0x32
call edi
push 0
push 0
push 0x454
push dword [ebx + 0x4aa8]
call esi
lea eax, [ebp - 0x30]
push eax
push dword [ebx + 0x9f4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
dec eax
dec eax
movzx eax, ax
shl eax, 0x10
or al, 0xc
push eax
push 0
push 0x41f
push dword [ebx + 0x4aa8]
call esi
push 1
push 0
push 0x454
push dword [ebx + 0x4aa8]
call esi
push 0x32
call edi
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fmul qword [0x4aa330]
call fcn.0049d290
push eax
push dword [ebx + 4]
call fcn.00435576
pop ecx
mov dword [0x4c321c], eax
pop ecx
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4c321c]
test eax, eax
je 0x436af8
lea ecx, [ebp - 0x30]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
jne 0x436b02
mov eax, dword [0x4c3218]
mov dword [0x4c321c], eax
push 1
xor edi, edi
pop esi
mov ecx, ebx
push esi
push edi
call fcn.0043ac46
push esi
push edi
mov ecx, ebx
call fcn.0043aba4
mov eax, dword [0x4c3238]
mov dword [0x4b7228], esi
cmp eax, 0xffffffff
je 0x436b2d
cmp eax, esi
jne 0x436b33
mov dword [0x4b7228], edi
lea eax, [ebp - 0x44]
mov ecx, 0x4c6c04
push eax
push str.WinRC
push 0x4afae4
call fcn.0044ae52
test eax, eax
je 0x436b5b
lea esi, [ebp - 0x44]
mov edi, 0x4c2c60
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x20]
push 0
mov dword [ebx + 0x9b0], eax
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
lea eax, [ebp - 0x30]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
add dword [ebp - 0x2c], 0x18
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x30], 0xc
sub dword [ebp - 0x28], 0xc
sub esp, 0x10
add eax, 0x2a
lea esi, [ebp - 0x30]
mov edi, esp
mov dword [ebp - 0x24], eax
push dword [ebx + 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x5c]
movsd dword es:[edi], dword [esi]
call fcn.00414a73
lea eax, [ebx + 0x4ae0]
lea ecx, [ebx + 0x4afc]
neg eax
sbb eax, eax
lea edi, [ebx + 0x60]
and eax, ecx
lea ecx, [ebx + 0x5c]
mov esi, ecx
mov dword [ebx + 0x94], eax
neg esi
sbb esi, esi
and esi, edi
mov eax, dword [esi]
mov dword [0x4c31d4], eax
mov dword [ebx + 0xec], 1
mov eax, dword [0x4b7208]
mov dword [ebx + 0xe4], eax
call fcn.0041517a
mov eax, dword [0x4c3238]
cmp eax, 1
je 0x436c0b
cmp eax, 2
je 0x436c0b
push 0
push dword [edi]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x436c36
push 1
lea ecx, [ebx + 0x9ac]
push 0x64
push 1
neg ecx
push 0
push 0x462
push dword [esi]
lea eax, [ebx + 0x9b0]
sbb ecx, ecx
and ecx, eax
push dword [ecx]
call fcn.00444895
add esp, 0x1c
mov edi, dword [sym.imp.USER32.dll_GetWindowLongW]
lea esi, [ebx + 0x9b0]
push 0xfffffffffffffff0
push dword [esi]
call edi
mov ecx, eax
or ch, 4
cmp eax, ecx
je 0x436c5c
push ecx
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff0
push dword [esi]
call edi
mov ecx, eax
and ch, 0xfb
cmp eax, ecx
je 0x436c76
push ecx
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 1
mov ecx, esi
call fcn.00426058
mov eax, dword [ebp - 4]
test eax, eax
je 0x436c9b
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebx + 0x3c]
mov word [ebp - 0x24], 8
call fcn.0042051e
push 0
push 1
lea ecx, [ebx + 0x3c]
push 0xe800
call fcn.004261ce
lea esi, [ebx + 0x968]
push 0
mov edi, 0xe801
lea ecx, [ebx + 0x3c]
push dword [esi]
push edi
call fcn.004261ce
mov ecx, ebx
call fcn.004363e3
cmp dword [esi], 0
mov eax, 0x46000000
je 0x436cda
mov eax, 0x56000000
push edi
push eax
push 0xe001
mov ecx, ebx
call fcn.004449e9
push 1
push dword [ebx + 0x24]
call fcn.004702d5
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov ecx, 0x4c69a0
call fcn.00403580
mov esi, eax
mov eax, ebx
neg eax
lea ecx, [ebx + 0x34]
sbb eax, eax
and eax, ecx
lea ecx, [esi + 4]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00424c50
mov eax, ebx
lea ecx, [ebx + 0x38]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [esi + 0x10]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00424c50
mov ecx, ebx
call fcn.0043b6f6
mov eax, dword [ebx + 0x96c]
test eax, eax
je 0x436d74
cmp eax, 0xd
jge 0x436d74
test eax, eax
jle 0x436d74
cmp eax, 5
je 0x436d74
lea ecx, [eax + 0x8497]
jle 0x436d63
dec ecx
push 0
push ecx
push 0x111
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 1
xor edi, edi
pop eax
lea ecx, [ebx + 0x3c]
push edi
mov dword [ebp - 0x18], eax
push eax
mov eax, dword [ebx + 0x96c]
add eax, 0x80c0
push eax
call fcn.004261ce
push 0x4bc550
lea ecx, [ebp - 0xc]
call fcn.00403927
mov esi, 0x4c6988
mov ecx, esi
call fcn.0040ae64
mov ecx, esi
call fcn.0040ae14
push edi
push 0x4b4008
mov ecx, esi
call fcn.00403d34
test eax, eax
jne 0x436de5
push 3
push edi
mov ecx, esi
call fcn.0040aeae
mov ecx, esi
call fcn.0040ae64
mov ecx, esi
call fcn.0040ae14
mov dword [0x4c318c], 1
mov eax, dword [0x4c6988]
cmp dword [eax - 8], edi
je 0x436fcc
push esi
lea ecx, [ebp - 4]
call fcn.004038b5
push edi
push str.__Browse_
mov ecx, esi
call fcn.00403d34
test eax, eax
jne 0x436e7b
push 0xa
push edi
mov ecx, esi
call fcn.0040aeae
push esi
lea ecx, [ebp - 4]
call fcn.00403a8c
mov eax, dword [ebp - 4]
cmp word [eax], 0x22
jne 0x436e37
push 1
push edi
lea ecx, [ebp - 4]
call fcn.0040aeae
mov eax, dword [ebp - 4]
mov ecx, dword [eax - 8]
cmp word [eax + ecx*2 - 2], 0x22
jne 0x436e4e
dec ecx
push 1
push ecx
lea ecx, [ebp - 4]
call fcn.0040aeae
cmp dword [ebx + 0x96c], 5
jne 0x436e5e
mov ecx, ebx
call fcn.004345ea
push edi
push ecx
lea eax, [ebp - 4]
mov ecx, esp
push eax
call fcn.004038b5
lea ecx, [ebx + 0x4ae0]
call fcn.00471c08
jmp 0x436f8f
push edi
push 0x4b3fc0
mov ecx, esi
call fcn.00403d34
test eax, eax
jne 0x436ebc
mov eax, dword [0x4c311c]
cmp dword [eax - 8], edi
je 0x436ea3
push 0x4c311c
lea ecx, [ebp - 0xc]
call fcn.00403a8c
cmp dword [ebx + 0x96c], 5
jne 0x436f8f
mov ecx, ebx
call fcn.004345ea
jmp 0x436f8f
mov ecx, dword [ebp - 4]
push 1
pop esi
cmp word [ecx], 0x22
jne 0x436ed5
push esi
push edi
lea ecx, [ebp - 4]
call fcn.0040aeae
mov ecx, dword [ebp - 4]
mov eax, dword [ecx - 8]
cmp word [ecx + eax*2 - 2], 0x22
jne 0x436eeb
dec eax
push esi
push eax
lea ecx, [ebp - 4]
call fcn.0040aeae
push ecx
lea eax, [ebp - 4]
mov ecx, esp
push eax
call fcn.004038b5
call fcn.0046007f
cmp eax, esi
pop ecx
je 0x436f67
mov ecx, ebx
call fcn.004439f4
test eax, eax
je 0x436f67
mov eax, dword [0x4c2c9c]
xor esi, esi
cmp eax, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], edi
jle 0x436f8f
mov eax, dword [0x4c2c98]
lea ecx, [ebp - 0x14]
lea eax, [eax + esi*4]
push eax
call fcn.004038b5
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.0043f0d9
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x436f57
push edi
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
push eax
call fcn.004038b5
mov ecx, dword [ebp - 0x1c]
call fcn.00471c08
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
call fcn.004038fb
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x436f1d
jmp 0x436f8f
push edi
push esi
push ecx
lea eax, [ebp - 4]
mov ecx, esp
push eax
mov dword [0x4c3204], esi
call fcn.004038b5
mov ecx, ebx
call fcn.0044112c
test eax, eax
je 0x436f99
mov dword [ebp - 0x18], edi
mov dword [0x4c3204], edi
lea ecx, [ebp - 4]
call fcn.004038fb
jmp 0x436fdc
push 0x64
push 0x805d
push 0x111
mov dword [0x4c3204], edi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
push 0x105
push edi
push edi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_RedrawWindow]
lea ecx, [ebp - 4]
call fcn.004038fb
cmp dword [ebx + 0x96c], 5
jne 0x436fdc
mov ecx, ebx
call fcn.004345ea
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
push dword [ebx + 4]
lea ecx, [ebx + 0x2ec]
mov dword [ebx + 0x30c], eax
call fcn.004952f7
lea esi, [ebx + 0x6244]
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.0046dc79
mov ecx, eax
add eax, 4
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ecx]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], eax
call fcn.004893ad
cmp dword [ebp - 0x24], edi
jne 0x437038
mov ecx, esi
call fcn.0046fddb
lea esi, [ebx + 0x5a78]
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.0046dc79
mov ecx, eax
add eax, 4
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ecx]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], eax
call fcn.004893ad
cmp dword [ebp - 0x24], edi
jne 0x43706d
mov ecx, esi
call fcn.0046fddb
lea eax, [ebp - 0x28]
lea ecx, [ebx + 0x52ac]
push eax
call fcn.0046dc79
mov ecx, eax
add eax, 4
neg ecx
sbb ecx, ecx
and ecx, eax
mov esi, dword [ecx]
lea ecx, [ebp - 0x28]
call fcn.004893ad
cmp esi, edi
jne 0x4370a0
lea ecx, [ebx + 0x52ac]
call fcn.0046fddb
lea eax, [ebp - 0x20]
lea esi, [ebx + 0x4ae0]
push eax
mov ecx, esi
call fcn.0046dc79
mov ecx, eax
add eax, 4
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ecx]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], eax
call fcn.004893ad
cmp dword [ebp - 0x24], edi
jne 0x4370d5
mov ecx, esi
call fcn.0046fddb
mov ecx, dword [ebp - 0xc]
cmp dword [ecx - 8], edi
je 0x437140
mov eax, dword [0x4c3118]
push edi
cmp dword [eax - 8], edi
jne 0x43710c
push ecx
lea ecx, [ebp - 0x28]
call fcn.004899c9
push 0xffffffffffffffff
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00417128
mov ecx, esi
call fcn.00477b28
lea ecx, [ebp - 0x28]
jmp 0x43712e
push eax
lea ecx, [ebp - 0x28]
call fcn.004899c9
push 0xffffffffffffffff
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00417128
mov ecx, esi
call fcn.00477a6e
lea ecx, [ebp - 0x28]
call fcn.004893ad
push 0x4bc550
lea ecx, [ebp - 0xc]
call fcn.00403adc
cmp dword [ebx + 0x96c], 5
je 0x437179
cmp dword [ebp - 0x18], edi
je 0x437179
push dword [0x4c322c]
push ecx
mov ecx, esp
push 0x4b3fe4
call fcn.00403927
mov ecx, ebx
call fcn.004351ef
cmp eax, edi
mov dword [0x4c322c], eax
je 0x437179
push eax
mov ecx, ebx
call fcn.0044235d
mov ecx, esi
call fcn.0046fd06
lea ecx, [ebx + 0x52ac]
call fcn.0046fd06
lea ecx, [ebx + 0x5a78]
call fcn.0046fd06
lea ecx, [ebx + 0x6244]
call fcn.0046fd06
cmp dword [0x4c28dc], 5
jb 0x4371bd
cmp dword [0x4c28e0], 1
jb 0x4371bd
mov dword [0x4b3138], 2
push dword [0x4b3138]
push ecx
mov ecx, esp
push str.designe_mode
call fcn.0040a529
mov ecx, ebx
call fcn.004351ef
cmp eax, edi
mov dword [0x4b3138], eax
je 0x4371ea
push eax
mov ecx, ebx
call fcn.00442446
jmp 0x4371ff
mov eax, 0x4bdcf4
push eax
push eax
push dword [0x4c321c]
call fcn.0048eaf9
add esp, 0xc
mov ecx, ebx
call fcn.004422f6
mov ecx, ebx
call fcn.00437312
mov dword [ebx + 0x2e8], edi
mov eax, dword [0x4b3128]
cmp eax, 0xffffffff
je 0x437220
push eax
jmp 0x437221
push edi
mov ecx, ebx
call fcn.0043f0d9
mov esi, eax
cmp esi, edi
je 0x437244
push edi
mov ecx, esi
call fcn.004721b6
mov ecx, esi
call fcn.00472be4
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 1
mov ecx, ebx
call fcn.00444682
push edi
push 0x36ee80
push 0x2afb
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetTimer]
lea ecx, [ebp - 0xc]
call fcn.004038fb
lea ecx, [ebp - 0x34]
call fcn.004038fb
lea ecx, [ebp - 8]
call fcn.004038fb
pop edi
pop esi
pop ebx
leave
ret