Function at 0x418070
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x557161
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x5aff20]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
push esi
push edi
mov eax, dword [0x5aff20]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov edi, ecx
call fcn.0043195d
push 0xfffffffffffffff0
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xb0000
push 0xfffffffffffffff0
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [edi + 0xc0]
xor ebx, ebx
push 1
push 0x80
push dword [edi + 0x20]
mov byte [edi + 0x7c0], bl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [edi + 0xc0]
push ebx
push 0x80
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [edi + 0x6a4], bl
call fcn.0042ead1
mov esi, dword [eax + 8]
push ebx
call fcn.00402a06
pop ecx
push esi
push 0x584cc0
push 0xce
call fcn.0040d30f
mov esi, eax
cmp esi, ebx
je 0x41815e
mov ecx, esi
call fcn.0041b19c
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.0041b177
push 6
push eax
push dword [esp + 0x1c]
mov ecx, edi
push ebx
push ebx
push ebx
mov dword [esp + 0x34], eax
call fcn.0042a357
push 0xa
pop eax
push ebx
push eax
mov dword [edi + 0x55c], 0x90867c
mov dword [edi + 0x558], 0x40a337
push 0x404
push dword [edi + 0x4f4]
mov dword [edi + 0x550], eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x12c0000
push ebx
push 0x401
push dword [edi + 0x4f4]
mov dword [edi + 0x548], ebx
mov dword [edi + 0x54c], 0x12c
mov dword [edi + 0x554], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0x30]
push eax
push dword [edi + 0x4f4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
push 1
push eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
mov ecx, 0xa0
push eax
mov eax, dword [esp + 0x28]
imul eax, eax, 0x91
cdq
idiv ecx
mov ecx, 0x145
push eax
mov eax, dword [esp + 0x24]
imul eax, eax, 0x14
cdq
idiv ecx
lea ecx, [edi + 0x4d4]
push eax
call fcn.0042a111
push edi
lea esi, [edi + 0xc8]
push 0x3f9
mov ecx, esi
call fcn.00427ce5
push ebx
push 0xdd
push 0xd6
push 0xde
call fcn.0041b6cd
push 6
push 0x14
push 0x14
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.0042a357
push edi
lea esi, [edi + 0x15c]
push 0x3fa
mov ecx, esi
call fcn.00427ce5
push 0xb2
push 0xdc
push 0xd7
push 0xdb
call fcn.0041b6cd
push 6
push 0x14
push 0x14
push ebx
push ebx
push ebx
mov ecx, esi
call fcn.0042a357
lea esi, [edi + 0x220]
push edi
push 0x3ec
mov ecx, esi
call fcn.00427ce5
mov eax, esi
mov dword [edi + 0x294], 0x6a6a6a
mov dword [edi + 0x29c], 0x4eb446
call fcn.0041c1ef
xor ebx, ebx
inc ebx
call fcn.0041c207
lea eax, [esp + 0x30]
push eax
push dword [edi + 0x240]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x1c]
imul eax, eax, 0x8e
cdq
mov ecx, 0xa0
idiv ecx
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
push ebx
push ecx
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x38]
push ecx
mov ecx, 0x145
push eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
imul eax, eax, 0x54
cdq
idiv ecx
mov ecx, esi
push eax
call fcn.0042a111
push edi
lea esi, [edi + 0x2cc]
push 0x3ed
mov ecx, esi
call fcn.00427ce5
mov eax, esi
mov dword [edi + 0x340], 0x6a6a6a
mov dword [edi + 0x348], 0x4eb446
call fcn.0041c1ef
call fcn.0041c207
lea eax, [esp + 0x30]
push eax
push dword [edi + 0x2ec]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
push ebx
push eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
mov ecx, 0x145
push eax
mov eax, dword [esp + 0x20]
imul eax, eax, 0xda
cdq
idiv ecx
push dword [esp + 0x24]
mov ecx, esi
push eax
call fcn.0042a111
push edi
lea esi, [edi + 0x378]
push 0x3ff
mov ecx, esi
call fcn.00427ce5
mov eax, esi
mov dword [edi + 0x3ec], 0x6a6a6a
mov dword [edi + 0x3f4], 0x4eb446
call fcn.0041c1ef
call fcn.0041c207
mov ebx, dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [esp + 0x30]
push eax
push dword [edi + 0x398]
call ebx
mov eax, dword [esp + 0x14]
imul eax, eax, 0x94
cdq
mov ecx, 0x145
idiv ecx
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
push 1
push ecx
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x38]
push ecx
push dword [esp + 0x24]
mov ecx, esi
push eax
call fcn.0042a111
push edi
lea esi, [edi + 0x424]
push 0x3ef
mov ecx, esi
call fcn.00427ce5
push 0x585d54
lea ecx, [esp + 0x24]
call fcn.0040bee2
and dword [esp + 0x50], 0
mov eax, dword [0x5b968c]
test eax, eax
jne 0x418452
push 0x90
call fcn.00423341
pop ecx
mov dword [esp + 0x18], eax
mov byte [esp + 0x50], 1
test eax, eax
je 0x418446
push eax
call fcn.004032d4
jmp 0x418448
xor eax, eax
mov byte [esp + 0x50], 0
mov dword [0x5b968c], eax
mov ecx, eax
mov ecx, dword [ecx + 0x80]
test ecx, ecx
je 0x4184c1
test eax, eax
jne 0x41848e
push 0x90
call fcn.00423341
pop ecx
mov dword [esp + 0x18], eax
mov byte [esp + 0x50], 2
test eax, eax
je 0x418482
push eax
call fcn.004032d4
jmp 0x418484
xor eax, eax
mov byte [esp + 0x50], 0
mov dword [0x5b968c], eax
cmp dword [eax + 0x84], 0
je 0x4184ac
push 0xa6
call fcn.0042fba0
test eax, eax
je 0x4184de
push 0xa6
jmp 0x4184d4
push 0xa4
call fcn.0042fba0
test eax, eax
je 0x4184de
push 0xa4
jmp 0x4184d4
push 0xa2
call fcn.0042fba0
test eax, eax
je 0x4184de
push 0xa2
push eax
lea ecx, [esp + 0x28]
call fcn.0040bfae
push dword [esp + 0x20]
mov ecx, esi
call fcn.0042a086
push 0
push 0xb0
push 0xaf
push 0xae
call fcn.0041bc5e
lea eax, [esp + 0x30]
push eax
push dword [edi + 0x444]
call ebx
mov eax, dword [esp + 0x14]
imul eax, eax, 0x76
cdq
mov ecx, 0x145
idiv ecx
mov ecx, 0xa0
push 1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
imul eax, eax, 0x6e
cdq
idiv ecx
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x38]
push ecx
mov ecx, esi
push eax
push dword [esp + 0x24]
call fcn.0042a111
push edi
lea esi, [edi + 0x57c]
push 0x3fb
mov ecx, esi
call fcn.00427ce5
push 0x258
push 0xffffffffffffffee
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x588550
call fcn.0040bee2
call fcn.0041c463
call fcn.0042d36a
push eax
lea ecx, [esp + 0x1c]
call fcn.004015bc
push 0xb7
mov byte [esp + 0x54], 3
call fcn.0042fba0
test eax, eax
je 0x4185af
push 0xb7
push eax
lea ecx, [esp + 0x20]
call fcn.0040bfae
push dword [esp + 0x18]
mov ecx, esi
mov dword [edi + 0x5fc], 0xff
call fcn.0042a086
push 0
mov ecx, esi
call fcn.0042a151
push edi
lea esi, [edi + 0x608]
push 0x3fc
mov ecx, esi
call fcn.00427ce5
push 0
push 0xb0
push 0xaf
push 0xae
call fcn.0041bc5e
push 0
mov ecx, esi
call fcn.0042a151
lea eax, [esp + 0x30]
push eax
push dword [edi + 0x628]
call ebx
mov eax, dword [esp + 0x1c]
shl eax, 7
cdq
mov ecx, 0xa0
idiv ecx
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
push 1
push ecx
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x38]
push ecx
mov ecx, esi
push eax
push dword [esp + 0x24]
call fcn.0042a111
xor ebx, ebx
push ebx
lea ecx, [edi + 0x734]
call fcn.0042a151
mov eax, dword [0x5b968c]
cmp eax, ebx
jne 0x41867e
push 0x90
call fcn.00423341
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x50], 4
cmp eax, ebx
je 0x418672
push eax
call fcn.004032d4
jmp 0x418674
xor eax, eax
mov byte [esp + 0x50], 3
mov dword [0x5b968c], eax
cmp dword [eax], ebx
jne 0x4186b2
mov esi, 0x80
push esi
push ebx
push ebx
push ebx
push ebx
push 0x5b35a0
mov ecx, edi
call fcn.0042a357
push ebx
push esi
push 0x40000
mov ecx, edi
call fcn.0042a05a
mov eax, dword [edi]
push ebx
push ebx
mov ecx, edi
call dword [eax + 0x188]
call fcn.0042d36a
push eax
lea ecx, [esp + 0x18]
call fcn.004015bc
mov esi, 0xb4
push esi
mov byte [esp + 0x54], 5
call fcn.0042fba0
cmp eax, ebx
je 0x4186e0
push esi
push eax
lea ecx, [esp + 0x1c]
call fcn.0040bfae
push dword [esp + 0x14]
mov ecx, edi
call fcn.0042a086
call fcn.0042d36a
push eax
lea ecx, [esp + 0x20]
call fcn.004015bc
mov esi, 0xc3
push esi
mov byte [esp + 0x54], 6
call fcn.0042fba0
cmp eax, ebx
je 0x418719
push esi
push eax
lea ecx, [esp + 0x24]
call fcn.0040bfae
or ebx, 0xffffffff
push ebx
lea ecx, [esp + 0x20]
call fcn.0041b14a
test byte [edi + 0x1fc], 2
mov byte [edi + 0x1ff], 5
je 0x41874e
push dword [edi + 0x1f4]
call dword [sym.imp.USER32.dll_GetParent]
push eax
lea ecx, [edi + 0x1f0]
call fcn.0042219f
test byte [edi + 0x1fc], 2
mov dword [edi + 0x20c], 0x232323
je 0x418779
push dword [edi + 0x1f4]
call dword [sym.imp.USER32.dll_GetParent]
push eax
lea ecx, [edi + 0x1f0]
call fcn.0042219f
test byte [edi + 0x1fc], 2
mov byte [edi + 0x1fe], 8
je 0x4187a1
push dword [edi + 0x1f4]
call dword [sym.imp.USER32.dll_GetParent]
push eax
lea ecx, [edi + 0x1f0]
call fcn.0042219f
test byte [edi + 0x1fc], 2
mov word [edi + 0x200], 0
je 0x4187cb
push dword [edi + 0x1f4]
call dword [sym.imp.USER32.dll_GetParent]
push eax
lea ecx, [edi + 0x1f0]
call fcn.0042219f
push dword [edi + 0x20]
lea eax, [edi + 0x1f0]
call fcn.00421d43
lea eax, [edi + 0x210]
push eax
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x5b968c]
test eax, eax
jne 0x41881e
push 0x90
call fcn.00423341
pop ecx
mov dword [esp + 0x28], eax
mov byte [esp + 0x50], 7
test eax, eax
je 0x418812
push eax
call fcn.004032d4
jmp 0x418814
xor eax, eax
mov byte [esp + 0x50], 6
mov dword [0x5b968c], eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
call fcn.0040e8c9
mov byte [esp + 0x6c], 8
mov eax, dword [0x5b968c]
test eax, eax
jne 0x418866
push 0x90
call fcn.00423341
pop ecx
mov dword [esp + 0x48], eax
mov byte [esp + 0x6c], 9
test eax, eax
je 0x41885a
push eax
call fcn.004032d4
jmp 0x41885c
xor eax, eax
mov byte [esp + 0x6c], 8
mov dword [0x5b968c], eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040e8e2
sub esp, 0x1c
mov byte [esp + 0xa4], 0xa
mov esi, esp
mov dword [esp + 0x78], esp
push 0x585d54
call fcn.0040829d
mov byte [esp + 0xa4], 0xb
push dword [edi + 0x20]
call fcn.0041d142
mov ecx, eax
mov byte [esp + 0xa8], 6
call fcn.0041d4a7
mov eax, dword [0x5b968c]
test eax, eax
jne 0x4188e3
push 0x90
call fcn.00423341
pop ecx
mov dword [esp + 0x24], eax
mov byte [esp + 0x50], 0xc
test eax, eax
je 0x4188d7
push eax
call fcn.004032d4
jmp 0x4188d9
xor eax, eax
mov byte [esp + 0x50], 6
mov dword [0x5b968c], eax
cmp dword [eax], 0
je 0x418ada
mov eax, dword [edi + 0x20]
push ebx
push ebx
mov esi, 0x151
push esi
push 0xa8
push 0x3ec
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push ebx
push ebx
push esi
push 0x129
push 0x3ff
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push ebx
push ebx
push esi
push 0x1b4
push 0x3ed
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push 0x37
push 0xb0
push 0x105
push 0xec
push 0x3ef
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push 0x11
push 0x23a
push 0x158
push 0x28
push 0x3f6
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push ebx
push ebx
add esi, 0xffffff98
push esi
push 0xa
push 0x3fd
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push ebx
push ebx
push esi
push 0xa
push 0x3f7
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push ebx
push ebx
push esi
push 0xe
push 0x3f8
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push 0x14
push 0x14
push 0xa
push 0x25a
push 0x3f9
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push 0x14
push 0x14
push 0xa
push 0x26c
push 0x3fa
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push 0x28
push 0x190
push esi
push 0xd0
push 0x3fb
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push 0x37
push 0xb0
push 0x130
push 0xec
push 0x3fc
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push ebx
push ebx
push 0x28
push 0
push 0x40a
call fcn.004145ef
mov eax, dword [edi + 0x20]
add esp, 0x14
push 0x17c
push 0x28a
push ebx
push ebx
push ebx
call fcn.004145ef
mov eax, dword [0x5b968c]
add esp, 0x14
test eax, eax
jne 0x418a8c
push 0x90
call fcn.00423341
pop ecx
mov dword [esp + 0x24], eax
mov byte [esp + 0x50], 0xd
test eax, eax
je 0x418a85
push eax
call fcn.004032d4
jmp 0x418a87
xor eax, eax
mov dword [0x5b968c], eax
cmp dword [eax + 0x80], 0
je 0x418ada
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3ec
push dword [edi + 0x20]
call ebx
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
je 0x418ab4
push 0
push eax
call esi
push 0x3ff
push dword [edi + 0x20]
call ebx
test eax, eax
je 0x418ac7
push 0
push eax
call esi
push 0x3ed
push dword [edi + 0x20]
call ebx
test eax, eax
je 0x418ada
push 0
push eax
call esi
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00401621
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401621
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401621
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00401621
xor eax, eax
inc eax
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.005220b2
mov esp, ebp
pop ebp
ret