Function at 0x49dd74
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff74
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x49e784
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
xor edx, edx
call fcn.00465eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.00465eec
xor eax, eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0xa0], edx
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
call fcn.0048a214
mov esi, eax
dec esi
test esi, esi
jl 0x49de61
inc esi
xor ebx, ebx
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
cmp byte [eax + 0x59], 0
je 0x49de5d
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
movzx eax, byte [eax + 0xc]
sub al, 1
jb 0x49de3f
je 0x49de44
dec al
je 0x49de49
dec al
je 0x49de54
jmp 0x49de5d
inc dword [ebp - 0x18]
jmp 0x49de5d
inc dword [ebp - 0x1c]
jmp 0x49de5d
mov eax, dword [ebp - 8]
inc dword [eax + 0xa0]
jmp 0x49de5d
mov eax, dword [ebp - 8]
inc dword [eax + 0xa0]
inc ebx
dec esi
jne 0x49de07
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 8]
add eax, 0xb4
mov ecx, 1
mov edx, dword [0x496fd0]
call fcn.00408aec
add esp, 4
cmp dword [ebp - 0x18], 0
setne dl
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
call fcn.00465eec
jmp 0x49dea9
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x40]
xor edx, edx
call fcn.00466498
call fcn.004631dc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x40]
call fcn.00466f78
test eax, eax
jg 0x49de97
xor esi, esi
cmp dword [ebp - 0x18], 0
je 0x49deca
cmp dword [ebp - 0x1c], 0
je 0x49e037
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x40]
mov dl, 2
call fcn.00464dcc
mov ebx, eax
mov eax, 8
call fcn.00497250
mov edx, eax
mov eax, ebx
call fcn.004662d0
mov eax, 8
call fcn.00497264
mov edx, eax
mov eax, ebx
call fcn.0046631c
mov eax, ebx
xor edx, edx
call fcn.00466b14
mov eax, dword [ebx + 0x30]
call fcn.004669ec
push eax
mov eax, 0x10
call fcn.00497250
pop edx
sub edx, eax
mov eax, ebx
call fcn.0046636c
mov eax, ebx
mov dl, 1
call fcn.00464fcc
lea ecx, [ebp - 0x64]
mov eax, dword [ebx + 0x30]
mov edx, 7
call fcn.00465c54
push dword [ebp - 0x60]
push dword [ebp - 0x64]
mov eax, ebx
mov edx, 7
call fcn.00465c68
mov eax, dword [ebp - 8]
push eax
push 0x49a364
mov eax, ebx
call fcn.00467be4
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x10]
lea edx, [ebp - 0xc]
mov eax, 1
call fcn.00448d28
push 0
push 0
mov eax, ebx
call fcn.004669ec
push eax
mov eax, ebx
call fcn.004669d0
push eax
mov eax, dword [ebx + 0x1c]
push eax
push 0x7a
mov eax, dword [0x4b0c38]
push eax
push 0
mov eax, dword [ebp - 0xc]
call fcn.004071b0
mov esi, eax
mov edx, esi
mov eax, 0x49e794
mov ecx, 0x50000000
call fcn.0040b6c4
mov edi, eax
push esi
push edi
call sub.user32.dll_SetWindowTextW
push 1
mov eax, ebx
call fcn.004668e4
call fcn.00463980
push eax
push 0x30
push edi
call sub.user32.dll_SendMessageW_1
push 0
mov eax, ebx
call fcn.00466350
push eax
push 0x701
push edi
call sub.user32.dll_SendMessageW_1
mov esi, eax
mov eax, 8
call fcn.00497264
add esi, eax
mov edx, esi
mov eax, ebx
call fcn.00466a08
push 0x40
mov eax, ebx
call fcn.004669d0
push eax
mov eax, ebx
call fcn.004669ec
push eax
push 0
push 0
push 0
push edi
call sub.user32.dll_SetWindowPos
push 0
push 0
push edi
call sub.user32.dll_InvalidateRect
mov eax, ebx
call fcn.00466304
mov esi, eax
mov eax, ebx
call fcn.00466394
add esi, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x40]
mov dl, 2
call fcn.00464d98
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0x50], ebx
mov eax, dword [ebp - 8]
mov eax, ebx
mov ebx, eax
mov eax, ebx
mov edx, esi
call fcn.0046631c
mov eax, dword [ebx + 0x30]
call fcn.004669ec
mov edx, eax
mov eax, ebx
call fcn.0046636c
mov eax, dword [ebx + 0x30]
call fcn.004669d0
push eax
mov eax, ebx
call fcn.00466304
pop edx
sub edx, eax
mov eax, ebx
call fcn.004663b0
lea ecx, [ebp - 0x64]
mov eax, dword [ebx + 0x30]
mov edx, 7
call fcn.00465c54
push dword [ebp - 0x60]
push dword [ebp - 0x64]
mov eax, ebx
mov edx, 7
call fcn.00465c68
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x50]
mov dl, 2
call fcn.00464dcc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ebx, eax
mov eax, dword [ebx + 0x30]
call fcn.004669ec
push eax
mov eax, 0x12
call fcn.00497250
pop edx
sub edx, eax
mov eax, ebx
call fcn.0046636c
mov eax, dword [ebx + 0x30]
call fcn.004669d0
mov edx, eax
mov eax, ebx
call fcn.004663b0
lea ecx, [ebp - 0x64]
mov eax, dword [ebx + 0x30]
mov edx, 7
call fcn.00465c54
push dword [ebp - 0x60]
push dword [ebp - 0x64]
mov eax, ebx
mov edx, 7
call fcn.00465c68
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x10]
xor edi, edi
cmp dword [ebp - 0x18], 0
jle 0x49e218
cmp dword [ebp - 0x1c], 0
jne 0x49e15e
push 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x60]
push eax
call sub.user32.dll_ShowWindow
lea edx, [ebp - 0x68]
mov eax, 2
call fcn.00448d28
mov eax, dword [ebp - 0x68]
call fcn.004071b0
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x60]
push eax
call sub.user32.dll_SetWindowTextW
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
call fcn.0048a214
mov esi, eax
dec esi
test esi, esi
jl 0x49e2a9
inc esi
xor ebx, ebx
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
cmp byte [eax + 0xc], 0
jne 0x49e20b
push 0
push 0
push 0
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov ecx, eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.00498fb0
mov dword [ebp - 0x14], eax
test edi, edi
jne 0x49e1c2
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
call fcn.00499d4c
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0xb4]
mov dword [edx + edi*4], eax
inc edi
mov eax, dword [ebp - 0x14]
call fcn.00466304
push eax
mov eax, dword [ebp - 0x14]
call fcn.00466394
pop edx
add edx, eax
push edx
mov eax, dword [ebp - 0x10]
call fcn.004669d0
pop edx
call fcn.0046313c
mov edx, eax
mov eax, dword [ebp - 0x10]
call fcn.00466a08
inc ebx
dec esi
jne 0x49e179
jmp 0x49e2a9
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x60]
push eax
call sub.user32.dll_ShowWindow
push 0x49e7a4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x60]
push eax
call sub.user32.dll_SetWindowTextW
lea edx, [ebp - 0x6c]
mov eax, 3
call fcn.00448d28
mov eax, dword [ebp - 0x6c]
push eax
lea edx, [ebp - 0x70]
mov eax, 4
call fcn.00448d28
mov eax, dword [ebp - 0x70]
push eax
push 0x49e7b4
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, dword [ebp - 0x10]
call fcn.00498fb0
call fcn.00466394
lea edx, [ebp - 0x74]
mov eax, 5
call fcn.00448d28
mov eax, dword [ebp - 0x74]
push eax
lea edx, [ebp - 0x78]
mov eax, 6
call fcn.00448d28
mov eax, dword [ebp - 0x78]
push eax
push 0x49e7dc
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, dword [ebp - 0x10]
call fcn.00498fb0
call fcn.00466394
push 0
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_InvalidateRect
jmp 0x49e2d3
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov edx, 2
call fcn.00466498
call fcn.004631dc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
call fcn.00466f78
cmp eax, 2
jg 0x49e2be
cmp dword [ebp - 0x1c], 0
je 0x49e717
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x60]
push eax
call sub.user32.dll_ShowWindow
push 0x49e7a4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x60]
push eax
call sub.user32.dll_SetWindowTextW
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov dl, 1
call fcn.00465eec
xor eax, eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
cmp dword [eax + 0x68], 0
jne 0x49e337
call sub.user32.dll_CreatePopupMenu
mov edx, dword [ebp - 8]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 8]
cmp dword [eax + 0x6c], 0
jne 0x49e34b
call sub.user32.dll_CreatePopupMenu
mov edx, dword [ebp - 8]
mov dword [edx + 0x6c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov dl, 2
call fcn.00464dcc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ebx, eax
lea edx, [ebp - 0x7c]
mov eax, 7
call fcn.00448d28
mov edx, dword [ebp - 0x7c]
mov eax, ebx
call fcn.00465e44
mov eax, 0x10
call fcn.004972c0
push eax
mov eax, ebx
call fcn.004668e4
mov edx, 4
pop ecx
call fcn.004637e0
mov eax, dword [ebx + 0x30]
call fcn.004669ec
mov edx, eax
mov eax, ebx
call fcn.0046636c
mov eax, 0x18
call fcn.00497264
mov edx, eax
mov eax, ebx
call fcn.004663b0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov dl, 2
call fcn.00464dcc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ebx, eax
mov eax, 0xc
call fcn.004972c0
push eax
mov eax, ebx
call fcn.004668e4
mov edx, 4
pop ecx
call fcn.004637e0
mov eax, 0x120
call fcn.00497250
mov edx, eax
mov eax, ebx
call fcn.0046636c
mov eax, 0x18
call fcn.00497264
mov edx, eax
mov eax, ebx
call fcn.0046631c
mov eax, dword [ebx + 0x30]
call fcn.004669ec
push eax
mov eax, ebx
call fcn.00466304
pop edx
sub edx, eax
mov eax, ebx
call fcn.004663b0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x10]
xor edi, edi
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
call fcn.0048a214
mov esi, eax
dec esi
test esi, esi
jl 0x49e65f
inc esi
xor ebx, ebx
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
cmp byte [eax + 0xc], 1
jne 0x49e657
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
cmp byte [eax + 0x59], 0
je 0x49e657
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
push eax
push 0
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov ecx, dword [eax + 4]
mov dl, 8
mov eax, dword [0x4b3844]
call fcn.0048fce8
lea eax, [ebp - 0x5c]
xor ecx, ecx
mov edx, 0x30
call fcn.0040483c
mov dword [ebp - 0x5c], 0x30
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov eax, dword [eax + 0x28]
call fcn.004071b0
mov dword [ebp - 0x38], eax
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x49e508
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
cmp dword [eax + 0x100], 0
je 0x49e554
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov eax, dword [eax + 0x28]
call fcn.004071b0
push eax
mov eax, ebx
or eax, 0x100
push eax
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x68]
push eax
call sub.user32.dll_AppendMenuW
inc dword [ebp - 0x24]
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
cmp dword [eax + 0xfc], 0
je 0x49e59d
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov eax, dword [eax + 0x28]
call fcn.004071b0
push eax
mov eax, ebx
or eax, 0x200
push eax
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x6c]
push eax
call sub.user32.dll_AppendMenuW
inc dword [ebp - 0x28]
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov edx, dword [ebp - 0x18]
add edx, edi
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0xb4]
mov dword [ecx + edx*4], eax
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
call fcn.0048c608
test eax, eax
jle 0x49e626
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
call fcn.0048c608
dec eax
test eax, eax
jl 0x49e647
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov ecx, eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.00498d50
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x20]
dec dword [ebp - 0x2c]
jne 0x49e5f9
jmp 0x49e647
push 0xffffffffffffffff
mov eax, dword [0x4b3844]
mov eax, dword [eax + 0x4c]
mov edx, ebx
call fcn.00488af4
mov ecx, eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.00498d50
mov dword [ebp - 0x14], eax
test edi, edi
jne 0x49e656
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
call fcn.00499df4
inc edi
inc ebx
dec esi
jne 0x49e455
cmp dword [ebp - 0x24], 0
je 0x49e698
cmp dword [ebp - 0x28], 0
je 0x49e698
lea edx, [ebp - 0x84]
mov eax, 0x13
call fcn.00448d28
mov eax, dword [ebp - 0x84]
call fcn.004071b0
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x64]
push eax
call sub.user32.dll_SetWindowTextW
jmp 0x49e724
cmp dword [ebp - 0x24], 0
je 0x49e6ce
cmp dword [ebp - 0x28], 0
jne 0x49e6ce
lea edx, [ebp - 0x88]
mov eax, 0x14
call fcn.00448d28
mov eax, dword [ebp - 0x88]
call fcn.004071b0
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x64]
push eax
call sub.user32.dll_SetWindowTextW
jmp 0x49e724
cmp dword [ebp - 0x24], 0
jne 0x49e704
cmp dword [ebp - 0x28], 0
je 0x49e704
lea edx, [ebp - 0x8c]
mov eax, 0x15
call fcn.00448d28
mov eax, dword [ebp - 0x8c]
call fcn.004071b0
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x64]
push eax
call sub.user32.dll_SetWindowTextW
jmp 0x49e724
push 0x49e7a4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x64]
push eax
call sub.user32.dll_SetWindowTextW
jmp 0x49e724
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.00465eec
mov eax, dword [ebp - 8]
mov dword [eax + 0x7c], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov dl, 1
call fcn.00465eec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_SetFocus
push ebp
call fcn.0049db48
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49e78b
lea eax, [ebp - 0x8c]
mov edx, 3
call fcn.0040711c
lea eax, [ebp - 0x7c]
mov edx, 6
call fcn.0040711c
lea eax, [ebp - 0xc]
call fcn.00407114
ret