Function at 0x402ff0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4caf3b
mov eax, dword fs:[0]
push eax
mov eax, 0x13e4
call fcn.00454620
mov eax, dword [0x4fe37c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x134c], ecx
lea eax, [ebp - 0x8b8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0x170]
call eax
mov dword [ebp - 4], 0
push 0x4e6d7c
lea ecx, [ebp - 0x8b8]
push ecx
call fcn.00409460
add esp, 8
movzx edx, al
test edx, edx
je 0x403075
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8b8]
call fcn.00406fd0
jmp 0x404081
call fcn.004010b0
mov dword [ebp - 0x1188], eax
lea ecx, [ebp - 0x10f8]
call fcn.00406aa0
mov byte [ebp - 4], 1
push str._pv.gif_uigs_productidgalaxy_game_downloadsourcetypeclient
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x840], eax
lea ecx, [ebp - 0x1120]
call fcn.00406aa0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x840]
push eax
push str.uigs_t_u
lea ecx, [ebp - 0x1120]
push ecx
call fcn.004093d0
add esp, 0xc
lea edx, [ebp - 0x1120]
push edx
lea ecx, [ebp - 0x10f8]
call fcn.00406ae0
lea eax, [ebp - 0x894]
push eax
call fcn.00402130
add esp, 4
mov byte [ebp - 4], 3
push str.uigs_uuid
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea ecx, [ebp - 0x894]
call fcn.00406eb0
mov dword [ebp - 0x118c], eax
cmp dword [ebp - 0x118c], 0
jne 0x403130
mov dword [ebp - 0x1350], 0
jmp 0x403198
mov ecx, dword [ebp - 0x118c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3fffffff
jle 0x403158
mov dword [ebp - 0x1354], 0
jmp 0x40318c
mov eax, dword [ebp - 0x3c]
shl eax, 1
call fcn.00453ce0
mov dword [ebp - 0x1358], esp
mov edx, dword [ebp - 0x1188]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x118c]
push ecx
mov edx, dword [ebp - 0x1358]
push edx
call fcn.004010c0
mov dword [ebp - 0x1354], eax
mov eax, dword [ebp - 0x1354]
mov dword [ebp - 0x1350], eax
mov ecx, dword [ebp - 0x1350]
push ecx
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.pagetypeSogouGameDownloadgametype
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
cmp dword [ebp + 0xc], 0
jne 0x4031d2
push str.install_start
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
jmp 0x403200
cmp dword [ebp + 0xc], 1
jne 0x4031ea
push str.install_finish_success
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
jmp 0x403200
cmp dword [ebp + 0xc], 2
jne 0x403200
push str.install_fail
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push 0x5041f0
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.ver
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea ecx, [ebp - 0x1160]
call fcn.00406f20
mov byte [ebp - 4], 4
lea edx, [ebp - 0x1160]
push edx
push 0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xe0]
call eax
lea ecx, [ebp - 0x1160]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.ptid
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea ecx, [ebp - 0x10d8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x100]
call edx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x10d8]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.curcategory
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea eax, [ebp - 0x11e4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
call eax
mov dword [ebp - 0x135c], eax
mov ecx, dword [ebp - 0x135c]
mov dword [ebp - 0x1360], ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1360]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11e4]
call fcn.00406fd0
push str.curgameid
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea edx, [ebp - 0x1200]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
call eax
mov dword [ebp - 0x1364], eax
mov ecx, dword [ebp - 0x1364]
mov dword [ebp - 0x1368], ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1368]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1200]
call fcn.00406fd0
push str.egname
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea edx, [ebp - 0x121c]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xa4]
call eax
mov dword [ebp - 0x136c], eax
mov ecx, dword [ebp - 0x136c]
mov dword [ebp - 0x1370], ecx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1370]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x121c]
call fcn.00406fd0
push str.curtitle
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea edx, [ebp - 0x1238]
push edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
call eax
mov dword [ebp - 0x1374], eax
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x1374]
call fcn.00407070
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x1144], eax
lea ecx, [ebp - 0x1238]
call fcn.00406fd0
mov ecx, dword [ebp - 0x1144]
add ecx, 1
mov dword [ebp - 0x1144], ecx
mov edx, dword [ebp - 0x1144]
push edx
call fcn.00442b2d
add esp, 4
mov dword [ebp - 0x123c], eax
mov eax, dword [ebp - 0x123c]
mov dword [ebp - 0x1184], eax
mov ecx, dword [ebp - 0x1144]
push ecx
push 0
mov edx, dword [ebp - 0x1184]
push edx
call fcn.00445020
add esp, 0xc
lea eax, [ebp - 0x1258]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
call eax
mov dword [ebp - 0x1378], eax
push 0
push 0
mov ecx, dword [ebp - 0x1144]
push ecx
mov edx, dword [ebp - 0x1184]
push edx
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x1378]
call fcn.00407070
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x1144], eax
lea ecx, [ebp - 0x1258]
call fcn.00406fd0
mov eax, dword [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x1274]
call fcn.00406c80
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1274]
push ecx
lea edx, [ebp - 0x1290]
push edx
call fcn.00401c10
add esp, 8
mov dword [ebp - 0x137c], eax
mov eax, dword [ebp - 0x137c]
mov dword [ebp - 0x1380], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1380]
call fcn.00406eb0
mov dword [ebp - 0x118c], eax
cmp dword [ebp - 0x118c], 0
jne 0x403536
mov dword [ebp - 0x1384], 0
jmp 0x40359e
mov ecx, dword [ebp - 0x118c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3fffffff
jle 0x40355e
mov dword [ebp - 0x1388], 0
jmp 0x403592
mov eax, dword [ebp - 0x3c]
shl eax, 1
call fcn.00453ce0
mov dword [ebp - 0x138c], esp
mov edx, dword [ebp - 0x1188]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x118c]
push ecx
mov edx, dword [ebp - 0x138c]
push edx
call fcn.004010c0
mov dword [ebp - 0x1388], eax
mov eax, dword [ebp - 0x1388]
mov dword [ebp - 0x1384], eax
mov ecx, dword [ebp - 0x1384]
push ecx
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1290]
call fcn.00406d00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1274]
call fcn.00406d00
mov edx, dword [ebp - 0x1184]
mov dword [ebp - 0x1294], edx
mov eax, dword [ebp - 0x1294]
push eax
call fcn.004443f2
add esp, 4
push str.gameurl
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea ecx, [ebp - 0x12cc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0xc0]
call edx
mov dword [ebp - 0x1390], eax
mov eax, dword [ebp - 0x1390]
mov dword [ebp - 0x1394], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x1394]
call fcn.00407070
mov dword [ebp - 0x89c], eax
cmp dword [ebp - 0x89c], 0
jne 0x40364c
mov dword [ebp - 0x1398], 0
jmp 0x4036b6
mov ecx, dword [ebp - 0x89c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3fffffff
jle 0x403674
mov dword [ebp - 0x139c], 0
jmp 0x4036aa
mov eax, dword [ebp - 0x3c]
shl eax, 1
call fcn.00453ce0
mov dword [ebp - 0x13a0], esp
mov edx, dword [ebp - 0x1188]
push edx
mov eax, dword [ebp - 0x3c]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x89c]
push ecx
mov edx, dword [ebp - 0x13a0]
push edx
call fcn.00401110
mov dword [ebp - 0x139c], eax
mov eax, dword [ebp - 0x139c]
mov dword [ebp - 0x1398], eax
mov ecx, dword [ebp - 0x1398]
push ecx
lea ecx, [ebp - 0x12b0]
call fcn.00406c80
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x12b0]
push edx
lea eax, [ebp - 0x12e8]
push eax
call fcn.00401c10
add esp, 8
mov dword [ebp - 0x13a4], eax
mov ecx, dword [ebp - 0x13a4]
mov dword [ebp - 0x13a8], ecx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x13a8]
call fcn.00406eb0
mov dword [ebp - 0x118c], eax
cmp dword [ebp - 0x118c], 0
jne 0x40371e
mov dword [ebp - 0x13ac], 0
jmp 0x403786
mov edx, dword [ebp - 0x118c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3fffffff
jle 0x403746
mov dword [ebp - 0x13b0], 0
jmp 0x40377a
mov eax, dword [ebp - 0x3c]
shl eax, 1
call fcn.00453ce0
mov dword [ebp - 0x13b4], esp
mov eax, dword [ebp - 0x1188]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x118c]
push edx
mov eax, dword [ebp - 0x13b4]
push eax
call fcn.004010c0
mov dword [ebp - 0x13b0], eax
mov ecx, dword [ebp - 0x13b0]
mov dword [ebp - 0x13ac], ecx
mov edx, dword [ebp - 0x13ac]
push edx
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x12e8]
call fcn.00406d00
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x12b0]
call fcn.00406d00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12cc]
call fcn.00406fd0
push str.packettype
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea eax, [ebp - 0x1304]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0xac]
call eax
mov dword [ebp - 0x13b8], eax
mov ecx, dword [ebp - 0x13b8]
mov dword [ebp - 0x13bc], ecx
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x13bc]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1304]
call fcn.00406fd0
push str.isnewinstall
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x2f0]
call edx
test eax, eax
jne 0x403858
mov dword [ebp - 0x13c0], 0x4e6f28
jmp 0x403862
mov dword [ebp - 0x13c0], 0x4e6ee4
mov eax, dword [ebp - 0x13c0]
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.silent
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0x1d0]
call eax
movzx ecx, al
cmp ecx, 1
jne 0x4038a8
mov dword [ebp - 0x13c4], 0x4e6f28
jmp 0x4038b2
mov dword [ebp - 0x13c4], 0x4e6ee4
mov edx, dword [ebp - 0x13c4]
push edx
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov dword [ebp - 0x111c], 0
lea ecx, [ebp - 0x11c8]
call fcn.004069e0
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x11c8], SysReAllocString
push str.SOFTWARE_
lea ecx, [ebp - 0x11c4]
call fcn.00407010
push str.SogouGameDownload
lea ecx, [ebp - 0x11c4]
call fcn.00407050
push str.UserGameType
lea ecx, [ebp - 0x11a8]
call fcn.00407010
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x11a8]
call fcn.00407070
push eax
lea ecx, [ebp - 0x11c4]
call fcn.00407070
push eax
mov ecx, dword [ebp - 0x11c8]
push ecx
lea edx, [ebp - 0x1140]
push edx
call fcn.00498310
add esp, 0x14
mov byte [ebp - 4], 0x10
push str.initcategory
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea ecx, [ebp - 0x1140]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.UserGameID
lea ecx, [ebp - 0x11a8]
call fcn.00407010
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x11a8]
call fcn.00407070
push eax
lea ecx, [ebp - 0x11c4]
call fcn.00407070
push eax
mov ecx, dword [ebp - 0x11c8]
push ecx
lea edx, [ebp - 0x1118]
push edx
call fcn.00498310
add esp, 0x14
mov byte [ebp - 4], 0x11
push str.initgameid
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea ecx, [ebp - 0x1118]
call fcn.00407070
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.UserGameName
lea ecx, [ebp - 0x11a8]
call fcn.00407010
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x11a8]
call fcn.00407070
push eax
lea ecx, [ebp - 0x11c4]
call fcn.00407070
push eax
mov ecx, dword [ebp - 0x11c8]
push ecx
lea edx, [ebp - 0x30]
push edx
call fcn.00498310
add esp, 0x14
mov byte [ebp - 4], 0x12
push str.inittitle
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov dword [ebp - 0x1124], 0
lea ecx, [ebp - 0x30]
call fcn.00407070
push eax
lea ecx, [ebp - 0x1308]
call fcn.00401440
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1124]
push eax
lea ecx, [ebp - 0x1308]
push ecx
call fcn.004bdb20
add esp, 8
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1308]
call fcn.00401000
mov edx, dword [ebp - 0x1124]
push edx
lea ecx, [ebp - 0x1324]
call fcn.00406c80
mov byte [ebp - 4], 0x14
push 1
lea eax, [ebp - 0x1324]
push eax
lea ecx, [ebp - 0x10f4]
push ecx
call fcn.004bdbb0
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1324]
call fcn.00406d00
lea ecx, [ebp - 0x10f4]
call fcn.00406eb0
mov dword [ebp - 0x118c], eax
cmp dword [ebp - 0x118c], 0
jne 0x403ae7
mov dword [ebp - 0x13c8], 0
jmp 0x403b4f
mov edx, dword [ebp - 0x118c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3fffffff
jle 0x403b0f
mov dword [ebp - 0x13cc], 0
jmp 0x403b43
mov eax, dword [ebp - 0x3c]
shl eax, 1
call fcn.00453ce0
mov dword [ebp - 0x13d0], esp
mov eax, dword [ebp - 0x1188]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x118c]
push edx
mov eax, dword [ebp - 0x13d0]
push eax
call fcn.004010c0
mov dword [ebp - 0x13cc], eax
mov ecx, dword [ebp - 0x13cc]
mov dword [ebp - 0x13c8], ecx
mov edx, dword [ebp - 0x13c8]
push edx
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
mov ax, word [0x4e6d7c]
mov word [ebp - 0x83c], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x83a]
push ecx
call fcn.00445020
add esp, 0xc
lea edx, [ebp - 0x83c]
push edx
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea eax, [ebp - 0x878]
push eax
call fcn.0049c3f0
add esp, 4
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x878]
push ecx
lea edx, [ebp - 0x1180]
push edx
call fcn.00401c10
add esp, 8
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x85c]
push eax
call fcn.0049c0d0
add esp, 4
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x85c]
call fcn.00406eb0
mov dword [ebp - 0x118c], eax
cmp dword [ebp - 0x118c], 0
jne 0x403bfc
mov dword [ebp - 0x13d4], 0
jmp 0x403c64
mov ecx, dword [ebp - 0x118c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3fffffff
jle 0x403c24
mov dword [ebp - 0x13d8], 0
jmp 0x403c58
mov eax, dword [ebp - 0x3c]
shl eax, 1
call fcn.00453ce0
mov dword [ebp - 0x13dc], esp
mov edx, dword [ebp - 0x1188]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x118c]
push ecx
mov edx, dword [ebp - 0x13dc]
push edx
call fcn.004010c0
mov dword [ebp - 0x13d8], eax
mov eax, dword [ebp - 0x13d8]
mov dword [ebp - 0x13d4], eax
lea ecx, [ebp - 0x1180]
call fcn.00406eb0
mov dword [ebp - 0x118c], eax
cmp dword [ebp - 0x118c], 0
jne 0x403c8a
mov dword [ebp - 0x13e0], 0
jmp 0x403cf2
mov ecx, dword [ebp - 0x118c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3fffffff
jle 0x403cb2
mov dword [ebp - 0x13e4], 0
jmp 0x403ce6
mov eax, dword [ebp - 0x3c]
shl eax, 1
call fcn.00453ce0
mov dword [ebp - 0x13e8], esp
mov edx, dword [ebp - 0x1188]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x118c]
push ecx
mov edx, dword [ebp - 0x13e8]
push edx
call fcn.004010c0
mov dword [ebp - 0x13e4], eax
mov eax, dword [ebp - 0x13e4]
mov dword [ebp - 0x13e0], eax
mov ecx, dword [ebp - 0x13d4]
push ecx
mov edx, dword [ebp - 0x13e0]
push edx
push str.defaultbs_siever_s
push 0x400
lea eax, [ebp - 0x83c]
push eax
call fcn.0044444e
add esp, 0x14
lea ecx, [ebp - 0x83c]
push ecx
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push str.os
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
lea edx, [ebp - 0x1340]
push edx
call fcn.0049bed0
add esp, 4
mov dword [ebp - 0x13ec], eax
mov eax, dword [ebp - 0x13ec]
mov dword [ebp - 0x13f0], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x13f0]
call fcn.00406eb0
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b20
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1340]
call fcn.00406d00
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x10fc], eax
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x10], eax
mov cx, word [0x4e6d7c]
mov word [ebp - 0x10bc], cx
push 0x7fe
push 0
lea edx, [ebp - 0x10ba]
push edx
call fcn.00445020
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10fc]
push ecx
push str.solution_dX_d
push 0x400
lea edx, [ebp - 0x10bc]
push edx
call fcn.0044444e
add esp, 0x14
lea eax, [ebp - 0x10bc]
push eax
lea ecx, [ebp - 0x10f8]
call fcn.00406b00
push 0xc
call fcn.0044527f
add esp, 4
mov dword [ebp - 0x1344], eax
mov ecx, dword [ebp - 0x1344]
mov dword [ebp - 0x898], ecx
mov edx, dword [ebp - 0x898]
mov byte [edx], 0
lea ecx, [ebp - 0x10f8]
call fcn.00406c30
add eax, 1
mov dword [ebp - 0x38], eax
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00442b2d
add esp, 4
mov dword [ebp - 0x1348], eax
mov eax, dword [ebp - 0x898]
mov ecx, dword [ebp - 0x1348]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x38]
shl edx, 1
push edx
push 0
mov eax, dword [ebp - 0x898]
mov ecx, dword [eax + 8]
push ecx
call fcn.00445020
add esp, 0xc
lea ecx, [ebp - 0x10f8]
call fcn.0041bf70
push eax
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x898]
mov ecx, dword [eax + 8]
push ecx
call fcn.004451f5
add esp, 0xc
lea edx, [ebp - 0x34]
push edx
push 0
mov eax, dword [ebp - 0x898]
push eax
push 0x401e00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x1164], eax
cmp dword [ebp - 0x1164], 0
jne 0x403fa2
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x85c]
call fcn.00406d00
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1180]
call fcn.00406d00
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x878]
call fcn.00406d00
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x10f4]
call fcn.00406d00
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x30]
call fcn.00406fd0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1118]
call fcn.00406fd0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1140]
call fcn.00406fd0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c8]
call fcn.00401be0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10d8]
call fcn.00406fd0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1160]
call fcn.00406fd0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x894]
call fcn.00406d00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1120]
call fcn.00406ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10f8]
call fcn.00406ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8b8]
call fcn.00406fd0
jmp 0x404081
mov ecx, dword [ebp - 0x1164]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x85c]
call fcn.00406d00
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1180]
call fcn.00406d00
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x878]
call fcn.00406d00
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x10f4]
call fcn.00406d00
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x30]
call fcn.00406fd0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1118]
call fcn.00406fd0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1140]
call fcn.00406fd0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c8]
call fcn.00401be0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10d8]
call fcn.00406fd0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1160]
call fcn.00406fd0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x894]
call fcn.00406d00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1120]
call fcn.00406ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10f8]
call fcn.00406ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8b8]
call fcn.00406fd0
lea esp, [ebp - 0x13f4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004443e3
mov esp, ebp
pop ebp
ret 8