Function at 0x41b7d0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c3831
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
push ebx
push esi
push edi
mov eax, dword [0x6b5068]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 4], 0
lea ecx, [ebx + 0x34]
mov dword [ebp - 0x70], 0
mov eax, dword [ebx + 0x34]
call dword [eax + 0x44]
mov edi, dword [ebp + 0x3c]
lea ecx, [ebx + 0x44]
mov eax, dword [edi + 4]
mov dword [ebx + 0x38], eax
mov eax, dword [edi + 8]
mov dword [ebx + 0x3c], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x44]
call dword [eax + 0x44]
lea eax, [edi + 0x10]
push eax
lea ecx, [ebx + 0x44]
call fcn.00402510
mov dword [ebp - 0x64], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x64], vtable.CVolObject.0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x64], vtable.rg_n113::rg_n2478.0
mov dword [ebp - 4], 2
push ecx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x64], vtable.rg_n113::rg_n2053.0
call fcn.004129d0
mov dword [ebp - 4], 4
mov dword [ebp - 0x9c], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x9c], vtable.CVolObject.0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov byte [ebp - 4], 5
mov dword [ebp - 0x9c], vtable.rg_n113::rg_n2478.0
mov byte [ebp - 4], 6
push ecx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x9c], vtable.rg_n113::rg_n2053.0
call fcn.004129d0
mov byte [ebp - 4], 8
mov dword [ebp - 0xc8], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0xc8], vtable.CVolObject.0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov byte [ebp - 4], 9
mov dword [ebp - 0xc8], vtable.rg_n113::rg_n2478.0
mov byte [ebp - 4], 0xa
push ecx
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xc8], vtable.rg_n113::rg_n2053.0
call fcn.004129d0
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x64]
or dword [ebp - 0x60], 1
or dword [ebp - 0x98], 1
or dword [ebp - 0xc4], 1
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xc8]
push eax
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
lea eax, [ebp - 0x2f4]
mov ecx, ebx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 2
push dword [ebp + 0xc]
push eax
call fcn.00418e50
mov byte [ebp - 4], 0xd
mov esi, dword [eax + 0x148]
mov ebx, dword [eax + 0x14c]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2f4]
call fcn.0040e6a0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xbc]
call fcn.00412840
mov byte [ebp - 4], 8
mov dword [ebp - 0xc8], vtable.CVolObject.0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x90]
call fcn.00412840
mov byte [ebp - 4], 4
mov dword [ebp - 0x9c], vtable.CVolObject.0
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x58]
call fcn.00412840
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x64], vtable.CVolObject.0
call fcn.004018c0
mov dword [ebp - 4], 0x17
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x198], str.PATCH
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x178]
call fcn.004018c0
mov byte [ebp - 4], 0x19
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x16c], str.CONNECT
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x14c]
call fcn.004018c0
mov byte [ebp - 4], 0x1b
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x140], str.TRACE
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x120]
call fcn.004018c0
mov byte [ebp - 4], 0x1d
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x114], str.DELETE
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xf4]
call fcn.004018c0
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0xf4], vtable.CWConstString.0
mov dword [ebp - 0xe8], str.OPTIONS
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x38]
call fcn.004018c0
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x4dda68
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x64]
call fcn.004018c0
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.HEAD
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x9c]
call fcn.004018c0
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x9c], vtable.CWConstString.0
mov dword [ebp - 0x90], str.POST
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xc8]
call fcn.004018c0
mov byte [ebp - 4], 0x27
mov dword [ebp - 0xc8], vtable.CWConstString.0
mov dword [ebp - 0xbc], 0x4dda48
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xc8]
push eax
push 9
push 0
call fcn.00426bd0
mov ecx, dword [ebp - 0x68]
add esp, 0x2c
push eax
lea ecx, [ecx + 0xc]
call fcn.004184e0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xc8]
call fcn.00401b70
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x9c]
call fcn.00401b70
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x64]
call fcn.00401b70
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x38]
call fcn.00401b70
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xf4]
call fcn.00401b70
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x120]
call fcn.00401b70
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x14c]
call fcn.00401b70
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x178]
call fcn.00401b70
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00401b70
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x20]
add eax, 8
mov dword [ebp + 0x3c], eax
mov eax, dword [eax]
test eax, eax
jne 0x41bc3d
call fcn.0044a4e0
mov ecx, dword [ebp + 0x3c]
mov dword [ecx], eax
push 0
push 0x2c
push eax
call fcn.0044e3a0
mov eax, dword [0x6b76bc]
add esp, 0xc
cmp dword [eax + 0x14], 0
jne 0x41bc7d
mov ecx, dword [edi + 0xc]
test ecx, ecx
jne 0x41bc69
cmp dword [edi + 0x24], ecx
mov ecx, 0x4dd138
je 0x41bc69
mov ecx, dword [edi + 0x1c]
call fcn.00426070
neg eax
push ecx
sbb eax, eax
add eax, 5
push eax
push edi
call fcn.0041de50
call fcn.0041df70
test edx, edx
jl 0x41bc9b
jg 0x41bc8c
test eax, eax
je 0x41bc9b
call fcn.0041df70
cmp edx, ebx
jl 0x41bcb3
jg 0x41bc9b
cmp eax, esi
jb 0x41bcb3
call fcn.0041df70
cmp edx, ebx
jl 0x41bcb3
jg 0x41bcaa
cmp eax, esi
jbe 0x41bcb3
push ecx
push 4
push edi
call fcn.0041de50
mov edi, dword [ebp - 0x68]
mov esi, dword [edi + 0x20]
mov eax, dword [esi + 8]
test eax, eax
jne 0x41bcc8
call fcn.0044a4e0
mov dword [esi + 8], eax
push 0
push 0x2711
push eax
call fcn.0044e3a0
add esp, 0xc
test eax, eax
jne 0x41bcfe
mov eax, dword [esi + 8]
test eax, eax
jne 0x41bceb
call fcn.0044a4e0
mov dword [esi + 8], eax
push 0x41c7b0
push 0x4e2b
push eax
call fcn.0044e3a0
add esp, 0xc
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.0041c8b0
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x28], vtable.CVolObject.0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 0x3b
mov dword [ebp - 0x28], vtable.CVolMem.0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0x40
mov dword [ebp - 4], 0x3c
lea eax, [ebx + 0x54]
or dword [ebp - 0x24], 1
lea ecx, [edi + 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004182e0
mov byte [ebp - 4], 0
mov dword [ebp - 0x28], vtable.CVolMem.0
mov dword [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x41bdaf
mov eax, dword [ebp - 0x28]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x41bdaa
mov ecx, 0x6b75a8
call fcn.00428020
jmp 0x41bdaf
lea ecx, [ebp - 0x28]
call eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0
xor ecx, ecx
test dword [ebx + 0x78], 0xfffffffc
mov dword [ebp - 0x28], vtable.CVolObject.0
mov dword [ebp + 0x3c], ecx
jbe 0x41c60f
mov dword [ebp - 0x9c], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x9c], vtable.CVolObject.0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 4], 0x3e
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x8c], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x9c], vtable.CWString.0
mov dword [ebp + 0x2c], eax
mov dword [ebp - 0x8c], vtable.CVolObject.0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x8c], vtable.CVolMem.0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x74], 0x40
mov byte [ebp - 4], 0x40
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x74], 0xfe
mov dword [ebp - 4], 0x41
cmp dword [ebx + 0x78], 0
jne 0x41be9b
xor edx, edx
jmp 0x41be9e
mov edx, dword [ebx + 0x70]
mov edx, dword [edx + ecx*4]
lea ecx, [ebp - 0xc8]
call fcn.004018c0
mov byte [ebp - 4], 0x42
test edx, edx
mov eax, 0x4dd138
mov dword [ebp - 0xc8], vtable.CWString.0
cmovne eax, edx
lea ecx, [ebp - 0xc8]
push eax
call fcn.00428990
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x44]
cmp eax, fcn.00401400
je 0x41beec
lea ecx, [ebp - 0x9c]
call eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x44]
cmp eax, fcn.00401400
je 0x41bf28
lea ecx, [ebp - 0x8c]
call eax
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x8c]
call fcn.00402510
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0xb8]
mov dword [ebp + 0x28], eax
mov dword [ebp - 0xb8], vtable.CVolMem.0
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x41bf84
mov eax, dword [ebp - 0xb8]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x41bf7c
mov ecx, 0x6b75a8
call fcn.00428020
jmp 0x41bf84
lea ecx, [ebp - 0xb8]
call eax
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa8], 0
mov byte [ebp - 4], 0x44
mov dword [ebp - 0xb8], vtable.CVolObject.0
mov byte [ebp - 4], 0x41
mov dword [ebp - 0x64], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0xc8], vtable.CVolObject.0
mov dword [ebp - 0x64], vtable.CVolObject.0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x64], vtable.CWString.0
mov dword [ebp + 0x24], eax
mov dword [ebp - 0x54], vtable.CVolObject.0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov byte [ebp - 4], 0x48
mov dword [ebp - 0x54], vtable.CVolMem.0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x3c], 0x40
mov byte [ebp - 4], 0x49
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x3c], 0xfe
mov byte [ebp - 4], 0x4a
mov dword [ebp - 0x38], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x38], vtable.CVolObject.0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x38], vtable.CWString.0
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x28], vtable.CVolObject.0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 0x4c
mov dword [ebp - 0x28], vtable.CVolMem.0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0x40
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x10], 0xfe
mov byte [ebp - 4], 0x4e
mov esi, dword [ebp - 0x90]
test esi, esi
jne 0x41c0e8
cmp dword [ebp - 0x78], esi
je 0x41c1a2
mov esi, dword [ebp - 0x80]
test esi, esi
je 0x41c1a2
cmp word [esi], 0
je 0x41c1a2
push 0x3a
push esi
call fcn.0049af41
mov edi, eax
add esp, 8
test edi, edi
je 0x41c1a2
test byte [ebp - 0x60], 1
jne 0x41c125
mov ecx, edi
sub ecx, esi
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x64]
call fcn.00428a70
lea ecx, [ebp - 0x64]
call fcn.00425b80
test byte [ebp - 0x34], 1
jne 0x41c1a2
mov eax, dword [ebp - 0x2c]
lea esi, [edi + 2]
mov ecx, dword [ebp - 0x1c]
test eax, eax
jne 0x41c144
cmp dword [ebp - 0x14], 0
mov eax, 0x4dd138
cmovne eax, ecx
cmp esi, eax
je 0x41c19a
mov dword [ebp - 0x2c], 0
test ecx, ecx
je 0x41c172
mov eax, dword [ebp - 0x28]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x41c16d
mov ecx, 0x6b75a8
call fcn.00428020
jmp 0x41c172
lea ecx, [ebp - 0x28]
call eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
test esi, esi
je 0x41c19a
cmp word [esi], 0
je 0x41c19a
push esi
lea ecx, [ebp - 0x28]
call fcn.00427490
lea ecx, [ebp - 0x38]
call fcn.00425b80
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x48]
test ecx, ecx
je 0x41c1b3
mov eax, ecx
jmp 0x41c1bd
test edi, edi
mov eax, 0x4dd138
cmovne eax, ebx
mov edx, str.Set_Cookie
mov si, word [eax]
cmp si, word [edx]
jne 0x41c1e8
test si, si
je 0x41c1e4
mov si, word [eax + 2]
cmp si, word [edx + 2]
jne 0x41c1e8
add eax, 4
add edx, 4
test si, si
jne 0x41c1c2
xor eax, eax
jmp 0x41c1ed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41c220
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x41c205
cmp dword [ebp - 0x14], 0
mov eax, 0x4dd138
cmovne eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
add eax, 0x34
push 1
push eax
call fcn.0041d2e0
mov edi, dword [ebp - 0x40]
add esp, 0xc
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x41c228
mov eax, ecx
jmp 0x41c232
test edi, edi
mov eax, 0x4dd138
cmovne eax, ebx
mov edx, str.Location
mov si, word [eax]
cmp si, word [edx]
jne 0x41c25d
test si, si
je 0x41c259
mov si, word [eax + 2]
cmp si, word [edx + 2]
jne 0x41c25d
add eax, 4
add edx, 4
test si, si
jne 0x41c237
xor eax, eax
jmp 0x41c262
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41c2a3
mov esi, dword [ebp + 8]
sub esi, 0xffffff80
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x34]
lea ecx, [esi + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
call dword [eax + 0x44]
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x10]
call fcn.00402510
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x41c2ab
mov eax, ecx
jmp 0x41c2b5
test edi, edi
mov eax, 0x4dd138
cmovne eax, ebx
mov edx, str.Content_Type
nop word [eax + eax]
mov si, word [eax]
cmp si, word [edx]
jne 0x41c2e6
test si, si
je 0x41c2e2
mov si, word [eax + 2]
cmp si, word [edx + 2]
jne 0x41c2e6
add eax, 4
add edx, 4
test si, si
jne 0x41c2c0
xor eax, eax
jmp 0x41c2eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41c32f
mov esi, dword [ebp + 8]
add esi, 0xc0
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x34]
lea ecx, [esi + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
call dword [eax + 0x44]
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x10]
call fcn.00402510
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x41c337
mov eax, ecx
jmp 0x41c341
test edi, edi
mov eax, 0x4dd138
cmovne eax, ebx
mov edx, str.Content_MD5
mov si, word [eax]
cmp si, word [edx]
jne 0x41c36c
test si, si
je 0x41c368
mov si, word [eax + 2]
cmp si, word [edx + 2]
jne 0x41c36c
add eax, 4
add edx, 4
test si, si
jne 0x41c346
xor eax, eax
jmp 0x41c371
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41c3b5
mov esi, dword [ebp + 8]
add esi, 0xec
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x34]
lea ecx, [esi + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
call dword [eax + 0x44]
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x10]
call fcn.00402510
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x41c3bd
mov eax, ecx
jmp 0x41c3c7
test edi, edi
mov eax, 0x4dd138
cmovne eax, ebx
mov edx, str.Content_Encoding
nop dword [eax]
mov si, word [eax]
cmp si, word [edx]
jne 0x41c3f6
test si, si
je 0x41c3f2
mov si, word [eax + 2]
cmp si, word [edx + 2]
jne 0x41c3f6
add eax, 4
add edx, 4
test si, si
jne 0x41c3d0
xor eax, eax
jmp 0x41c3fb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41c43f
mov esi, dword [ebp + 8]
add esi, 0x118
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x34]
lea ecx, [esi + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
call dword [eax + 0x44]
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x10]
call fcn.00402510
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jne 0x41c44d
test edi, edi
mov ecx, 0x4dd138
cmovne ecx, ebx
mov eax, str.Content_Length
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x41c478
test dx, dx
je 0x41c474
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x41c478
add ecx, 4
add eax, 4
test dx, dx
jne 0x41c452
xor eax, eax
jmp 0x41c47d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41c4ad
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x41c495
cmp dword [ebp - 0x14], 0
mov eax, 0x4dd138
cmovne eax, dword [ebp - 0x1c]
mov ecx, eax
call fcn.004283d0
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
jmp 0x41c4b0
mov ebx, dword [ebp + 8]
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x28]
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x28], vtable.CVolMem.0
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x41c4eb
mov eax, dword [ebp - 0x28]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x41c4e6
mov ecx, 0x6b75a8
call fcn.00428020
jmp 0x41c4eb
lea ecx, [ebp - 0x28]
call eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0x28], vtable.CVolObject.0
mov byte [ebp - 4], 0x4a
mov dword [ebp - 0x38], vtable.CVolObject.0
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x54]
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x54], vtable.CVolMem.0
mov byte [ebp - 4], 0x54
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x41c551
mov eax, dword [ebp - 0x54]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x41c54c
mov ecx, 0x6b75a8
call fcn.00428020
jmp 0x41c551
lea ecx, [ebp - 0x54]
call eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x54], vtable.CVolObject.0
mov byte [ebp - 4], 0x41
mov dword [ebp - 0x64], vtable.CVolObject.0
mov dword [ebp - 4], 0x55
lea eax, [ebp - 0x8c]
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x8c], vtable.CVolMem.0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x41c5c6
mov eax, dword [ebp - 0x8c]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x41c5be
mov ecx, 0x6b75a8
call fcn.00428020
jmp 0x41c5c6
lea ecx, [ebp - 0x8c]
call eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
mov byte [ebp - 4], 0x55
mov dword [ebp - 0x8c], vtable.CVolObject.0
mov byte [ebp - 4], 0
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ebx + 0x78]
inc ecx
shr eax, 2
mov dword [ebp - 0x9c], vtable.CVolObject.0
mov dword [ebp + 0x3c], ecx
cmp ecx, eax
jl 0x41bde1
mov edi, dword [ebp - 0x68]
mov esi, dword [edi + 0x20]
mov dword [ebp + 0x3c], 0
mov eax, dword [esi + 8]
test eax, eax
jne 0x41c628
call fcn.0044a4e0
mov dword [esi + 8], eax
lea ecx, [ebp + 0x3c]
push ecx
push 0x200014
push eax
call fcn.0044a4c0
mov eax, dword [ebp + 0x3c]
lea esi, [ebx + 0x80]
mov dword [ebx + 0xac], eax
add esp, 0xc
mov ecx, dword [esi + 0xc]
xor eax, eax
test ecx, ecx
je 0x41c65a
cmp word [ecx], ax
sete al
jmp 0x41c661
cmp dword [esi + 0x24], 2
setle al
test eax, eax
je 0x41c71c
mov dword [ebp - 4], 0x58
lea ecx, [ebp - 0xc8]
call fcn.004018c0
mov edi, dword [edi + 0x20]
mov dword [ebp + 0x3c], 0
mov dword [ebp - 0x70], 5
mov eax, dword [edi + 8]
test eax, eax
jne 0x41c69b
call fcn.0044a4e0
mov dword [edi + 8], eax
lea ecx, [ebp + 0x3c]
push ecx
push 0x10001f
push eax
call fcn.0044a4c0
mov eax, dword [ebp + 0x3c]
add esp, 0xc
test eax, eax
je 0x41c6c2
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0xc8]
call fcn.00428bb0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x44]
mov eax, dword [ebp - 0xc4]
lea ecx, [esi + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xc0]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0xbc]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
call dword [eax + 0x44]
lea eax, [ebp - 0xb8]
push eax
lea ecx, [esi + 0x10]
call fcn.00402510
mov eax, 5
mov dword [ebp - 0x70], eax
and eax, 0xfffffffb
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc8]
call fcn.00401b70
mov edi, dword [ebp - 0x68]
mov esi, dword [edi + 0x20]
mov dword [ebp + 0x3c], 0
mov eax, dword [esi + 8]
test eax, eax
jne 0x41c735
call fcn.0044a4e0
mov dword [esi + 8], eax
lea ecx, [ebp + 0x3c]
push ecx
push 0x200002
push eax
call fcn.0044a4c0
mov eax, dword [ebp + 0x3c]
xorps xmm0, xmm0
mov dword [ebx + 0xb0], eax
add esp, 0xc
mov esi, dword [edi + 0x20]
movlpd qword [ebp - 0x6c], xmm0
mov eax, dword [esi + 8]
test eax, eax
jne 0x41c76a
call fcn.0044a4e0
mov dword [esi + 8], eax
lea ecx, [ebp - 0x6c]
push ecx
push 0x600032
push eax
call fcn.0044a4c0
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
mov edx, dword [ebp - 0x68]
mov dword [ebx + 0xb8], ecx
mov dword [ebx + 0xbc], edx
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x3c