Function at 0x439530
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x189c
call fcn.0045e0d0
call fcn.0044eb15
xor eax, eax
mov ax, word [0x479bc8]
mov ecx, 0xc8
sub ecx, eax
mov dword [ebp - 4], ecx
push 0xcc0020
push 0
push 0
mov eax, dword [0x46e898]
push eax
push 0x258
push 0x320
push 0x258
push 0
mov ecx, dword [0x46fd34]
push ecx
call dword [sym.imp.gdi32.dll_BitBlt]
mov edx, dword [0x58ff70]
add edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [ebp - 0x46c], eax
mov ecx, dword [0x58ff70]
add ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x1898], edx
mov byte [ebp - 0x1888], 0
mov word [ebp - 0x1884], 0
jmp 0x4395c8
mov ax, word [ebp - 0x1884]
add ax, 1
mov word [ebp - 0x1884], ax
mov ecx, dword [ebp - 0x1884]
and ecx, 0xffff
cmp ecx, 0x46
jge 0x4395f7
mov edx, dword [ebp - 0x1884]
and edx, 0xffff
shl edx, 4
mov al, byte [ebp - 0x1888]
mov byte [ebp + edx - 0x464], al
jmp 0x4395b6
mov word [ebp - 0x1884], 0
mov word [ebp - 0x188c], 0
mov dword [ebp - 0x1874], 0
mov ecx, dword [0x58ff70]
add ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x1874]
xor eax, eax
mov ax, word [ecx + edx]
cmp eax, 0xffff
jne 0x439637
jmp 0x4396d6
mov ecx, dword [0x58ff70]
add ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x1874]
mov al, byte [ecx + edx]
mov byte [ebp - 0x1888], al
mov ecx, dword [ebp - 0x1874]
add ecx, 1
mov dword [ebp - 0x1874], ecx
mov edx, dword [ebp - 0x1884]
and edx, 0xffff
shl edx, 4
lea eax, [ebp + edx - 0x464]
mov ecx, dword [ebp - 0x188c]
and ecx, 0xffff
mov dl, byte [ebp - 0x1888]
mov byte [eax + ecx], dl
mov ax, word [ebp - 0x188c]
add ax, 1
mov word [ebp - 0x188c], ax
mov ecx, dword [ebp - 0x1888]
and ecx, 0xff
test ecx, ecx
jne 0x4396c9
mov word [ebp - 0x188c], 0
mov dx, word [ebp - 0x1884]
add dx, 1
mov word [ebp - 0x1884], dx
mov eax, 1
test eax, eax
jne 0x439613
mov word [ebp - 0x1884], 0
mov dword [ebp - 0x1874], 0
mov ecx, dword [0x58ff70]
add ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x1874]
xor eax, eax
mov ax, word [ecx + edx]
cmp eax, 0xffff
jne 0x43970a
jmp 0x43977d
mov ecx, dword [0x58ff70]
add ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x1874]
mov al, byte [ecx + edx]
mov byte [ebp - 0x1888], al
mov ecx, dword [ebp - 0x1874]
add ecx, 1
mov dword [ebp - 0x1874], ecx
mov edx, dword [ebp - 0x1884]
and edx, 0xffff
mov al, byte [ebp - 0x1888]
mov byte [edx + 0x468dc8], al
mov cx, word [ebp - 0x1884]
add cx, 1
mov word [ebp - 0x1884], cx
mov edx, dword [ebp - 0x1888]
and edx, 0xff
test edx, edx
jne 0x439770
jmp 0x43977d
mov eax, 1
test eax, eax
jne 0x4396e9
mov word [ebp - 0x1870], 1
mov word [ebp - 0x187c], 0
mov cx, word [0x472064]
mov word [ebp - 0x1878], cx
mov dx, word [0x472066]
mov word [ebp - 0x1880], dx
mov dword [ebp - 0x1874], 0
xor eax, eax
mov ax, word [0x59499c]
test eax, eax
je 0x4397d3
mov word [ebp - 0x1878], 1
mov word [ebp - 0x1880], 1
mov word [ebp - 0x468], 1
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [ebp - 0x189c], eax
push 0x600
call fcn.00408765
add esp, 4
and eax, 0xffff
test eax, eax
je 0x439b1e
mov word [ebp - 0x187c], 1
xor ecx, ecx
mov cx, word [0x48eca0]
cmp ecx, 0x2d4
jl 0x439a49
xor edx, edx
mov dx, word [0x48eca0]
cmp edx, 0x2f3
jg 0x439a49
xor eax, eax
mov ax, word [0x48eca8]
cmp eax, 0x1aa
jl 0x439a49
xor ecx, ecx
mov cx, word [0x48eca8]
cmp ecx, 0x1b8
jg 0x439a49
mov word [ebp - 0x187c], 0
cmp dword [0x467968], 1
jne 0x439958
mov word [0x479b8a], 1
mov dword [0x467968], 0
mov dword [0x46fd28], 0
push 0
mov edx, dword [0x592820]
push edx
call dword [sym.imp.user32.dll_ShowWindow]
mov word [0x469fb4], 0x9c
mov dword [0x469ffc], 0x320
mov dword [0x46a000], 0x258
mov dword [0x469fb8], 0x180000
push 4
push 0x469f90
call dword [sym.imp.user32.dll_ChangeDisplaySettingsA]
mov dword [0x469f80], 0x82000000
mov eax, dword [0x469f80]
push eax
push 0xfffffffffffffff0
mov ecx, dword [0x592820]
push ecx
call dword [sym.imp.user32.dll_SetWindowLongA]
xor edx, edx
mov dx, word [0x462168]
push edx
xor eax, eax
mov ax, word [0x462164]
push eax
mov ecx, dword [0x592820]
push ecx
call fcn.00401e43
add esp, 0xc
push 0
mov edx, dword [0x592820]
push edx
call dword [sym.imp.user32.dll_SetMenu]
mov eax, dword [0x469b50]
push eax
mov ecx, dword [0x592820]
push ecx
call fcn.00401db4
add esp, 8
push 3
mov edx, dword [0x592820]
push edx
call dword [sym.imp.user32.dll_ShowWindow]
mov eax, dword [0x592820]
push eax
call dword [sym.imp.user32.dll_UpdateWindow]
jmp 0x439a49
mov word [0x479b8a], 0
mov dword [0x467968], 1
mov dword [0x46fd28], 1
push 0
mov ecx, dword [0x592820]
push ecx
call dword [sym.imp.user32.dll_ShowWindow]
push 4
push 0
call dword [sym.imp.user32.dll_ChangeDisplaySettingsA]
mov dword [0x59496c], 0
mov dword [0x469f80], 0x2ca0000
mov edx, dword [0x469f80]
push edx
push 0xfffffffffffffff0
mov eax, dword [0x592820]
push eax
call dword [sym.imp.user32.dll_SetWindowLongA]
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
mov ecx, dword [0x592820]
push ecx
call dword [sym.imp.user32.dll_SetWindowPos]
mov edx, dword [0x5918d8]
push edx
mov eax, dword [0x592820]
push eax
call dword [sym.imp.user32.dll_SetMenu]
mov ecx, dword [0x469b50]
push ecx
mov edx, dword [0x592820]
push edx
call fcn.00401db4
add esp, 8
xor eax, eax
mov ax, word [0x462168]
push eax
xor ecx, ecx
mov cx, word [0x462164]
push ecx
mov edx, dword [0x592820]
push edx
call fcn.00401e43
add esp, 0xc
push 0
push 0
mov eax, dword [0x592820]
push eax
call fcn.0040212c
add esp, 0xc
push 1
mov ecx, dword [0x592820]
push ecx
call dword [sym.imp.user32.dll_ShowWindow]
mov edx, dword [0x592820]
push edx
call dword [sym.imp.user32.dll_UpdateWindow]
xor eax, eax
mov ax, word [0x48eca0]
cmp eax, 0x205
jl 0x439b1e
xor ecx, ecx
mov cx, word [0x48eca0]
cmp ecx, 0x246
jg 0x439b1e
xor edx, edx
mov dx, word [0x48eca8]
cmp edx, 0x1aa
jl 0x439b1e
xor eax, eax
mov ax, word [0x48eca8]
cmp eax, 0x1c8
jg 0x439b1e
mov word [ebp - 0x187c], 1
mov word [ebp - 0x1878], 1
mov word [ebp - 0x1880], 1
mov word [0x59499c], 1
mov word [0x5949a0], 1
mov word [0x5949a4], 1
mov word [0x5949a8], 1
mov word [0x5949ac], 1
mov dword [0x592860], 0x18
mov dword [0x59239c], 0x18
mov word [0x5949c0], 0
mov cx, word [0x5949b0]
mov word [0x5949b4], cx
mov word [0x5949b0], 1
mov word [ebp - 0x468], 1
mov edx, dword [0x58ff70]
add edx, dword [ebp - 0x1898]
mov eax, dword [ebp - 0x1874]
mov cl, byte [edx + eax]
mov byte [ebp - 0x1888], cl
mov edx, dword [ebp - 0x1888]
and edx, 0xff
cmp edx, 0xff
jne 0x439b5b
mov word [ebp - 0x468], 0
jmp 0x439c9c
mov eax, dword [ebp - 0x1888]
and eax, 0xff
cmp eax, 0xfe
jne 0x439c5d
mov ecx, dword [ebp - 0x187c]
and ecx, 0xffff
test ecx, ecx
jne 0x439b9a
xor edx, edx
mov dx, word [0x59499c]
test edx, edx
jne 0x439b9a
xor eax, eax
mov ax, word [0x594b00]
test eax, eax
je 0x439beb
mov ecx, dword [ebp - 0x1874]
add ecx, 2
mov dword [ebp - 0x1874], ecx
mov edx, dword [0x58ff70]
add edx, dword [ebp - 0x1898]
mov eax, dword [ebp - 0x1874]
mov cl, byte [edx + eax]
mov byte [ebp - 0x1888], cl
mov edx, dword [ebp - 0x1888]
and edx, 0xff
cmp edx, 0xff
jne 0x439be6
mov word [ebp - 0x468], 0
jmp 0x439c9c
jmp 0x439c9c
mov eax, dword [0x58ff70]
add eax, dword [ebp - 0x1898]
mov ecx, dword [ebp - 0x1874]
mov dl, byte [eax + ecx + 1]
mov byte [ebp - 0x1888], dl
mov eax, dword [ebp - 0x1888]
and eax, 0xff
shl eax, 1
mov ecx, dword [ebp - 0x1874]
sub ecx, eax
mov dword [ebp - 0x1874], ecx
mov edx, dword [0x58ff70]
add edx, dword [ebp - 0x1898]
mov eax, dword [ebp - 0x1874]
mov cl, byte [edx + eax]
mov byte [ebp - 0x1888], cl
mov edx, dword [ebp - 0x1888]
and edx, 0xff
cmp edx, 0xff
jne 0x439c5b
mov word [ebp - 0x468], 0
jmp 0x439c9c
jmp 0x439c9c
mov ax, word [ebp - 0x1878]
sub ax, 1
mov word [ebp - 0x1878], ax
mov ecx, dword [ebp - 0x1878]
and ecx, 0xffff
test ecx, ecx
jne 0x439c9c
mov dx, word [ebp - 0x1880]
mov word [ebp - 0x1878], dx
mov eax, dword [ebp - 0x1874]
add eax, 2
mov dword [ebp - 0x1874], eax
mov edx, dword [ebp - 0x468]
and edx, 0xffff
test edx, edx
jne 0x439cb1
jmp 0x43a13d
push 0x900
call fcn.00408765
add esp, 4
and eax, 0xffff
test eax, eax
je 0x439d06
mov ax, word [0x472064]
mov word [ebp - 0x1878], ax
mov cx, word [0x472066]
mov word [ebp - 0x1880], cx
mov edx, dword [ebp - 0x1870]
and edx, 0xffff
test edx, edx
jne 0x439cfd
mov word [ebp - 0x1870], 1
jmp 0x439d06
mov word [ebp - 0x1870], 0
movsx eax, byte [0x46f0e8]
cmp eax, 0x2e
jne 0x439d1b
mov word [ebp - 0x1870], 0
xor ecx, ecx
mov cx, word [0x472068]
test ecx, ecx
je 0x439d4e
mov dx, word [0x47206a]
mov word [ebp - 0x1894], dx
mov ax, word [ebp - 0x1894]
push eax
push 0
call fcn.00427085
add esp, 8
mov byte [ebp - 0x1888], al
mov ecx, dword [0x48faf8]
mov dword [ebp - 0x1890], ecx
mov edx, dword [0x48faf8]
mov dword [0x468788], edx
mov eax, dword [ebp - 0x1888]
and eax, 0xff
shl eax, 4
movsx ecx, byte [ebp + eax - 0x464]
test ecx, ecx
je 0x439ed1
mov edx, dword [ebp - 0x1888]
and edx, 0xff
shl edx, 4
lea eax, [ebp + edx - 0x464]
push eax
lea ecx, [ebp - 0x86c]
push ecx
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea edx, [ebp - 0x86c]
push edx
call fcn.00429427
add esp, 4
lea eax, [ebp - 0x86c]
push eax
call fcn.0042e236
add esp, 4
mov ecx, dword [ebp - 0x1888]
and ecx, 0xff
shl ecx, 4
lea edx, [ebp + ecx - 0x464]
push edx
lea eax, [ebp - 0x86c]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
push 0x464434
lea ecx, [ebp - 0x86c]
push ecx
call dword [sym.imp.kernel32.dll_lstrcatA]
lea edx, [ebp - 0x86c]
push edx
mov eax, dword [0x592858]
push eax
mov ecx, dword [0x59494c]
push ecx
call fcn.0045aa56
add esp, 0xc
mov dword [0x48fae0], eax
cmp dword [0x48fae0], 0
jne 0x439e45
push 0
push 0x46443c
lea edx, [ebp - 0x86c]
push edx
mov eax, dword [0x592820]
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
jmp 0x439ecf
mov ecx, dword [0x592858]
push ecx
call fcn.004377c9
add esp, 4
push 0x200000
mov edx, dword [0x592858]
push edx
mov eax, dword [0x592858]
add eax, 0x200000
push eax
call fcn.0041d9c7
add esp, 0xc
test eax, eax
je 0x439e9b
mov ecx, dword [0x592858]
add ecx, 0x100000
mov dword [ebp - 0x1890], ecx
mov edx, dword [0x592858]
add edx, 0x100000
mov dword [0x468788], edx
mov eax, dword [0x592858]
add eax, 0x200000
push eax
call fcn.0041d8bd
add esp, 4
push 0x75738
mov ecx, dword [0x592858]
add ecx, 0x275738
push ecx
mov edx, dword [0x592858]
push edx
call fcn.0045dd90
add esp, 0xc
jmp 0x439ee9
push 0
push 0x464444
push 0x46444c
mov eax, dword [0x592820]
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
push 0
push 0xffffff
push 0
push 0
mov ecx, dword [0x592858]
push ecx
push 0x258
push 0x320
push 0x258
push 0x320
mov edx, dword [0x46fd34]
push edx
call fcn.0042be2e
add esp, 0x28
mov eax, dword [ebp - 0x1870]
and eax, 0xffff
test eax, eax
je 0x439f6b
push 0x384
push 0
mov ecx, dword [0x46fd34]
push ecx
push 0x258
push 0
mov edx, dword [0x46fd34]
push edx
push 0x12c
push 0x320
push 0x384
push 0x320
mov eax, dword [0x46fd34]
push eax
call fcn.00432939
add esp, 0x2c
mov edx, dword [ebp - 0x1870]
and edx, 0xffff
test edx, edx
je 0x43a07d
mov dword [0x594998], 0
push 0x46f0e8
push 0x5928e8
call dword [sym.imp.kernel32.dll_lstrcpyA]
push 0x46f0e8
lea eax, [ebp - 0x186c]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
call fcn.00426174
call fcn.004262f1
call fcn.0042651e
call fcn.00426daa
call fcn.0042693b
call fcn.004260ee
call fcn.00425d53
push 0x5928e8
call fcn.0044da93
add esp, 4
push 0x5928e8
push 0x593940
call dword [sym.imp.kernel32.dll_lstrcpyA]
push 0x593940
call fcn.0044ce4a
add esp, 4
push 0x593940
call fcn.0044db9d
add esp, 4
push 0x593940
call fcn.0044df43
add esp, 4
push 0x593940
call fcn.0044e0db
add esp, 4
push 0x593940
call fcn.0044e264
add esp, 4
push 0x593940
push 0x58ff78
call dword [sym.imp.kernel32.dll_lstrcpyA]
push 0
push 0x58ff78
xor ecx, ecx
mov cx, word [0x592854]
shl ecx, 1
push ecx
mov edx, dword [0x592408]
add edx, 0x258
push edx
mov eax, dword [0x592404]
add eax, 0x320
push eax
mov ecx, dword [0x46fd34]
push ecx
mov edx, dword [0x46fd34]
push edx
call fcn.0040c641
add esp, 0x1c
xor eax, eax
mov ax, word [0x594b00]
cmp eax, 1
jne 0x43a0c4
mov word [0x594b00], 0
push 0
call fcn.00444ac8
add esp, 4
and eax, 0xffff
cmp eax, 1
jne 0x43a0c4
push 0
push 0
push 2
mov ecx, dword [0x592820]
push ecx
call dword [sym.imp.user32.dll_PostMessageA]
push 0
call dword [sym.imp.kernel32.dll_ExitThread]
xor edx, edx
mov dx, word [0x59499c]
test edx, edx
jne 0x43a0f1
push 1
call dword [sym.imp.kernel32.dll_Sleep]
call dword [sym.imp.winmm.dll_timeGetTime]
sub eax, dword [ebp - 0x189c]
mov ecx, dword [ebp - 4]
add ecx, 4
cmp eax, ecx
jb 0x43a0d1
jmp 0x43a0f9
push 1
call dword [sym.imp.kernel32.dll_Sleep]
push 0xcc0020
push 0x258
push 0x320
mov edx, dword [0x46fd34]
push edx
push 0x258
push 0x320
push 0
push 0
mov eax, dword [0x469b50]
push eax
call dword [sym.imp.gdi32.dll_BitBlt]
mov ecx, dword [ebp - 0x468]
and ecx, 0xffff
test ecx, ecx
jne 0x4397dc
lea edx, [ebp - 0x186c]
push edx
push 0x5928e8
call dword [sym.imp.kernel32.dll_lstrcpyA]
call fcn.00426174
call fcn.004262f1
call fcn.0042651e
call fcn.00426daa
call fcn.0042693b
call fcn.004260ee
call fcn.00425d53
movsx eax, byte [0x5928e8]
cmp eax, 0x4b
jne 0x43a20b
movsx ecx, byte [0x5928e9]
cmp ecx, 0x44
jne 0x43a20b
movsx edx, byte [0x5928ea]
cmp edx, 0x4b
jne 0x43a20b
movsx eax, byte [0x5928eb]
cmp eax, 0x46
jne 0x43a20b
movsx ecx, byte [0x5928ec]
sub ecx, 0x30
imul ecx, ecx, 0x2710
movsx edx, byte [0x5928ed]
sub edx, 0x30
imul edx, edx, 0x3e8
add ecx, edx
movsx eax, byte [0x5928ee]
sub eax, 0x30
imul eax, eax, 0x64
add ecx, eax
movsx edx, byte [0x5928ef]
sub edx, 0x30
imul edx, edx, 0xa
add ecx, edx
movsx eax, byte [0x5928f0]
lea ecx, [ecx + eax - 0x30]
mov word [ebp - 0x1884], cx
mov edx, dword [ebp - 0x1884]
and edx, 0xffff
mov byte [edx + 0x47b3aa], 1
push 0x5928e8
call fcn.0044da93
add esp, 4
push 0x5928e8
push 0x593940
call dword [sym.imp.kernel32.dll_lstrcpyA]
push 0x593940
call fcn.00443a4a
add esp, 4
push 0xcc0020
push 0x258
push 0x320
mov eax, dword [0x46fd34]
push eax
push 0x258
push 0x320
push 0
push 0
mov ecx, dword [0x46fd34]
push ecx
call dword [sym.imp.gdi32.dll_BitBlt]
push 0xcc0020
push 0x258
push 0x320
mov edx, dword [0x46fd34]
push edx
push 0x258
push 0x320
push 0
push 0
mov eax, dword [0x46e8b0]
push eax
call dword [sym.imp.gdi32.dll_BitBlt]
mov word [0x472068], 0
mov word [0x47206a], 0
mov esp, ebp
pop ebp
ret