Function at 0x40174b
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x284
mov eax, dword [0x4a0ee0]
xor eax, esp
mov dword [esp + 0x280], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
call fcn.0042558f
push edi
lea eax, [esp + 0x270]
push eax
call fcn.00424e0d
push 0x48a4fc
lea eax, [esp + 0x190]
push eax
call fcn.00424e0d
push esi
lea eax, [esp + 0x190]
xor ebx, ebx
push eax
lea ecx, [esp + 0x274]
inc ebx
call fcn.0042690e
or edi, 0xffffffff
cmp eax, edi
jne 0x401853
push 0x48a504
lea eax, [esp + 0xd0]
push eax
call fcn.00424e0d
push 3
pop ebx
push esi
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x274]
call fcn.0042690e
cmp eax, edi
jne 0x401853
push 0x48a50c
lea eax, [esp + 0x150]
push eax
call fcn.00424e0d
push 7
pop ebx
push esi
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x274]
call fcn.0042690e
cmp eax, edi
jne 0x401853
push 0x48a514
lea eax, [esp + 0x90]
push eax
call fcn.00424e0d
push 0xf
pop ebx
push esi
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x274]
call fcn.0042690e
mov byte [esp + 0x13], 0
cmp eax, edi
je 0x401858
mov byte [esp + 0x13], 1
test bl, 8
je 0x40186c
lea ecx, [esp + 0x8c]
and ebx, 0xfffffff7
call fcn.0042523a
test bl, 4
je 0x401880
lea ecx, [esp + 0x14c]
and ebx, 0xfffffffb
call fcn.0042523a
test bl, 2
je 0x401894
lea ecx, [esp + 0xcc]
and ebx, 0xfffffffd
call fcn.0042523a
test bl, 1
je 0x4018a8
lea ecx, [esp + 0x18c]
and ebx, 0xfffffffe
call fcn.0042523a
cmp byte [esp + 0x13], 0
je 0x4018b9
mov dword [0x4a5b18], 1
push 0x48a51c
lea eax, [esp + 0x110]
push eax
call fcn.00424e0d
push esi
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x274]
or ebx, 0x10
call fcn.0042690e
cmp eax, edi
jne 0x401914
push 0x48a524
lea eax, [esp + 0x50]
push eax
call fcn.00424e0d
push esi
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x274]
or ebx, 0x20
call fcn.0042690e
mov byte [esp + 0x13], 0
cmp eax, edi
je 0x401919
mov byte [esp + 0x13], 1
test bl, 0x20
je 0x40192a
lea ecx, [esp + 0x4c]
and ebx, 0xffffffdf
call fcn.0042523a
test bl, 0x10
je 0x40193b
lea ecx, [esp + 0x10c]
call fcn.0042523a
cmp byte [esp + 0x13], 0
je 0x40194c
mov dword [0x4a5b1c], 1
push dword [esp + 0x1c]
lea eax, [esp + 0x170]
push eax
call fcn.00424e0d
cmp dword [0x4a5b20], esi
jne 0x40199f
push 0x2d4
call fcn.00460299
pop ecx
cmp eax, esi
je 0x40197d
mov edi, eax
call fcn.0040476d
jmp 0x40197f
xor eax, eax
push esi
push esi
push esi
push 0x404741
push esi
push esi
mov dword [0x4a5b20], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, esi
je 0x40199f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [0x4a5b20]
add esi, 0x4c
lea eax, [esp + 0x16c]
call fcn.00424f31
lea ecx, [esp + 0x16c]
call fcn.0042523a
push 0x48a52c
lea eax, [esp + 0x130]
push eax
call fcn.00424e0d
lea edi, [esp + 0x20c]
call fcn.0040e078
push eax
lea edi, [esp + 0x1d0]
call fcn.00425965
push eax
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x234]
call fcn.00420a8e
push eax
lea eax, [esp + 0x1f8]
push eax
call fcn.004273c5
add esp, 0xc
mov ecx, eax
mov ebx, 0x4a5bc8
call fcn.004108f2
lea ecx, [esp + 0x1ec]
call fcn.0042523a
lea ecx, [esp + 0x22c]
call fcn.0042523a
mov ecx, edi
call fcn.0042523a
lea ecx, [esp + 0x20c]
call fcn.0042523a
lea ecx, [esp + 0x12c]
call fcn.0042523a
mov esi, ebx
call fcn.004108b2
push str.start...
lea eax, [esp + 0x70]
push eax
mov dword [0x4a5bd0], 0xa00000
call fcn.00424e0d
push 0x7e
lea eax, [esp + 0x250]
push eax
push 3
mov ecx, str..lva_setup_net.cpp
pop edi
mov edx, ebx
call fcn.0041110d
mov esi, eax
lea eax, [esp + 0x6c]
call fcn.0042735a
push eax
mov esi, ebx
call fcn.00410fba
lea ecx, [esp + 0x24c]
call fcn.0042523a
lea ecx, [esp + 0x6c]
call fcn.0042523a
push str.7FE79C4A_F3C4_4d02_95F8_1A33F23ED672
lea eax, [esp + 0xb0]
push eax
call fcn.00424e0d
lea ecx, [esp + 0xac]
call fcn.0040a3f2
lea ecx, [esp + 0xac]
mov byte [esp + 0x13], al
call fcn.0042523a
cmp byte [esp + 0x13], 0
jne 0x401b68
push str.take_owner_failed...
lea eax, [esp + 0xf0]
push eax
call fcn.00424e0d
push 0x83
lea eax, [esp + 0x1b0]
push eax
mov ecx, str..lva_setup_net.cpp
mov edx, ebx
call fcn.0041110d
mov esi, eax
lea eax, [esp + 0xec]
call fcn.0042735a
push eax
mov esi, ebx
call fcn.00410fba
lea ecx, [esp + 0x1ac]
call fcn.0042523a
lea ecx, [esp + 0xec]
call fcn.0042523a
lea ecx, [esp + 0x26c]
call fcn.0042523a
xor eax, eax
mov ecx, dword [esp + 0x28c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0045fbf1
mov esp, ebp
pop ebp
ret 0x10
xor edi, edi
push edi
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [esp + 0x14]
call fcn.00401c01
push dword [ebp + 0x14]
mov eax, dword [esp + 0x18]
call fcn.00401c6b
pop ecx
test eax, eax
jne 0x401bb8
lea ecx, [esp + 0x26c]
call fcn.0042523a
mov eax, edi
jmp 0x401b51
call fcn.00401cd5
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x401bdb
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push edi
push edi
push edi
lea eax, [esp + 0x3c]
push eax
call esi
test eax, eax
jne 0x401bc5
push dword [esp + 0x18]
call sub.gdiplus.dll_GdiplusShutdown
cmp dword [0x4a5884], edi
je 0x401ba8
mov edi, 0x3e9
jmp 0x401ba8