Function at 0x40f730
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e77c0
mov eax, dword fs:[0]
push eax
sub esp, 0x53c
mov eax, dword [0x525248]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
push 0
mov dword [ebp - 0x494], esi
mov dword [ebp - 0x48c], 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x4a4], 8
push eax
mov dword [ebp - 0x4a0], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0
push esi
push 0
mov ecx, 0x527cd0
call fcn.0040b760
push 1
call fcn.00427100
lea eax, [ebp - 0x4a4]
push eax
call fcn.004245d0
add esp, 8
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0x4a0]
or edi, 0xffffffff
mov byte [ebp - 0x481], al
test esi, esi
je 0x40f80d
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x40f80d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40f807
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x481]
test al, al
je 0x40f87c
lea eax, [ebp - 0x4a4]
push eax
call fcn.004245d0
add esp, 4
lea ecx, [ebp - 0x548]
mov edi, dword [eax]
call fcn.0040a090
mov esi, eax
push str.go_go_go
push esi
call fcn.00403fd0
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 8]
lea ecx, [ebp - 0x548]
call fcn.00405c30
mov esi, dword [ebp - 0x4a0]
test esi, esi
je 0x40f87c
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40f87c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40f87c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [0x527d10]
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x498], esi
mov dword [ebp - 0x49c], edi
test ecx, ecx
jne 0x40f8ed
push 0x52408c
call esi
cmp dword [0x527d10], 0
jne 0x40f8e0
push 4
call fcn.00455ec3
mov esi, eax
add esp, 4
test esi, esi
je 0x40f8c7
mov ecx, esi
call fcn.00458280
jmp 0x40f8c9
xor esi, esi
xor ecx, ecx
lea eax, [ebp - 0x48c]
lock or dword [eax], ecx
mov dword [0x527d10], esi
mov esi, dword [ebp - 0x498]
push 0x52408c
call edi
mov ecx, dword [0x527d10]
push 1
call fcn.0045d840
test al, al
je 0x41072b
mov ecx, dword [0x527d10]
test ecx, ecx
jne 0x40f94f
push 0x52408c
call esi
cmp dword [0x527d10], 0
jne 0x40f942
push 4
call fcn.00455ec3
mov esi, eax
add esp, 4
test esi, esi
je 0x40f92f
mov ecx, esi
call fcn.00458280
jmp 0x40f931
xor esi, esi
xor ecx, ecx
lea eax, [ebp - 0x48c]
lock or dword [eax], ecx
mov dword [0x527d10], esi
push 0x52408c
call edi
mov ecx, dword [0x527d10]
push 0
push 0x4f6f78
lea eax, [ebp - 0x450]
push eax
call fcn.0045a420
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
mov edi, dword [ebp - 0x440]
cmovae eax, dword [ebp - 0x450]
mov dword [ebp - 0x4b0], reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x490], eax
cmp edi, 8
jae 0x40f9bb
movups xmm0, xmmword [eax]
mov dword [ebp - 0x424], 7
movups xmmword [ebp - 0x438], xmm0
jmp 0x40f9fc
mov esi, edi
lea ecx, [ebp - 0x438]
mov eax, SysReAllocString
or esi, 7
cmp esi, eax
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00407dd0
lea ecx, [edi*2 + 2]
mov dword [ebp - 0x438], eax
push ecx
push dword [ebp - 0x490]
push eax
call fcn.0048e480
add esp, 0xc
mov dword [ebp - 0x424], esi
lea eax, [ebp - 0x438]
mov dword [ebp - 0x428], edi
push eax
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.00420040
add esp, 0xc
lea edx, [ebp - 0x438]
cmp dword [ebp - 0x424], 8
jb 0x40fa3c
mov edx, dword [ebp - 0x438]
test edx, edx
jne 0x40fa3c
xor ecx, ecx
jmp 0x40fa50
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40fa41
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x527d0c
call fcn.00403e00
call fcn.00402ed0
mov ecx, eax
test ecx, ecx
je 0x41074a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [0x527d10]
lea esi, [eax + 0x10]
mov dword [ebp - 0x488], esi
test ecx, ecx
jne 0x40fad6
push 0x52408c
call dword [ebp - 0x498]
cmp dword [0x527d10], 0
jne 0x40fac5
push 4
call fcn.00455ec3
mov edi, eax
add esp, 4
test edi, edi
je 0x40fab2
mov ecx, edi
call fcn.00458280
jmp 0x40fab4
xor edi, edi
xor ecx, ecx
lea eax, [ebp - 0x48c]
lock or dword [eax], ecx
mov dword [0x527d10], edi
push 0x52408c
call dword [ebp - 0x49c]
mov ecx, dword [0x527d10]
lea eax, [ebp - 0x480]
push eax
call fcn.0045d250
mov ecx, dword [str.entludashi]
mov edi, eax
mov edx, ecx
lea eax, [edx + 2]
mov dword [ebp - 0x490], eax
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x40faf5
sub edx, dword [ebp - 0x490]
mov eax, edi
sar edx, 1
cmp dword [edi + 0x14], 8
jb 0x40fb12
mov eax, dword [edi]
mov edi, dword [edi + 0x10]
cmp edi, edx
jne 0x40fb4c
test edi, edi
je 0x40fb3c
sub eax, ecx
mov dword [ebp - 0x490], eax
mov ax, word [eax + ecx]
cmp ax, word [ecx]
jne 0x40fb4c
mov eax, dword [ebp - 0x490]
add ecx, 2
sub edi, 1
jne 0x40fb25
mov eax, 1
mov byte [ebp - 0x481], al
jmp 0x40fc27
mov ecx, dword [0x527d10]
test ecx, ecx
jne 0x40fba7
push 0x52408c
call dword [ebp - 0x498]
cmp dword [0x527d10], 0
jne 0x40fb96
push 4
call fcn.00455ec3
mov edi, eax
add esp, 4
test edi, edi
je 0x40fb83
mov ecx, edi
call fcn.00458280
jmp 0x40fb85
xor edi, edi
xor ecx, ecx
lea eax, [ebp - 0x48c]
lock or dword [eax], ecx
mov dword [0x527d10], edi
push 0x52408c
call dword [ebp - 0x49c]
mov ecx, dword [0x527d10]
lea eax, [ebp - 0x468]
push eax
call fcn.0045d250
mov ecx, dword [str.ludashicata]
mov edi, eax
mov edx, ecx
lea eax, [edx + 2]
mov dword [ebp - 0x490], eax
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x40fbc6
sub edx, dword [ebp - 0x490]
mov eax, edi
sar edx, 1
cmp dword [edi + 0x14], 8
jb 0x40fbe3
mov eax, dword [edi]
mov edi, dword [edi + 0x10]
cmp edi, edx
jne 0x40fc1b
test edi, edi
je 0x40fc0d
sub eax, ecx
mov dword [ebp - 0x490], eax
mov ax, word [eax + ecx]
cmp ax, word [ecx]
jne 0x40fc1b
mov eax, dword [ebp - 0x490]
add ecx, 2
sub edi, 1
jne 0x40fbf6
mov eax, 3
mov byte [ebp - 0x481], 1
jmp 0x40fc27
mov byte [ebp - 0x481], 0
mov eax, 3
test al, 2
je 0x40fc88
mov edx, dword [ebp - 0x454]
cmp edx, 8
jb 0x40fc6b
mov ecx, dword [ebp - 0x468]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fc61
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410754
push edx
push ecx
call fcn.00455a65
add esp, 8
xor eax, eax
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 7
mov word [ebp - 0x468], ax
mov edx, dword [ebp - 0x46c]
cmp edx, 8
jb 0x40fcc8
mov ecx, dword [ebp - 0x480]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40fcbe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410759
push edx
push ecx
call fcn.00455a65
add esp, 8
cmp byte [ebp - 0x481], 0
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x490], edi
je 0x40fdde
push 1
push dword [ebp - 0x494]
lea eax, [ebp - 0x48c]
push eax
call fcn.00461010
add esp, 8
push eax
lea eax, [ebp - 0x4ac]
push eax
call fcn.00461100
push 0
push str.logdumpuper.log
push dword [eax]
lea eax, [ebp - 0x4a8]
push eax
call fcn.00461220
lea edi, [esi - 0x10]
add esp, 0x1c
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, edi
je 0x40fd7b
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jl 0x40fd66
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x40fd66
push edx
call fcn.00402c60
add esp, 4
mov dword [ebp - 0x494], eax
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x40fd61
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x494]
lea esi, [eax + 0x10]
jmp 0x40fd7b
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x488]
call fcn.00403e00
mov esi, dword [ebp - 0x488]
mov edx, dword [ebp - 0x4a8]
or edi, 0xffffffff
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fd9b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4ac]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fdb8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ff37
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40ff37
mov ecx, dword [0x527d10]
test ecx, ecx
jne 0x40fe39
push 0x52408c
call dword [ebp - 0x498]
cmp dword [0x527d10], 0
jne 0x40fe28
push 4
call fcn.00455ec3
mov esi, eax
add esp, 4
test esi, esi
je 0x40fe15
mov ecx, esi
call fcn.00458280
jmp 0x40fe17
xor esi, esi
xor ecx, ecx
lea eax, [ebp - 0x48c]
lock or dword [eax], ecx
mov dword [0x527d10], esi
push 0x52408c
call dword [ebp - 0x49c]
mov ecx, dword [0x527d10]
push 0
lea eax, [ebp - 0x480]
push eax
call fcn.00459700
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x40fe51
mov edx, dword [edx]
test edx, edx
jne 0x40fe59
xor ecx, ecx
jmp 0x40fe6f
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40fe60
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x488]
call fcn.00403e00
mov edx, dword [ebp - 0x46c]
cmp edx, 8
jb 0x40febc
mov ecx, dword [ebp - 0x480]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40feb2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41075e
push edx
push ecx
call fcn.00455a65
add esp, 8
mov esi, dword [ebp - 0x488]
mov ecx, 1
mov eax, dword [esi - 8]
sub ecx, dword [esi - 4]
sub eax, 0x104
or eax, ecx
jge 0x40feec
push 0x104
lea ecx, [ebp - 0x488]
call fcn.00403cc0
mov esi, dword [ebp - 0x488]
cmp dword [esi - 8], 0x104
jl 0x410763
push str.logdumpuper.log
xor eax, eax
mov dword [esi - 0xc], 0x104
push esi
mov word [esi + 0x208], ax
call edi
push dword [esi - 8]
push esi
call fcn.0049c8b2
add esp, 8
test eax, eax
js 0x410763
cmp eax, dword [esi - 8]
jg 0x410763
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
mov edi, dword [0x527ccc]
mov dword [ebp - 0x494], edi
test edi, edi
jne 0x40ffa6
push 0x524070
call dword [ebp - 0x498]
cmp dword [0x527ccc], edi
jne 0x40ff90
push 0x1c
call fcn.00455ec3
add esp, 4
test eax, eax
je 0x40ff7e
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
jmp 0x40ff80
xor eax, eax
xor edx, edx
lea ecx, [ebp - 0x4a0]
lock or dword [ecx], edx
mov dword [0x527ccc], eax
push 0x524070
call dword [ebp - 0x49c]
mov eax, dword [0x527ccc]
mov dword [ebp - 0x494], eax
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0048ef80
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x400000
mov dword [ebp - 0x48c], eax
call eax
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x218]
push eax
mov dword [ebp - 0x4ac], edi
call edi
lea eax, [ebp - 0x218]
push eax
call edi
push str.netul.dll
lea eax, [ebp - 0x218]
push eax
call dword [ebp - 0x490]
call fcn.00402ed0
mov ecx, eax
test ecx, ecx
je 0x41076d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x488]
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x218]
push eax
call fcn.00406320
test al, al
jne 0x410072
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410050
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x488]
call fcn.00403e00
mov edi, dword [ebp - 0x488]
mov eax, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push edi
mov dword [ebp - 0x4a8], eax
call eax
test eax, eax
jne 0x410093
mov byte [ebp - 0x481], 1
jmp 0x4100a5
push edi
call fcn.00426dc0
add esp, 4
test eax, eax
sete byte [ebp - 0x481]
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x4100bd
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x481], 0
jne 0x4100e6
mov ecx, dword [ebp - 0x494]
lea eax, [ebp - 0x218]
push eax
call fcn.0040b880
mov dword [ebp - 0x488], eax
test eax, eax
jne 0x410283
mov edi, dword [0x527ccc]
mov dword [ebp - 0x494], edi
test edi, edi
jne 0x410155
push 0x524070
call dword [ebp - 0x498]
cmp dword [0x527ccc], edi
jne 0x41013f
push 0x1c
call fcn.00455ec3
add esp, 4
test eax, eax
je 0x41012d
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
jmp 0x41012f
xor eax, eax
xor edx, edx
lea ecx, [ebp - 0x4a0]
lock or dword [ecx], edx
mov dword [0x527ccc], eax
push 0x524070
call dword [ebp - 0x49c]
mov eax, dword [0x527ccc]
mov dword [ebp - 0x494], eax
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.0048ef80
add esp, 0xc
lea eax, [ebp - 0x420]
push 0x104
push eax
push 0x400000
call dword [ebp - 0x48c]
mov edi, dword [ebp - 0x4ac]
lea eax, [ebp - 0x420]
push eax
call edi
lea eax, [ebp - 0x420]
push eax
call edi
push str.NetBridge.dll
lea eax, [ebp - 0x420]
push eax
call dword [ebp - 0x490]
call fcn.00402ed0
mov ecx, eax
test ecx, ecx
je 0x410777
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x488]
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x420]
push eax
call fcn.00406320
test al, al
jne 0x410212
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4101f0
sub ecx, edx
lea eax, [ebp - 0x420]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x488]
call fcn.00403e00
mov edi, dword [ebp - 0x488]
push edi
call dword [ebp - 0x4a8]
test eax, eax
jne 0x41022c
mov byte [ebp - 0x481], 1
jmp 0x41023e
push edi
call fcn.00426dc0
add esp, 4
test eax, eax
sete byte [ebp - 0x481]
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x410256
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x481], 0
je 0x41026b
mov dword [ebp - 0x488], 0
jmp 0x410283
mov ecx, dword [ebp - 0x494]
lea eax, [ebp - 0x420]
push eax
call fcn.0040b880
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x4a4]
push eax
call fcn.004245d0
add esp, 4
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov edi, dword [ebp - 0x4a0]
mov byte [ebp - 0x481], al
test edi, edi
je 0x4102d2
or ecx, 0xffffffff
lock xadd dword [edi + 4], ecx
jne 0x4102d2
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x4102cc
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov al, byte [ebp - 0x481]
test al, al
je 0x410494
lea eax, [ebp - 0x4a4]
push eax
call fcn.004245d0
add esp, 4
lea ecx, [ebp - 0x548]
mov eax, dword [eax]
push 0
mov dword [ebp - 0x48c], eax
lea eax, [ebp - 0x544]
push 0
push eax
mov dword [ebp - 0x548], 0x4f6950
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.00409c40
mov eax, dword [ebp - 0x548]
push 8
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x548]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x54c], eax
mov dword [ebp - method.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.00455ec3
mov edi, eax
add esp, 4
test edi, edi
je 0x410379
push 1
mov dword [ebp - 4], 0
call fcn.0042d2f3
add esp, 4
mov dword [edi + 4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x41037b
xor edi, edi
lea eax, [ebp - 0x540]
mov dword [ebp - 0x510], edi
mov dword [ebp - 0x538], eax
lea eax, [ebp - 0x53c]
mov dword [ebp - 0x534], eax
lea eax, [ebp - 0x530]
mov dword [ebp - 0x528], eax
lea eax, [ebp - 0x52c]
mov dword [ebp - 0x524], eax
lea eax, [ebp - 0x520]
mov dword [ebp - 0x518], eax
lea eax, [ebp - 0x51c]
mov dword [ebp - 0x514], eax
lea eax, [ebp - 0x548]
push str.init_net:
push eax
mov dword [ebp - 0x53c], 0
mov dword [ebp - 0x52c], 0
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x520], 0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0x508], 4
call fcn.00403fd0
add esp, 8
lea ecx, [ebp - 0x548]
push dword [ebp - 0x488]
call fcn.0040a840
mov ecx, dword [ebp - 0x48c]
lea edx, [ebp - 0x548]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp - 0x548]
call fcn.00405c30
mov edi, dword [ebp - 0x4a0]
or ecx, 0xffffffff
test edi, edi
je 0x410497
mov eax, ecx
lock xadd dword [edi + 4], eax
jne 0x410497
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or ecx, 0xffffffff
mov eax, ecx
lock xadd dword [edi + 8], eax
jne 0x410497
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
or ecx, 0xffffffff
cmp dword [ebp - 0x488], 0
jne 0x4104d0
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4104b5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x438]
call fcn.00405560
lea ecx, [ebp - 0x450]
call fcn.00405560
jmp 0x41072b
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0040cda0
mov ecx, dword [0x527d10]
add esp, 8
test ecx, ecx
jne 0x410539
push 0x52408c
call dword [ebp - 0x498]
cmp dword [0x527d10], 0
jne 0x410528
push 4
call fcn.00455ec3
mov edi, eax
add esp, 4
test edi, edi
je 0x410515
mov ecx, edi
call fcn.00458280
jmp 0x410517
xor edi, edi
xor ecx, ecx
lea eax, [ebp - 0x4a0]
lock or dword [eax], ecx
mov dword [0x527d10], edi
push 0x52408c
call dword [ebp - 0x49c]
mov ecx, dword [0x527d10]
call fcn.0045f520
call fcn.004275d0
mov eax, dword [0x527cb0]
add eax, 0x10
push eax
mov dword [ebp - 0x48c], eax
call dword [ebp - 0x498]
mov edi, dword [0x527d08]
test edi, edi
je 0x4105aa
cmp dword [edi + 4], 0
jle 0x410578
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edi, dword [0x527d08]
test edi, edi
je 0x4105aa
mov eax, dword [edi]
test eax, eax
je 0x410591
push eax
call fcn.004996a7
add esp, 4
mov dword [edi], 0
push 0xc
push edi
mov dword [edi + 4], 0
mov dword [edi + 8], 0
call fcn.00455a65
add esp, 8
push dword [ebp - 0x48c]
mov dword [0x527d08], 0
call dword [ebp - 0x49c]
mov edi, dword [0x527d04]
test edi, edi
je 0x410608
mov eax, dword [edi]
test eax, eax
je 0x4105df
push eax
call fcn.004996a7
add esp, 4
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x4105f6
push eax
call fcn.004996a7
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
mov dword [edi + 8], 0
call fcn.00455a65
add esp, 8
mov edi, dword [0x527cfc]
test edi, edi
je 0x41063a
cmp dword [edi], 0
je 0x41063a
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x410624
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [edi + 0x20]
push 0
mov dword [edi + 0x10], 0
call eax
add edi, 0x24
cmp dword [edi], 0
jne 0x410617
mov edi, dword [0x524010]
mov ecx, dword [0x524014]
cmp edi, ecx
jae 0x41066a
nop word [eax + eax]
mov eax, dword [edi]
test eax, eax
je 0x410663
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x524014]
add edi, 4
cmp edi, ecx
jb 0x410650
mov ecx, 0x527cd0
call fcn.0040d290
call dword [sym.imp.ole32.dll_CoUninitialize]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x410692
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x424]
cmp edx, 8
jb 0x4106d2
mov ecx, dword [ebp - 0x438]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4106c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410781
push edx
push ecx
call fcn.00455a65
add esp, 8
mov edx, dword [ebp - 0x43c]
xor eax, eax
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
cmp edx, 8
jb 0x41072b
mov ecx, dword [ebp - 0x450]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410721
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410786
push edx
push ecx
call fcn.00455a65
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00455e83
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00402c10
call fcn.004994e6
call fcn.004994e6
call fcn.004994e6
push 0x80070057
call fcn.00402c10
push 0x80004005
call fcn.00402c10
push 0x80004005
call fcn.00402c10
call fcn.004994e6
call fcn.004994e6
int3