Function at 0x401040
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Contain obfuscated stackstrings
Create tcp socket
Create udp socket
Delete file
Get socket status
Parse pe header
Receive data
Receive data on socket
Reference http user-agent string
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57a9f2
mov eax, dword fs:[0]
push eax
mov eax, 0xb2b8
call fcn.00529dc0
mov eax, dword [0x61b660]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov byte [ebp - 0x1e1], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0xffffffff
jne 0x4010b6
or eax, 0xffffffff
jmp 0x403f43
lea ecx, [ebp - 0xb125]
mov dword [ebp - 0xb124], ecx
lea edx, [ebp - 0x20c]
mov dword [ebp - 0xb218], edx
mov dword [ebp - 4], 0
push 0
push 0
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 1
lea eax, [ebp - 0xb131]
mov dword [ebp - 0xb130], eax
lea ecx, [ebp - 0x378]
mov dword [ebp - 0xb21c], ecx
mov byte [ebp - 4], 2
push 0
push 0
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 3
cmp dword [ebp + 0xc], 0
je 0x401178
cmp dword [ebp + 0x10], 0
je 0x401178
mov edx, dword [ebp + 0xc]
push edx
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb138], eax
mov eax, dword [ebp - 0xb138]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x378]
call fcn.004064c0
mov edx, dword [ebp + 0x10]
push edx
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb13c], eax
mov eax, dword [ebp - 0xb13c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x378]
call fcn.00406360
jmp 0x4011d0
push 0x104
push 0
lea edx, [ebp - 0x4bc]
push edx
call fcn.00529d40
add esp, 0xc
lea eax, [ebp - 0x4bc]
push eax
push 0x5a7270
call fcn.004042c0
add esp, 8
lea ecx, [ebp - 0x4bc]
push ecx
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb140], eax
mov edx, dword [ebp - 0xb140]
push edx
lea eax, [ebp - 0x4bc]
push eax
lea ecx, [ebp - 0x378]
call fcn.004064c0
cmp dword [ebp + 0x1c], 0
je 0x401201
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x4011f7
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx]
test eax, eax
je 0x4011f7
mov byte [ebp - 0x1e1], 1
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx edx, byte [ebp - 0x1e1]
test edx, edx
je 0x401255
mov dword [ebp - 0xb058], 0xfffffffe
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb058]
jmp 0x403f43
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00405860
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb159]
mov dword [ebp - 0xb158], ecx
lea edx, [ebp - 0x3b4]
mov dword [ebp - 0xb220], edx
mov byte [ebp - 4], 7
push 0
push 0
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 8
lea eax, [ebp - 0xb165]
mov dword [ebp - 0xb164], eax
lea ecx, [ebp - 0x238]
mov dword [ebp - 0xb224], ecx
mov byte [ebp - 4], 9
push 0
push 0
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x188], 0
push 7
push 0
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x1b0]
call fcn.004058f0
mov dword [ebp - 0xb228], eax
mov eax, dword [ebp - 0xb228]
mov dword [ebp - 0xb16c], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xb16c]
call fcn.00406100
mov dword [ebp - 0xb170], eax
push str.http:__
mov ecx, dword [ebp - 0xb170]
push ecx
call fcn.00529cb0
add esp, 8
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0xb059], al
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406060
mov byte [ebp - 4], 0xa
movzx edx, byte [ebp - 0xb059]
test edx, edx
je 0x40139d
mov eax, dword [0x5a6ffc]
push eax
push 7
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x1b0]
call fcn.004058f0
mov dword [ebp - 0xb22c], eax
mov edx, dword [ebp - 0xb22c]
mov dword [ebp - 0xb174], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xb174]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00405ab0
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 0xb175], 0x2f
push 1
push 0
lea ecx, [ebp - 0xb175]
push ecx
lea ecx, [ebp - 0x1b0]
call fcn.00405d80
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
cmp edx, dword [0x5a6ffc]
jne 0x401465
mov dword [ebp - 0xb060], 0xfffffffd
mov byte [ebp - 4], 0xf
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x10
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x11
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x13
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb060]
jmp 0x403f43
mov eax, dword [ebp - 0x184]
push eax
push 0
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x1b0]
call fcn.004058f0
mov dword [ebp - 0xb230], eax
mov edx, dword [ebp - 0xb230]
mov dword [ebp - 0xb17c], edx
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0xb17c]
push eax
lea ecx, [ebp - 0x3b4]
call fcn.00405ab0
mov byte [ebp - 4], 0x15
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov ecx, dword [0x5a6ffc]
push ecx
mov edx, dword [ebp - 0x184]
push edx
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.004058f0
mov dword [ebp - 0xb234], eax
mov ecx, dword [ebp - 0xb234]
mov dword [ebp - 0xb180], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0xb180]
push edx
lea ecx, [ebp - 0x238]
call fcn.00405ab0
mov byte [ebp - 4], 0x17
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.00406060
mov byte [ebp - 4], 0xa
push 0x10
push 0
lea eax, [ebp - 0x24c]
push eax
call fcn.00529d40
add esp, 0xc
mov ecx, 2
mov word [ebp - 0x24c], cx
lea ecx, [ebp - 0x3b4]
call fcn.00406100
mov dword [ebp - 0xb184], eax
mov edx, dword [ebp - 0xb184]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
jne 0x401701
push 0x5a7264
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb188], eax
mov eax, dword [ebp - 0xb188]
push eax
push 0
push 0x5a7264
lea ecx, [ebp - 0x3b4]
call fcn.00405d80
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
cmp ecx, dword [0x5a6ffc]
je 0x401671
mov edx, dword [ebp - 0x4c0]
push edx
push 0
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x3b4]
call fcn.004058f0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x4dc]
call fcn.00406100
mov dword [ebp - 0xb18c], eax
mov ecx, dword [ebp - 0xb18c]
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x248], eax
mov edx, dword [0x5a6ffc]
push edx
mov eax, dword [ebp - 0x4c0]
add eax, 1
push eax
lea ecx, [ebp - 0x4f8]
push ecx
lea ecx, [ebp - 0x3b4]
call fcn.004058f0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x4f8]
call fcn.00406100
mov dword [ebp - 0xb190], eax
mov edx, dword [ebp - 0xb190]
push edx
call fcn.00529782
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x24a], ax
mov byte [ebp - 4], 0x1a
push 0
push 1
lea ecx, [ebp - 0x4f8]
call fcn.00406060
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 0x1b
push 0
push 1
lea ecx, [ebp - 0x4dc]
call fcn.00406060
mov byte [ebp - 4], 0xa
jmp 0x4016ff
mov dword [ebp - 0xb064], 0xfffffffc
mov byte [ebp - 4], 0x1c
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x1d
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x1e
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x1f
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x20
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb064]
jmp 0x403f43
jmp 0x401736
mov eax, dword [ebp - 0x188]
movsx ecx, word [eax + 0xa]
push ecx
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x248]
push edx
call fcn.00529940
add esp, 0xc
push 0x50
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x24a], ax
cmp dword [ebp + 0x1c], 0
je 0x401767
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x40175d
mov ecx, dword [ebp + 0x20]
movzx edx, byte [ecx]
test edx, edx
je 0x40175d
mov byte [ebp - 0x1e1], 1
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx ecx, byte [ebp - 0x1e1]
test ecx, ecx
je 0x401804
mov dword [ebp - 0xb068], 0xfffffffe
mov byte [ebp - 4], 0x21
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x22
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x23
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x24
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x25
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb068]
jmp 0x403f43
push 0x10
lea edx, [ebp - 0x24c]
push edx
mov eax, dword [ebp - 0x1d0]
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x4018b1
mov dword [ebp - 0xb06c], 0xfffffffb
mov byte [ebp - 4], 0x26
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x27
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x28
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x29
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x2a
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb06c]
jmp 0x403f43
cmp dword [ebp + 0x1c], 0
je 0x4018e2
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x4018d8
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx]
test eax, eax
je 0x4018d8
mov byte [ebp - 0x1e1], 1
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx edx, byte [ebp - 0x1e1]
test edx, edx
je 0x40197f
mov dword [ebp - 0xb070], 0xfffffffe
mov byte [ebp - 4], 0x2b
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x2c
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x2d
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x2e
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x2f
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb070]
jmp 0x403f43
lea eax, [ebp - 0xb199]
mov dword [ebp - 0xb198], eax
lea ecx, [ebp - 0x398]
mov dword [ebp - 0xb238], ecx
mov byte [ebp - 4], 0x30
push 0
push 0
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0x31
lea edx, [ebp - 0x238]
push edx
push str.GET
lea eax, [ebp - 0x9c]
push eax
call fcn.00407200
add esp, 0xc
mov dword [ebp - 0xb23c], eax
mov ecx, dword [ebp - 0xb23c]
mov dword [ebp - 0xb240], ecx
mov byte [ebp - 4], 0x32
push str._HTTP_1.1
mov edx, dword [ebp - 0xb240]
push edx
lea eax, [ebp - 0xb8]
push eax
call fcn.00407330
add esp, 0xc
mov dword [ebp - 0xb244], eax
mov ecx, dword [ebp - 0xb244]
mov dword [ebp - 0xb248], ecx
mov byte [ebp - 4], 0x33
push 0x5a724c
mov edx, dword [ebp - 0xb248]
push edx
lea eax, [ebp - 0xd4]
push eax
call fcn.00407330
add esp, 0xc
mov dword [ebp - 0xb24c], eax
mov ecx, dword [ebp - 0xb24c]
mov dword [ebp - 0xb1a0], ecx
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0xb1a0]
push edx
lea ecx, [ebp - 0x398]
call fcn.00405ab0
mov byte [ebp - 4], 0x35
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.00406060
mov byte [ebp - 4], 0x33
mov byte [ebp - 4], 0x36
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00406060
mov byte [ebp - 4], 0x32
mov byte [ebp - 4], 0x37
push 0
push 1
lea ecx, [ebp - 0x9c]
call fcn.00406060
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x3b4]
push eax
push str.Host:
lea ecx, [ebp - 0xf0]
push ecx
call fcn.00407200
add esp, 0xc
mov dword [ebp - 0xb250], eax
mov edx, dword [ebp - 0xb250]
mov dword [ebp - 0xb254], edx
mov byte [ebp - 4], 0x38
push 0x5a724c
mov eax, dword [ebp - 0xb254]
push eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00407330
add esp, 0xc
mov dword [ebp - 0xb258], eax
mov edx, dword [ebp - 0xb258]
mov dword [ebp - 0xb1a4], edx
mov byte [ebp - 4], 0x39
mov eax, dword [0x5a6ffc]
push eax
push 0
mov ecx, dword [ebp - 0xb1a4]
push ecx
lea ecx, [ebp - 0x398]
call fcn.00406240
mov byte [ebp - 4], 0x3a
push 0
push 1
lea ecx, [ebp - 0x10c]
call fcn.00406060
mov byte [ebp - 4], 0x38
mov byte [ebp - 4], 0x3b
push 0
push 1
lea ecx, [ebp - 0xf0]
call fcn.00406060
mov byte [ebp - 4], 0x31
push str.Connection:_keep_alive__r_n
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb1a8], eax
mov edx, dword [ebp - 0xb1a8]
push edx
push str.Connection:_keep_alive__r_n
lea ecx, [ebp - 0x398]
call fcn.00406360
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
lea ecx, [ebp - 0x378]
call fcn.00406100
mov dword [ebp - 0xb1ac], eax
push 0
mov eax, dword [ebp - 0xb1ac]
push eax
call fcn.00529925
add esp, 8
cmp eax, 0xffffffff
je 0x401dab
movzx ecx, byte [ebp + 0x30]
test ecx, ecx
jne 0x401bc7
cmp dword [ebp + 0x24], 1
jne 0x401bde
movzx edx, byte [ebp + 0x2c]
test edx, edx
je 0x401bde
cmp dword [ebp + 0x28], 0
je 0x401bde
lea ecx, [ebp - 0x378]
call fcn.00406100
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x401dab
lea ecx, [ebp - 0x378]
call fcn.00406100
mov dword [ebp - 0xb1b0], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb074], esp
mov eax, dword [ebp - 0xb1b0]
push eax
call fcn.00405860
mov dword [ebp - 0xb25c], eax
call fcn.00403f60
add esp, 0x1c
mov dword [ebp - 0xb264], eax
mov dword [ebp - 0xb260], edx
mov ecx, dword [ebp - 0xb264]
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0xb260]
mov dword [ebp - 0x1c8], edx
lea eax, [ebp - 0xb1c9]
mov dword [ebp - 0xb1c8], eax
lea ecx, [ebp - 0x514]
mov dword [ebp - 0xb268], ecx
mov byte [ebp - 4], 0x3c
push 0
push 0
lea ecx, [ebp - 0x514]
call fcn.00406060
mov byte [ebp - 4], 0x3d
lea edx, [ebp - 0x514]
push edx
mov eax, dword [ebp - 0x1c8]
push eax
mov ecx, dword [ebp - 0x1cc]
push ecx
lea edx, [ebp - 0x128]
push edx
call fcn.00575ff0
add esp, 0x10
mov byte [ebp - 4], 0x3e
push 0
push 1
lea ecx, [ebp - 0x128]
call fcn.00406060
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x514]
push eax
push str.Range:_bytes
lea ecx, [ebp - 0x144]
push ecx
call fcn.00407200
add esp, 0xc
mov dword [ebp - 0xb26c], eax
mov edx, dword [ebp - 0xb26c]
mov dword [ebp - 0xb270], edx
mov byte [ebp - 4], 0x3f
push 0x5a7214
mov eax, dword [ebp - 0xb270]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.00407330
add esp, 0xc
mov dword [ebp - 0xb274], eax
mov edx, dword [ebp - 0xb274]
mov dword [ebp - 0xb278], edx
mov byte [ebp - 4], 0x40
push 0x5a724c
mov eax, dword [ebp - 0xb278]
push eax
lea ecx, [ebp - 0x17c]
push ecx
call fcn.00407330
add esp, 0xc
mov dword [ebp - 0xb27c], eax
mov edx, dword [ebp - 0xb27c]
mov dword [ebp - 0xb1d0], edx
mov byte [ebp - 4], 0x41
mov eax, dword [0x5a6ffc]
push eax
push 0
mov ecx, dword [ebp - 0xb1d0]
push ecx
lea ecx, [ebp - 0x398]
call fcn.00406240
mov byte [ebp - 4], 0x42
push 0
push 1
lea ecx, [ebp - 0x17c]
call fcn.00406060
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x43
push 0
push 1
lea ecx, [ebp - 0x160]
call fcn.00406060
mov byte [ebp - 4], 0x3f
mov byte [ebp - 4], 0x44
push 0
push 1
lea ecx, [ebp - 0x144]
call fcn.00406060
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x45
push 0
push 1
lea ecx, [ebp - 0x514]
call fcn.00406060
mov byte [ebp - 4], 0x31
cmp dword [ebp + 0x1c], 0
je 0x401ddc
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x401dd2
mov eax, dword [ebp + 0x20]
movzx ecx, byte [eax]
test ecx, ecx
je 0x401dd2
mov byte [ebp - 0x1e1], 1
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [ebp - 0x1e1]
test eax, eax
je 0x401e90
mov dword [ebp - 0xb078], 0xfffffffe
mov byte [ebp - 4], 0x46
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x47
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x48
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x49
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x4a
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x4b
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb078]
jmp 0x403f43
push str.Accept:_text_html_application_xhtmlxml_application_xml_q0.9___q0.8__r_n
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb1d4], eax
mov ecx, dword [ebp - 0xb1d4]
push ecx
push str.Accept:_text_html_application_xhtmlxml_application_xml_q0.9___q0.8__r_n
lea ecx, [ebp - 0x398]
call fcn.00406360
push str.User_Agent:_Mozilla_5.0__Windows_NT_5.1__AppleWebKit_537.17__KHTML__like_Gecko__Chrome_24.0.1312.57_Safari_537.17_SE_2.X_MetaSr_1.0_r_n
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb1d8], eax
mov edx, dword [ebp - 0xb1d8]
push edx
push str.User_Agent:_Mozilla_5.0__Windows_NT_5.1__AppleWebKit_537.17__KHTML__like_Gecko__Chrome_24.0.1312.57_Safari_537.17_SE_2.X_MetaSr_1.0_r_n
lea ecx, [ebp - 0x398]
call fcn.00406360
push str.Accept_Encoding:_deflate_sdch_r_n
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb1dc], eax
mov eax, dword [ebp - 0xb1dc]
push eax
push str.Accept_Encoding:_deflate_sdch_r_n
lea ecx, [ebp - 0x398]
call fcn.00406360
push str.Accept_Language:_zh_CN_zh_q0.8_r_n
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb1e0], eax
mov ecx, dword [ebp - 0xb1e0]
push ecx
push str.Accept_Language:_zh_CN_zh_q0.8_r_n
lea ecx, [ebp - 0x398]
call fcn.00406360
push str.Accept_Charset:_GBK_utf_8_q0.7__q0.3_r_n
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb1e4], eax
mov edx, dword [ebp - 0xb1e4]
push edx
push str.Accept_Charset:_GBK_utf_8_q0.7__q0.3_r_n
lea ecx, [ebp - 0x398]
call fcn.00406360
push 0x5a724c
call fcn.005291f0
add esp, 4
mov dword [ebp - 0xb1e8], eax
mov eax, dword [ebp - 0xb1e8]
push eax
push 0x5a724c
lea ecx, [ebp - 0x398]
call fcn.00406360
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0xb1ec], ecx
lea ecx, [ebp - 0x398]
call fcn.00406100
mov dword [ebp - 0xb1f0], eax
push 0
mov edx, dword [ebp - 0xb1ec]
push edx
mov eax, dword [ebp - 0xb1f0]
push eax
mov ecx, dword [ebp - 0x1d0]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0xffffffff
jne 0x40208a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x518], eax
mov dword [ebp - 0xb07c], 0xfffffffa
mov byte [ebp - 4], 0x4c
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x4d
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x4e
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x4f
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x50
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x51
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb07c]
jmp 0x403f43
cmp dword [ebp + 0x1c], 0
je 0x4020bb
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x4020b1
mov eax, dword [ebp + 0x20]
movzx ecx, byte [eax]
test ecx, ecx
je 0x4020b1
mov byte [ebp - 0x1e1], 1
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [ebp - 0x1e1]
test eax, eax
je 0x40216f
mov dword [ebp - 0xb080], 0xfffffffe
mov byte [ebp - 4], 0x52
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x53
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x54
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x55
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x56
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x57
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb080]
jmp 0x403f43
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x1e0], 0xa000
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1ec], 2
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x37c], 0
mov dword [ebp - 0x250], 0
mov byte [ebp - 0x1ed], 0
cmp dword [ebp - 0x1c0], 0
je 0x403ea3
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0xa000
push 0
lea edx, [ebp - 0xa51c]
push edx
call fcn.00529d40
add esp, 0xc
mov dword [ebp - 0xa520], 0
cmp dword [ebp - 0x18c], 0
jne 0x402262
mov byte [ebp - 0x1ed], 1
jmp 0x403ea3
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0xa528], 0
jmp 0x402287
mov eax, dword [ebp - 0xa528]
add eax, 1
mov dword [ebp - 0xa528], eax
mov ecx, dword [ebp - 0xa528]
cmp ecx, dword [ebp - 0x35c]
jae 0x4022ae
mov edx, dword [ebp - 0xa528]
mov eax, dword [ebp + edx*4 - 0x358]
cmp eax, dword [ebp - 0x1d0]
jne 0x4022ac
jmp 0x4022ae
jmp 0x402278
mov ecx, dword [ebp - 0xa528]
cmp ecx, dword [ebp - 0x35c]
jne 0x4022e7
cmp dword [ebp - 0x35c], 0x40
jae 0x4022e7
mov edx, dword [ebp - 0xa528]
mov eax, dword [ebp - 0x1d0]
mov dword [ebp + edx*4 - 0x358], eax
mov ecx, dword [ebp - 0x35c]
add ecx, 1
mov dword [ebp - 0x35c], ecx
xor edx, edx
jne 0x40226c
cmp dword [ebp + 0x1c], 0
je 0x40231c
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x402312
mov ecx, dword [ebp + 0x20]
movzx edx, byte [ecx]
test edx, edx
je 0x402312
mov byte [ebp - 0x1e1], 1
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx ecx, byte [ebp - 0x1e1]
test ecx, ecx
je 0x4023d0
mov dword [ebp - 0xb084], 0xfffffffe
mov byte [ebp - 4], 0x58
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x59
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x5a
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x5b
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x5c
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x5d
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb084]
jmp 0x403f43
lea edx, [ebp - 0x1ec]
push edx
push 0
push 0
lea eax, [ebp - 0x35c]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0xb280], eax
cmp dword [ebp - 0xb280], 0xffffffff
je 0x40240b
cmp dword [ebp - 0xb280], 0
je 0x4024b5
jmp 0x40259f
mov dword [ebp - 0xb088], 0xfffffff9
mov byte [ebp - 4], 0x5e
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x5f
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x60
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x61
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x62
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x63
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb088]
jmp 0x403f43
mov ecx, dword [ebp - 0x1dc]
cmp ecx, dword [ebp - 0x1bc]
jne 0x4024f5
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x1b8]
jne 0x4024f5
mov eax, dword [ebp - 0x1dc]
or eax, dword [ebp - 0x1d8]
je 0x4024f5
mov dword [ebp - 0x1c0], 0
mov byte [ebp - 0x1ed], 1
jmp 0x403e9e
mov dword [ebp - 0xb08c], 0xfffffff8
mov byte [ebp - 4], 0x64
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x65
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x66
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x67
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x68
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x69
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb08c]
jmp 0x403f43
lea ecx, [ebp - 0x35c]
push ecx
mov edx, dword [ebp - 0x1d0]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x403e9e
push 0
mov eax, dword [ebp - 0x18c]
push eax
lea ecx, [ebp - 0xa51c]
push ecx
mov edx, dword [ebp - 0x1d0]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0xa524], eax
cmp dword [ebp - 0xa524], 0xffffffff
jne 0x40269b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0xa52c], eax
mov dword [ebp - 0xb090], 0xfffffff7
mov byte [ebp - 4], 0x6a
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x6b
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x6c
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x6d
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x6e
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x6f
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb090]
jmp 0x403f43
cmp dword [ebp + 0x1c], 0
je 0x4026cc
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x4026c2
mov ecx, dword [ebp + 0x20]
movzx edx, byte [ecx]
test edx, edx
je 0x4026c2
mov byte [ebp - 0x1e1], 1
mov eax, dword [ebp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx ecx, byte [ebp - 0x1e1]
test ecx, ecx
je 0x4027c2
cmp dword [ebp + 0x24], 1
jne 0x40271d
movzx edx, byte [ebp + 0x2c]
test edx, edx
je 0x40271d
cmp dword [ebp + 0x28], 0
je 0x40271d
cmp dword [ebp - 0xa520], 0
je 0x40271d
mov eax, dword [ebp - 0xa520]
mov dword [ebp - 0xb094], eax
mov ecx, dword [ebp - 0xb094]
push ecx
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa520], 0
mov dword [ebp - 0xb098], 0xfffffffe
mov byte [ebp - 4], 0x70
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x71
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x72
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x73
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x74
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x75
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb098]
jmp 0x403f43
cmp dword [ebp - 0xa524], 0
jne 0x4027d5
mov dword [ebp - 0x1c0], 0
cmp dword [ebp - 0x21c], 0
jne 0x4031e2
push str.200_OK
lea edx, [ebp - 0xa51c]
push edx
call fcn.00529820
add esp, 8
test eax, eax
jne 0x402816
push str.206_Partial_Content
lea eax, [ebp - 0xa51c]
push eax
call fcn.00529820
add esp, 8
test eax, eax
je 0x402e2a
push str.206_Partial_Content
lea ecx, [ebp - 0xa51c]
push ecx
call fcn.00529820
add esp, 8
test eax, eax
je 0x4029b1
push str.Content_Range
lea edx, [ebp - 0xa51c]
push edx
call fcn.00529820
add esp, 8
mov dword [ebp - 0xa530], eax
cmp dword [ebp - 0xa530], 0
je 0x4029b1
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x37c]
push ecx
lea edx, [ebp - 0x1b4]
push edx
push str.Content_Range:_bytes__ld__ld__ld
mov eax, dword [ebp - 0xa530]
push eax
call fcn.005297fb
add esp, 0x14
movzx ecx, byte [ebp + 0x18]
cmp ecx, 1
jne 0x4029b1
lea ecx, [ebp - 0x378]
call fcn.00406100
mov dword [ebp - 0xb1f4], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb09c], esp
mov edx, dword [ebp - 0xb1f4]
push edx
call fcn.00405860
mov dword [ebp - 0xb284], eax
call fcn.00403f60
add esp, 0x1c
mov dword [ebp - 0xb28c], eax
mov dword [ebp - 0xb288], edx
mov eax, dword [ebp - 0xb28c]
mov dword [ebp - 0xa53c], eax
mov ecx, dword [ebp - 0xb288]
mov dword [ebp - 0xa538], ecx
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x402914
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0xb0a0], ecx
mov edx, dword [ebp - 0xb0a0]
push edx
call fcn.0042a4c9
add esp, 4
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov ecx, dword [ebp - 0xa53c]
add ecx, 2
mov edx, dword [ebp - 0xa538]
adc edx, 0
push ecx
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb0a4], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xb0a4]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa53c]
add edx, 2
mov eax, dword [ebp - 0xa538]
adc eax, 0
push edx
push 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
push edx
call fcn.00529d40
add esp, 0xc
mov eax, dword [ebp - 0xa53c]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0xa538]
mov dword [ebp - 0x210], ecx
lea ecx, [ebp - 0x378]
call fcn.00406100
mov dword [ebp - 0xb208], eax
push 0
mov edx, dword [ebp - 0xb208]
push edx
mov eax, dword [ebp - 0xa538]
push eax
mov ecx, dword [ebp - 0xa53c]
push ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push eax
call fcn.00404080
add esp, 0x14
push str.Content_Encoding:_gzip
lea ecx, [ebp - 0xa51c]
push ecx
call fcn.00529820
add esp, 8
test eax, eax
je 0x4029d3
mov dword [ebp - 0x218], 1
push str.Content_Length:
lea edx, [ebp - 0xa51c]
push edx
call fcn.00529820
add esp, 8
mov dword [ebp - 0xa520], eax
cmp dword [ebp - 0xa520], 0
je 0x402b80
push str.Content_Length:
call fcn.005291f0
add esp, 4
add eax, dword [ebp - 0xa520]
push eax
call fcn.0052976c
add esp, 4
cdq
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], edx
push str._r_n_r_n
lea eax, [ebp - 0xa51c]
push eax
call fcn.00529820
add esp, 8
mov dword [ebp - 0xa520], eax
cmp dword [ebp - 0xa520], 0
je 0x402b7b
push str._r_n_r_n
call fcn.005291f0
add esp, 4
add eax, dword [ebp - 0xa520]
mov dword [ebp - 0xa520], eax
mov ecx, dword [ebp - 0xa520]
mov byte [ecx - 1], 0
lea edx, [ebp - 0xa51c]
push edx
call fcn.005291f0
add esp, 4
mov ecx, dword [ebp - 0xa524]
sub ecx, eax
sub ecx, 1
xor edx, edx
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0xa524], eax
mov ecx, dword [ebp - 0x1bc]
sub ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1b8]
sbb edx, dword [ebp - 0x1d8]
mov dword [ebp - 0xb294], ecx
mov dword [ebp - 0xb290], edx
cmp dword [ebp - 0xb290], 0
jl 0x402af2
jg 0x402adc
cmp dword [ebp - 0xb294], 0xa000
jbe 0x402af2
mov dword [ebp - 0xb29c], 0xa000
mov dword [ebp - 0xb298], 0
jmp 0x402b16
mov eax, dword [ebp - 0x1bc]
sub eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1b8]
sbb ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0xb29c], eax
mov dword [ebp - 0xb298], ecx
mov edx, dword [ebp - 0xb29c]
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x21c], 1
cmp dword [ebp - 0x1b4], 0
je 0x402b7b
cmp dword [ebp - 0x37c], 0
je 0x402b7b
cmp dword [ebp - 0x250], 0
je 0x402b7b
mov eax, dword [ebp - 0x1b4]
xor ecx, ecx
add eax, dword [ebp - 0x1dc]
adc ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x1b8], eax
jmp 0x402e25
push str._r_n_r_n
lea ecx, [ebp - 0xa51c]
push ecx
call fcn.00529820
add esp, 8
mov dword [ebp - 0xa520], eax
cmp dword [ebp - 0xa520], 0
je 0x402e25
push str._r_n_r_n
call fcn.005291f0
add esp, 4
add eax, dword [ebp - 0xa520]
mov dword [ebp - 0xa520], eax
lea edx, [ebp - 0x1bc]
push edx
push 0x5a704c
mov eax, dword [ebp - 0xa520]
push eax
call fcn.005297fb
add esp, 0xc
push 0x5a724c
mov ecx, dword [ebp - 0xa520]
push ecx
call fcn.00529820
add esp, 8
mov dword [ebp - 0xa520], eax
cmp dword [ebp - 0xa520], 0
je 0x402d80
mov edx, dword [ebp - 0xa520]
add edx, 2
mov dword [ebp - 0xa520], edx
mov eax, dword [ebp - 0xa520]
mov byte [eax - 1], 0
lea ecx, [ebp - 0xa51c]
push ecx
call fcn.005291f0
add esp, 4
mov edx, dword [ebp - 0xa524]
sub edx, eax
sub edx, 1
xor eax, eax
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0xa524], ecx
mov edx, dword [ebp - 0x1bc]
sub edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1b8]
sbb eax, dword [ebp - 0x1d8]
mov dword [ebp - 0xb2a4], edx
mov dword [ebp - 0xb2a0], eax
cmp dword [ebp - 0xb2a0], 0
jl 0x402ca0
jg 0x402c8a
cmp dword [ebp - 0xb2a4], 0xa000
jbe 0x402ca0
mov dword [ebp - 0xb2ac], 0xa000
mov dword [ebp - 0xb2a8], 0
jmp 0x402cc4
mov ecx, dword [ebp - 0x1bc]
sub ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1b8]
sbb edx, dword [ebp - 0x1d8]
mov dword [ebp - 0xb2ac], ecx
mov dword [ebp - 0xb2a8], edx
mov eax, dword [ebp - 0xb2ac]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x1bc]
sub ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1b8]
sbb edx, dword [ebp - 0x1d8]
mov dword [ebp - 0xb2b4], ecx
mov dword [ebp - 0xb2b0], edx
cmp dword [ebp - 0xb2b0], 0
jg 0x402d22
jl 0x402d08
cmp dword [ebp - 0xb2b4], 0
jae 0x402d22
mov dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0xa520]
mov byte [ecx + eax], 0
mov dword [ebp - 0x21c], 1
cmp dword [ebp - 0x1b4], 0
je 0x402d7b
cmp dword [ebp - 0x37c], 0
je 0x402d7b
cmp dword [ebp - 0x250], 0
je 0x402d7b
mov edx, dword [ebp - 0x1b4]
xor eax, eax
add edx, dword [ebp - 0x1dc]
adc eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0x250]
xor edx, edx
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], edx
jmp 0x402e25
mov dword [ebp - 0xb0a8], 0xfffffff6
mov byte [ebp - 4], 0x76
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x77
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x78
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x79
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x7a
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x7b
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0a8]
jmp 0x403f43
jmp 0x4031dd
push str.302_Found
lea eax, [ebp - 0xa51c]
push eax
call fcn.00529820
add esp, 8
test eax, eax
je 0x402f9f
push str.Location:
lea ecx, [ebp - 0xa51c]
push ecx
call fcn.00529820
add esp, 8
mov dword [ebp - 0xa520], eax
cmp dword [ebp - 0xa520], 0
je 0x402f9a
push str.Location:
lea edx, [ebp - 0xa51c]
push edx
call fcn.00529820
add esp, 8
mov dword [ebp - 0xa540], eax
mov byte [ebp - 0xa944], 0
push 0x3ff
push 0
lea eax, [ebp - 0xa943]
push eax
call fcn.00529d40
add esp, 0xc
lea ecx, [ebp - 0xa944]
push ecx
push str.Location:__s_r_n
mov edx, dword [ebp - 0xa540]
push edx
call fcn.005297fb
add esp, 0xc
movzx eax, byte [ebp + 0x30]
push eax
movzx ecx, byte [ebp + 0x2c]
push ecx
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
movzx eax, byte [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0xa944]
push ecx
call fcn.00401040
add esp, 0x2c
mov dword [ebp - 0xb0ac], eax
mov byte [ebp - 4], 0x7c
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x7d
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x7e
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x7f
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x80
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x81
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0ac]
jmp 0x403f43
jmp 0x4031dd
push str.416_Requested_Range
lea edx, [ebp - 0xa51c]
push edx
call fcn.00529820
add esp, 8
test eax, eax
je 0x40311c
mov eax, dword [ebp - 0x1cc]
or eax, dword [ebp - 0x1c8]
jne 0x403072
mov dword [ebp - 0xb0b0], 0xfffffff5
mov byte [ebp - 4], 0x82
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x83
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x84
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x85
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x86
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x87
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0b0]
jmp 0x403f43
mov dword [ebp - 0xb0b4], 1
mov byte [ebp - 4], 0x88
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x89
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x8a
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x8b
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x8c
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x8d
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0b4]
jmp 0x403f43
push str.404_Not_Found
lea ecx, [ebp - 0xa51c]
push ecx
call fcn.00529820
add esp, 8
test eax, eax
je 0x4031dd
mov dword [ebp - 0xb0b8], 0xfffffff4
mov byte [ebp - 4], 0x8e
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x8f
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x90
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x91
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x92
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x93
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0b8]
jmp 0x403f43
jmp 0x40328e
lea edx, [ebp - 0xa51c]
mov dword [ebp - 0xa520], edx
mov eax, dword [ebp - 0xa524]
cdq
add eax, dword [ebp - 0x1dc]
adc edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1bc]
sub eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1b8]
sbb ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0xb2bc], eax
mov dword [ebp - 0xb2b8], ecx
cmp dword [ebp - 0xb2b8], 0
jl 0x40325e
jg 0x403248
cmp dword [ebp - 0xb2bc], 0xa000
jbe 0x40325e
mov dword [ebp - 0xb2c4], 0xa000
mov dword [ebp - 0xb2c0], 0
jmp 0x403282
mov edx, dword [ebp - 0x1bc]
sub edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1b8]
sbb eax, dword [ebp - 0x1d8]
mov dword [ebp - 0xb2c4], edx
mov dword [ebp - 0xb2c0], eax
mov ecx, dword [ebp - 0xb2c4]
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x21c], 0
je 0x403e9e
cmp dword [ebp + 0x24], 1
jne 0x403b73
cmp dword [ebp + 0x28], 0
je 0x403b73
cmp dword [ebp + 0x1c], 0
je 0x4032e0
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x4032d6
mov eax, dword [ebp + 0x20]
movzx ecx, byte [eax]
test ecx, ecx
je 0x4032d6
mov byte [ebp - 0x1e1], 1
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [ebp - 0x1e1]
test eax, eax
je 0x4033c2
cmp dword [ebp - 0xa520], 0
je 0x40331d
mov ecx, dword [ebp - 0xa520]
mov dword [ebp - 0xb0bc], ecx
mov edx, dword [ebp - 0xb0bc]
push edx
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa520], 0
mov dword [ebp - 0xb0c0], 0xfffffffe
mov byte [ebp - 4], 0x94
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x95
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x96
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x97
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x98
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x99
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0c0]
jmp 0x403f43
mov dword [ebp - 0xa948], 0
lea ecx, [ebp - 0xb03c]
call fcn.00407f60
mov dword [ebp - 0xb040], 0
mov eax, dword [ebp - 0xa524]
add eax, 2
push eax
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb0c4], eax
mov ecx, dword [ebp - 0xb0c4]
mov dword [ebp - 0xb044], ecx
mov edx, dword [ebp - 0xa524]
add edx, 2
push edx
push 0
mov eax, dword [ebp - 0xb044]
push eax
call fcn.00529d40
add esp, 0xc
mov ecx, dword [ebp - 0xa524]
push ecx
mov edx, dword [ebp - 0xa520]
push edx
mov eax, dword [ebp - 0xb044]
push eax
call fcn.00529940
add esp, 0xc
mov ecx, dword [ebp - 0xb044]
mov dword [ebp - 0xa520], ecx
cmp dword [ebp - 0x190], 0
je 0x403567
mov edx, dword [ebp - 0xa524]
mov eax, dword [ebp - 0x194]
lea ecx, [eax + edx + 2]
push ecx
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb0c8], eax
mov edx, dword [ebp - 0xb0c8]
mov dword [ebp - 0xb048], edx
mov eax, dword [ebp - 0xa524]
mov ecx, dword [ebp - 0x194]
lea edx, [ecx + eax + 2]
push edx
push 0
mov eax, dword [ebp - 0xb048]
push eax
call fcn.00529d40
add esp, 0xc
mov ecx, dword [ebp - 0x194]
push ecx
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 0xb048]
push eax
call fcn.00529940
add esp, 0xc
mov ecx, dword [ebp - 0xa524]
push ecx
mov edx, dword [ebp - 0xa520]
push edx
mov eax, dword [ebp - 0xb048]
add eax, dword [ebp - 0x194]
push eax
call fcn.00529940
add esp, 0xc
mov ecx, dword [ebp - 0xa524]
add ecx, dword [ebp - 0x194]
mov dword [ebp - 0xa524], ecx
mov dword [ebp - 0x194], 0
cmp dword [ebp - 0x190], 0
je 0x40352d
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0xb0cc], edx
mov eax, dword [ebp - 0xb0cc]
push eax
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0x190], 0
cmp dword [ebp - 0xa520], 0
je 0x40355b
mov ecx, dword [ebp - 0xa520]
mov dword [ebp - 0xb0d0], ecx
mov edx, dword [ebp - 0xb0d0]
push edx
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa520], 0
mov eax, dword [ebp - 0xb048]
mov dword [ebp - 0xa520], eax
mov ecx, dword [ebp - 0xa524]
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x40357a
dec ecx
or ecx, 0xfffffff8
inc ecx
test ecx, ecx
je 0x403612
mov eax, dword [ebp - 0xa524]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0xb04c], eax
push 9
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb0d4], eax
mov edx, dword [ebp - 0xb0d4]
mov dword [ebp - 0x190], edx
push 9
push 0
mov eax, dword [ebp - 0x190]
push eax
call fcn.00529d40
add esp, 0xc
mov ecx, dword [ebp - 0xb04c]
shl ecx, 3
mov edx, dword [ebp - 0xa524]
sub edx, ecx
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0xb04c]
mov edx, dword [ebp - 0xa520]
lea eax, [edx + ecx*8]
push eax
mov ecx, dword [ebp - 0x190]
push ecx
call fcn.00529940
add esp, 0xc
mov edx, dword [ebp - 0xb04c]
shl edx, 3
mov dword [ebp - 0xa524], edx
lea eax, [ebp - 0xb040]
push eax
mov ecx, dword [ebp - 0xa524]
push ecx
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp - 0xa520]
push eax
lea ecx, [ebp - 0xb03c]
call fcn.00407f70
mov dword [ebp - 0xa948], eax
movzx ecx, byte [ebp + 0x2c]
test ecx, ecx
je 0x403787
lea ecx, [ebp - 0x378]
call fcn.00406100
mov dword [ebp - 0xb20c], eax
mov edx, dword [ebp - 0xb20c]
push edx
mov eax, dword [ebp - 0xb040]
push eax
mov ecx, dword [ebp - 0xa948]
push ecx
call fcn.004040f0
add esp, 0xc
movzx edx, al
test edx, edx
jne 0x403782
cmp dword [ebp - 0xa520], 0
je 0x4036af
mov eax, dword [ebp - 0xa520]
mov dword [ebp - 0xb0d8], eax
mov ecx, dword [ebp - 0xb0d8]
push ecx
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa520], 0
cmp dword [ebp - 0xa948], 0
je 0x4036dd
mov edx, dword [ebp - 0xa948]
mov dword [ebp - 0xb0dc], edx
mov eax, dword [ebp - 0xb0dc]
push eax
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa948], 0
mov dword [ebp - 0xb0e0], 0xfffffff3
mov byte [ebp - 4], 0x9a
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x9b
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0x9c
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0x9d
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0x9e
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0x9f
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0e0]
jmp 0x403f43
jmp 0x4038c1
lea ecx, [ebp - 0x378]
call fcn.00406100
mov dword [ebp - 0xb210], eax
mov ecx, dword [ebp - 0xb210]
push ecx
mov edx, dword [ebp - 0xa524]
push edx
mov eax, dword [ebp - 0xa520]
push eax
call fcn.004040f0
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x4038c1
cmp dword [ebp - 0xa520], 0
je 0x4037ee
mov edx, dword [ebp - 0xa520]
mov dword [ebp - 0xb0e4], edx
mov eax, dword [ebp - 0xb0e4]
push eax
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa520], 0
cmp dword [ebp - 0xa948], 0
je 0x40381c
mov ecx, dword [ebp - 0xa948]
mov dword [ebp - 0xb0e8], ecx
mov edx, dword [ebp - 0xb0e8]
push edx
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa948], 0
mov dword [ebp - 0xb0ec], 0xfffffff3
mov byte [ebp - 4], 0xa0
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xa1
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0xa2
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0xa3
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0xa4
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xa5
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb0ec]
jmp 0x403f43
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x403a2d
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
je 0x4039c0
mov edx, dword [ebp - 0xb040]
xor eax, eax
add edx, dword [ebp - 0x214]
adc eax, dword [ebp - 0x210]
add edx, 2
adc eax, 0
push edx
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb0f0], eax
mov ecx, dword [ebp - 0xb0f0]
mov dword [ebp - 0xb050], ecx
mov edx, dword [ebp - 0xb040]
xor eax, eax
add edx, dword [ebp - 0x214]
adc eax, dword [ebp - 0x210]
add edx, 2
adc eax, 0
push edx
push 0
mov ecx, dword [ebp - 0xb050]
push ecx
call fcn.00529d40
add esp, 0xc
mov edx, dword [ebp - 0x214]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xb050]
push edx
call fcn.00529940
add esp, 0xc
mov eax, dword [ebp - 0xb040]
push eax
mov ecx, dword [ebp - 0xa948]
push ecx
mov edx, dword [ebp - 0x214]
add edx, dword [ebp - 0xb050]
push edx
call fcn.00529940
add esp, 0xc
mov eax, dword [ebp - 0xb040]
xor ecx, ecx
add eax, dword [ebp - 0x214]
adc ecx, dword [ebp - 0x210]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
mov dword [ebp - 0xb0f4], eax
mov ecx, dword [ebp - 0xb0f4]
push ecx
call fcn.0042a4c9
add esp, 4
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0xb050]
mov dword [edx], eax
jmp 0x403a2d
mov ecx, dword [ebp - 0xb040]
add ecx, 2
push ecx
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb0f8], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0xb0f8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xb040]
add ecx, 2
push ecx
push 0
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push eax
call fcn.00529d40
add esp, 0xc
mov ecx, dword [ebp - 0xb040]
push ecx
mov edx, dword [ebp - 0xa948]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
call fcn.00529940
add esp, 0xc
mov edx, dword [ebp - 0xb040]
xor eax, eax
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0xa520], 0
je 0x403a5b
mov ecx, dword [ebp - 0xa520]
mov dword [ebp - 0xb0fc], ecx
mov edx, dword [ebp - 0xb0fc]
push edx
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa520], 0
cmp dword [ebp - 0xa948], 0
je 0x403a89
mov eax, dword [ebp - 0xa948]
mov dword [ebp - 0xb100], eax
mov ecx, dword [ebp - 0xb100]
push ecx
call fcn.0042a4c9
add esp, 4
mov dword [ebp - 0xa948], 0
cmp dword [ebp + 0x1c], 0
je 0x403aba
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x403ab0
mov eax, dword [ebp + 0x20]
movzx ecx, byte [eax]
test ecx, ecx
je 0x403ab0
mov byte [ebp - 0x1e1], 1
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [ebp - 0x1e1]
test eax, eax
je 0x403b6e
mov dword [ebp - 0xb104], 0xfffffffe
mov byte [ebp - 4], 0xa6
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xa7
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0xa8
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0xa9
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0xaa
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xab
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb104]
jmp 0x403f43
jmp 0x403e9e
cmp dword [ebp + 0x1c], 0
je 0x403ba4
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp + 0x20], 0
je 0x403b9a
mov edx, dword [ebp + 0x20]
movzx eax, byte [edx]
test eax, eax
je 0x403b9a
mov byte [ebp - 0x1e1], 1
mov ecx, dword [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx edx, byte [ebp - 0x1e1]
test edx, edx
je 0x403c58
mov dword [ebp - 0xb108], 0xfffffffe
mov byte [ebp - 4], 0xac
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xad
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0xae
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0xaf
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0xb0
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xb1
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb108]
jmp 0x403f43
lea ecx, [ebp - 0x378]
call fcn.00406100
mov dword [ebp - 0xb214], eax
mov eax, dword [ebp - 0xb214]
push eax
mov ecx, dword [ebp - 0xa524]
push ecx
mov edx, dword [ebp - 0xa520]
push edx
call fcn.004040f0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x403d36
mov dword [ebp - 0xb10c], 0xfffffff3
mov byte [ebp - 4], 0xb2
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xb3
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0xb4
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0xb5
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0xb6
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xb7
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb10c]
jmp 0x403f43
movzx ecx, byte [ebp + 0x18]
test ecx, ecx
je 0x403e9e
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x403e32
mov eax, dword [ebp - 0xa524]
cdq
add eax, dword [ebp - 0x214]
adc edx, dword [ebp - 0x210]
add eax, 2
adc edx, 0
push eax
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb110], eax
mov eax, dword [ebp - 0xb110]
mov dword [ebp - 0xb054], eax
mov eax, dword [ebp - 0xa524]
cdq
add eax, dword [ebp - 0x214]
adc edx, dword [ebp - 0x210]
add eax, 2
adc edx, 0
push eax
push 0
mov ecx, dword [ebp - 0xb054]
push ecx
call fcn.00529d40
add esp, 0xc
mov edx, dword [ebp - 0x214]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xb054]
push edx
call fcn.00529940
add esp, 0xc
mov eax, dword [ebp - 0xa524]
push eax
mov ecx, dword [ebp - 0xa520]
push ecx
mov edx, dword [ebp - 0x214]
add edx, dword [ebp - 0xb054]
push edx
call fcn.00529940
add esp, 0xc
mov eax, dword [ebp - 0xa524]
cdq
add eax, dword [ebp - 0x214]
adc edx, dword [ebp - 0x210]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0xb114], ecx
mov edx, dword [ebp - 0xb114]
push edx
call fcn.0042a4c9
add esp, 4
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xb054]
mov dword [eax], ecx
jmp 0x403e9e
mov edx, dword [ebp - 0xa524]
add edx, 2
push edx
call fcn.0042a4d4
add esp, 4
mov dword [ebp - 0xb118], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xb118]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa524]
add edx, 2
push edx
push 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
call fcn.00529d40
add esp, 0xc
mov edx, dword [ebp - 0xa524]
push edx
mov eax, dword [ebp - 0xa520]
push eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
push edx
call fcn.00529940
add esp, 0xc
mov eax, dword [ebp - 0xa524]
cdq
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], edx
jmp 0x402218
mov dword [ebp - 0xb11c], 1
mov byte [ebp - 4], 0xb8
push 0
push 1
lea ecx, [ebp - 0x398]
call fcn.00406060
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xb9
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.00406060
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0xba
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.00406060
mov byte [ebp - 4], 6
mov byte [ebp - 4], 0xbb
push 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00406060
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0xbc
push 0
push 1
lea ecx, [ebp - 0x378]
call fcn.00406060
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xbd
push 0
push 1
lea ecx, [ebp - 0x20c]
call fcn.00406060
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb11c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052927b
mov esp, ebp
pop ebp
ret