Function at 0x40ba90
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60b511
mov eax, dword fs:[0]
push eax
sub esp, 0x430
mov eax, dword [0x685680]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3c0], ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x3c8], ebx
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x3b8], esi
mov dword [ebp - 0x3b0], edi
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x3cc], ebx
call fcn.0040b180
mov dword [ebp - 4], 0
mov dword [ebp - 0x64], 0xf
mov dword [ebp - 0x68], 0
mov byte [ebp - 0x78], 0
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
mov byte [ebp - 4], 2
cmp byte [ebx], 0
mov dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x50], 0
mov byte [ebp - 0x60], 0
jne 0x40bb43
xor ecx, ecx
jmp 0x40bb51
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bb48
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x60]
call fcn.00403850
push 1
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 3
call fcn.00415c40
push 0x20
mov byte [ebp - 4], 4
call fcn.004b9961
add esp, 4
mov dword [ebp - 0x3ac], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x40bb9b
push 0xffffffffffffffff
push ecx
lea ecx, [ebp - 0x3d8]
push ecx
mov ecx, eax
call fcn.00416d30
jmp 0x40bb9d
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x3d4], eax
call fcn.00416e00
mov dword [ebp - 0x3d0], eax
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.0040dbd0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x3d4]
call fcn.0040f100
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3f4], 0
lea eax, [ebp - 0x3f8]
push eax
mov byte [ebp - 4], 8
call fcn.00411ef0
mov byte [ebp - 4], 9
cmp byte [ebx], 0
je 0x40bc63
push 1
push ecx
push 0x647c38
lea ecx, [ebp - 0x60]
call fcn.0040d8f0
mov esi, eax
test esi, esi
jle 0x40bc5a
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x78]
call fcn.00403720
push dword [ebp - 0x68]
lea ecx, [ebp - 0x78]
push esi
call fcn.00403680
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x48]
call fcn.00403720
lea eax, [esi + 1]
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00403680
jmp 0x40bcb2
push 4
push 0x647c3c
jmp 0x40bcaa
cmp byte [esi], 0
jne 0x40bc6c
xor ecx, ecx
jmp 0x40bc7a
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bc71
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x78]
call fcn.00403850
push 7
push ecx
push 0x647c44
lea ecx, [ebp - 0x78]
call fcn.0040d8f0
test eax, eax
jne 0x40bca3
push 7
push eax
lea ecx, [ebp - 0x78]
call fcn.00403680
push 4
push str.http
lea ecx, [ebp - 0x48]
call fcn.00403850
cmp dword [ebp - 0x64], 0x10
lea edx, [ebp - 0x78]
cmovae edx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], 0
mov byte [ebp - 0x90], 0
cmp byte [edx], 0
jne 0x40bcdb
xor ecx, ecx
jmp 0x40bce9
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bce0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x90]
call fcn.00403850
push ecx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0xa
call fcn.0040d700
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x7c], 0x10
jb 0x40bd29
push dword [ebp - 0x90]
call fcn.004b9997
add esp, 4
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x3e4]
push eax
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], 0
mov byte [ebp - 0x90], 0
call fcn.0040d5e0
xor edi, edi
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], edi
mov dword [ebp - 0x400], edi
mov byte [ebp - 4], 0xe
call fcn.005fa280
mov esi, 0x2af9
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
or ebx, 0xffffffff
jmp 0x40bd8a
xor edi, edi
test esi, esi
je 0x40c27c
cmp dword [ebp - 0x3e4], 0
jne 0x40bd9f
xor eax, eax
je 0x40bdca
lea edx, [ebp - 0x408]
lea ecx, [ebp - 0x3e4]
call fcn.0040e770
test al, al
jne 0x40bf4d
cmp dword [ebp - 0x3dc], 0
sete al
test al, al
je 0x40bf4d
mov byte [ebp - 4], 0xd
test edi, edi
je 0x40bdf5
lea eax, [edi + 4]
mov ecx, ebx
lock xadd dword [eax], ecx
jne 0x40bdf5
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
mov edx, ebx
lock xadd dword [eax], edx
jne 0x40bdf5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x3e0]
test esi, esi
je 0x40be25
lea eax, [esi + 4]
mov ecx, ebx
lock xadd dword [eax], ecx
jne 0x40be25
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lea eax, [esi + 8]
lock xadd dword [eax], ebx
dec ebx
jne 0x40be25
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp dword [ebp - 0x118], 0x10
jb 0x40be3c
push dword [ebp - 0x12c]
call fcn.004b9997
add esp, 4
cmp dword [ebp - 0x130], 0x10
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
jb 0x40be6e
push dword [ebp - 0x144]
call fcn.004b9997
add esp, 4
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x130], 0xf
mov dword [ebp - 0x134], 0
mov byte [ebp - 0x144], 0
call fcn.0040d670
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.0040da90
mov byte [ebp - 4], 0x10
mov esi, dword [ebp - 0x3d4]
test esi, esi
je 0x40bec1
mov ecx, esi
call fcn.00415b40
push esi
call fcn.004b9997
add esp, 4
push 0x69284c
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x40bed6
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [ebp - 0x4c], 0x10
jb 0x40bee7
push dword [ebp - 0x60]
call fcn.004b9997
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x50], 0
mov byte [ebp - 0x60], 0
jb 0x40bf0a
push dword [ebp - 0x48]
call fcn.004b9997
add esp, 4
cmp dword [ebp - 0x64], 0x10
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
jb 0x40bf2d
push dword [ebp - 0x78]
call fcn.004b9997
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.005cd355
mov esp, ebp
pop ebp
ret 0x14
mov dword [ebp - 0x3a8], 0
call fcn.005fa280
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x43c]
push eax
add ecx, 0x14
call fcn.00412470
cmp dword [ebp - 0x3a8], 0
je 0x40bf9e
mov edx, str.close
lea ecx, [ebp - 0x3a8]
call fcn.00416b40
push ecx
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x3e4]
call fcn.0040d7e0
mov byte [ebp - 4], 0xf
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov esi, dword [ebp - 0xf0]
imul eax, eax, 0x4c
add eax, dword [ecx]
mov dword [ebp - 0x3b4], esi
movq xmm0, qword [eax]
movq qword [ebp - 0x110], xmm0
movq xmm0, qword [eax + 8]
movq qword [ebp - 0x108], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x100], xmm0
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xf8], eax
cmp esi, 0xffffffff
jne 0x40c0b1
cmp word [ebp - 0x110], 2
mov ecx, dword [ebp - 0xf4]
lea eax, [ebp - 0x39c]
push eax
push 6
push 1
mov esi, 0x17
mov edi, 2
cmove esi, edi
push esi
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x3ec]
push eax
lea ecx, [ecx + 0x14]
call fcn.004122b0
cmp dword [eax], 0
jne 0x40c097
xorps xmm1, xmm1
movq qword [ebp - 0x428], xmm1
mov dword [ebp - 0x428], edi
mov dword [ebp - 0x424], 0
movq xmm0, qword [ebp - 0x428]
mov dword [ebp - 0xd4], esi
mov byte [ebp - 0xd0], 0
movq qword [ebp - 0xcc], xmm0
movq qword [ebp - 0xc4], xmm1
movq qword [ebp - 0xbc], xmm1
mov dword [ebp - 0xb4], 0
mov esi, dword [ebp - 0x39c]
test esi, esi
jne 0x40c23a
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0x3b4], esi
cmp word [ebp - 0x110], 2
mov edi, 0x1c
mov eax, 0x10
cmove edi, eax
cmp esi, 0xffffffff
jne 0x40c0d7
call fcn.005fa280
mov esi, 0x2719
jmp 0x40c11f
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
lea eax, [ebp - 0x110]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x3ac], eax
call fcn.005fa280
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [ebp - 0x3ac], 0
mov esi, eax
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], edi
jne 0x40c12d
xor esi, esi
call fcn.005fa280
mov edi, eax
mov dword [ebp - 0x398], edi
mov dword [ebp - 0x39c], esi
call fcn.005fa280
cmp edi, eax
jne 0x40c13e
cmp esi, 0x2734
je 0x40c157
call fcn.005fa280
cmp edi, eax
jne 0x40c23a
cmp esi, 0x2733
jne 0x40c23a
mov esi, dword [ebp - 0x3b4]
lea edx, [ebp - 0x39c]
mov ecx, esi
call fcn.00411f60
test eax, eax
js 0x40c234
mov dword [ebp - 0x3c4], 0
cmp esi, 0xffffffff
jne 0x40c19c
call fcn.005fa280
mov esi, 0x2719
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
jmp 0x40c23a
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3c4]
push eax
push 0x1007
push 0xffff
push esi
mov dword [ebp - 0x3ac], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
mov edi, eax
call fcn.005fa280
mov dword [ebp - 0x3b4], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
test edi, edi
jne 0x40c216
call fcn.005fa280
call fcn.005fa280
mov esi, dword [ebp - 0x3c4]
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
jmp 0x40c23a
cmp edi, 0xffffffff
je 0x40c23a
call fcn.005fa280
mov esi, dword [ebp - 0x3c4]
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
jmp 0x40c23a
mov esi, dword [ebp - 0x39c]
mov byte [ebp - 4], 0xe
mov edi, dword [ebp - 0x430]
test edi, edi
je 0x40bd88
lea eax, [edi + 4]
mov ecx, ebx
lock xadd dword [eax], ecx
jne 0x40bd88
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
mov edx, ebx
lock xadd dword [eax], edx
jne 0x40bd88
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x40bd88
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
mov byte [ebp - 4], 0x11
mov ebx, dword [ebp - 0x3b0]
cmp byte [ebx], 0
jne 0x40c2a1
xor ecx, ecx
jmp 0x40c2af
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c2a6
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 1
push 0x647c54
lea ecx, [ebp - 0x30]
call fcn.00403d30
mov edi, dword [ebp - 0x3cc]
cmp byte [edi], 0
je 0x40c344
push 7
push 0x647c58
lea ecx, [ebp - 0x30]
call fcn.00403d30
mov esi, dword [ebp - 0x3b8]
cmp byte [esi], 0
jne 0x40c2f1
xor ecx, ecx
jmp 0x40c2ff
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c2f6
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x30]
call fcn.00403d30
mov ebx, dword [ebp - 0x3c8]
cmp byte [ebx], 0
jne 0x40c318
xor ecx, ecx
jmp 0x40c329
mov ecx, ebx
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c320
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 0xb
push str._HTTP_1.0_r_n
lea ecx, [ebp - 0x30]
call fcn.00403d30
jmp 0x40c380
mov ebx, dword [ebp - 0x3c8]
cmp byte [ebx], 0
jne 0x40c353
xor ecx, ecx
jmp 0x40c361
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c358
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 0xb
push str._HTTP_1.1_r_n
lea ecx, [ebp - 0x30]
call fcn.00403d30
mov esi, dword [ebp - 0x3b8]
push 0x2f
push str.Accept:_text_html__application_xhtmlxml____r_n
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 0x18
push str.Accept_Language:_ru_RU_r_n
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 0xc
push str.User_Agent:
lea ecx, [ebp - 0x30]
call fcn.00403d30
mov ebx, dword [ebp - 0x3c0]
push 0xffffffffffffffff
push 0
lea eax, [ebx + 0x7c]
push eax
lea ecx, [ebp - 0x30]
call fcn.004039d0
push 2
push 0x647cd4
lea ecx, [ebp - 0x30]
call fcn.00403d30
cmp byte [edi], 0
je 0x40c3e6
push 0x1e
push str.Proxy_Connection:_Keep_Alive_r_n
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 6
push str.Host:
lea ecx, [ebp - 0x30]
call fcn.00403d30
cmp byte [esi], 0
jne 0x40c3fe
xor ecx, ecx
jmp 0x40c40c
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c403
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 2
push 0x647d00
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 8
push str.DNT:_1_r_n
lea ecx, [ebp - 0x30]
call fcn.00403d30
mov edi, dword [ebp - 0x3b0]
mov dword [ebp - 0x94], 0xf
cmp byte [edi], 0
mov dword [ebp - 0x98], 0
mov byte [ebp - 0xa8], 0
jne 0x40c45e
xor ecx, ecx
jmp 0x40c46c
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c463
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa8]
call fcn.00403850
push 4
push ecx
push 0x647d10
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x12
call fcn.0040d8f0
lea ecx, [ebp - 0x30]
test eax, eax
jne 0x40c580
push 0x31
push str.Content_Type:_application_x_www_form_urlencoded_r_n
call fcn.00403d30
push 0x10
push str.Content_Length:
lea ecx, [ebp - 0x30]
call fcn.00403d30
mov esi, dword [ebp - 0x3a0]
test esi, esi
jne 0x40c4ed
push 1
push 0x647d60
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 2
push 0x647d64
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 2
push 0x647d68
lea ecx, [ebp - 0x30]
jmp 0x40c587
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c4f2
sub ecx, edx
mov dword [ebp - 0x3a0], ecx
lea edx, [ebp - 0x3a0]
lea ecx, [ebp - 0x90]
call fcn.0040e630
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x13
call fcn.004039d0
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x7c], 0x10
jb 0x40c53b
push dword [ebp - 0x90]
call fcn.004b9997
add esp, 4
push 2
push 0x647d6c
lea ecx, [ebp - 0x30]
call fcn.00403d30
push 2
push 0x647d70
lea ecx, [ebp - 0x30]
call fcn.00403d30
cmp byte [esi], 0
jne 0x40c567
xor ecx, ecx
push ecx
push esi
lea ecx, [ebp - 0x30]
jmp 0x40c587
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c570
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x30]
jmp 0x40c587
push 2
push 0x647d74
call fcn.00403d30
mov dword [ebp - 0x3a8], 0
call fcn.005fa280
cmp dword [ebp - 0x1c], 0x10
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x398], eax
lea eax, [ebp - 0x3a8]
lea ecx, [ebp - 0x30]
cmovae ecx, dword [ebp - 0x30]
push eax
mov byte [ebp - 0x3a0], 0
push dword [ebp - 0x3a0]
mov dword [ebp - 0x39c], ecx
lea edx, [ebp - 0x39c]
lea ecx, [ebp - 0xf4]
call fcn.0040e650
add esp, 8
xor edi, edi
jmp 0x40c5f0
mov dword [ebp - 0x3bc], 0
call fcn.005fa280
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b0], 1
call fcn.005fa280
mov esi, dword [ebp - 0xf0]
cmp esi, 0xffffffff
jne 0x40c637
call fcn.005fa280
mov esi, 0x2719
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
jmp 0x40c696
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea eax, [ebp - 0x3b0]
push eax
push 0x4004667f
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov ebx, eax
call fcn.005fa280
mov dword [ebp - 0x3a0], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
test ebx, ebx
js 0x40c690
xor esi, esi
call fcn.005fa280
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], eax
mov ebx, dword [ebp - 0x3c0]
test esi, esi
je 0x40c6aa
mov edx, str.io_control
lea ecx, [ebp - 0x39c]
call fcn.00416b40
cmp dword [ebp - 0x3b0], 0
jne 0x40c71d
push 1
inc edi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, dword [ebx + 0x98]
jle 0x40c5f0
mov dword [ebp - 0x3a8], 0
call fcn.005fa280
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x3ec]
push eax
lea ecx, [ecx + 0x14]
call fcn.00412470
cmp dword [ebp - 0x3a8], 0
je 0x40c823
mov edx, str.close
lea ecx, [ebp - 0x3a8]
call fcn.00416b40
mov dl, byte [ebp - 0xec]
lea eax, [ebp - 0x394]
mov dword [ebp - 0x3ec], eax
lea eax, [ebp - 0x3bc]
push eax
push 0
push ecx
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0x3f0]
push 1
push eax
mov dword [ebp - 0x3f0], 0x200
mov dword [ebp - 0x3e8], 0x200
call fcn.00410c60
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x40c7a9
push dword [ebp - 0x3a0]
xor edi, edi
lea eax, [ebx + 0x30]
lea edx, [ebp - 0x394]
push eax
cmp ecx, 0x200
jne 0x40c792
lea eax, [ebp - 0x194]
lea ecx, [ebp - 0x3cc]
jmp 0x40c7a0
lea eax, [ebp - 0x394]
add eax, ecx
lea ecx, [ebp - 0x3ac]
push eax
call fcn.0040f9d0
add esp, 0xc
mov ecx, ebx
call fcn.0040cae0
cmp al, 1
je 0x40c6c8
mov eax, dword [0x692844]
test al, 1
jne 0x40c7e0
or eax, 1
push 0x613de0
mov dword [0x692844], eax
mov dword [0x692848], 0x650980
call fcn.005cdcd5
add esp, 4
mov ecx, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x3bc]
cmp ecx, 0x692848
jne 0x40c7fd
cmp eax, 2
je 0x40c6c8
test eax, eax
je 0x40c5f0
push ecx
push eax
lea ecx, [ebp - 0x190]
call fcn.004159d0
push 0x673908
lea eax, [ebp - 0x190]
push eax
call fcn.005d3ef0
cmp dword [ebp - 0x94], 0x10
jb 0x40c83a
push dword [ebp - 0xa8]
call fcn.004b9997
add esp, 4
cmp dword [ebp - 0x1c], 0x10
mov dword [ebp - 0x94], 0xf
mov dword [ebp - 0x98], 0
mov byte [ebp - 0xa8], 0
jb 0x40c866
push dword [ebp - 0x30]
call fcn.004b9997
add esp, 4
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
call fcn.0040c9c0
lea ecx, [ebp - 0x3e4]
call fcn.0040c9c0
lea ecx, [ebp - 0x164]
call fcn.0040c970
lea ecx, [ebp - 0x3fc]
call fcn.0040d670
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.0040da90
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 3
call fcn.00415bd0
cmp dword [ebp - 0x4c], 0x10
jb 0x40c8d3
push dword [ebp - 0x60]
call fcn.004b9997
add esp, 4
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x50], 0
mov byte [ebp - 0x60], 0
jb 0x40c8f6
push dword [ebp - 0x48]
call fcn.004b9997
add esp, 4
cmp dword [ebp - 0x64], 0x10
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
jb 0x40c919
push dword [ebp - 0x78]
call fcn.004b9997
add esp, 4
mov al, 1
jmp 0x40bf2f