Function at 0x40b4d0
Capabilities:
Check http status code
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov dword [esp + 0x28], 0x7ea69291
mov dword [esp + 0x2c], 0x9290aca8
lea eax, [esp + 0x30]
mov dword [esp + 8], eax
mov byte [esp + 0x30], 0x28
mov dword [esp + 0x31], 0
mov dword [esp + 0x34], 0
xor edx, edx
mov eax, 0xffffffff
mov ecx, 1
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp], eax
mov esi, edx
and esi, 7
mov edi, ecx
sub edi, esi
movzx esi, byte [esp + edx + 0x28]
mov ebx, edx
xor ebx, 0x17c31308
mov eax, dword [esp]
or eax, 0x17c31308
add eax, ebx
add eax, edi
xor eax, esi
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
mov edi, ebx
and edi, 0x59aa7ac5
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, 2
imul esi, edi
mov eax, ebx
and eax, 2
or edi, 2
imul edi, eax
lea eax, [edi + esi]
add eax, 0x8c173e16
mov esi, ebx
xor esi, eax
xor ebx, 0x47
and ebx, eax
mov eax, dword [esp]
xor esi, 0x38
add ebx, ebx
sub ebx, esi
add bl, 0xea
mov byte [esp + edx + 0x28], bl
inc edx
dec eax
add ecx, 2
cmp edx, 0x10
jne 0x40b520
lea edi, [esp + 0x9b]
lea edx, [esp + 0x28]
mov ecx, 2
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa3]
xor edx, edx
xor ecx, ecx
mov eax, dword [esp + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
movzx ecx, byte [esp + 0x30]
mov byte [esp + 0xa3], cl
mov dword [esp + 0x28], 0x33cd31f3
mov dword [esp + 0x2c], 0x37c235ca
mov dword [esp + 0x30], 0xcb34c92d
mov dword [esp + 0x34], 0xcff3cd38
mov dword [esp + 0x38], 0xc34bc114
mov dword [esp + 0x3c], 0xc723c534
mov dword [esp + 0x40], 0xdbfad912
mov dword [esp + 0x44], 0xdf2edd3d
mov dword [esp + 0x48], 0xd32ed120
mov dword [esp + 0x4c], 0xd735d52d
mov dword [esp + 0x50], 0xeb1ee909
mov dword [esp + 0x54], 0xef11ed15
mov dword [esp + 0x58], 0xe3dde11e
mov dword [esp + 0x5c], 0xe7dbe56c
mov dword [esp + 0x60], 0xfb0df90f
mov dword [esp + 0x64], 0xffc3fd0b
mov dword [esp + 0x68], 0xf30df116
mov dword [esp + 0x6c], 0xf70bf506
mov dword [esp + 0x70], 0x8b7f89b5
mov dword [esp + 0x74], 0x8f728d7e
mov dword [esp + 0x78], 0x837c8165
mov dword [esp + 0x7c], 0x87798567
mov dword [esp + 0x80], 0x9b7f997c
mov dword [esp + 0x84], 0x9f839d78
mov dword [esp + 0x88], 0x9392918a
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov ecx, 0x4b996787
nop
nop
nop
movzx esi, byte [esp + edx + 0x28]
lea edi, [edx - 0x4b996788]
and edi, esi
add edi, edi
mov ebx, esi
sub ebx, edi
lea edi, [edx + ebx]
add edi, 0xb4669878
or edi, ecx
mov ebx, edi
not ebx
mov eax, edi
and eax, 2
or edi, 0x4b996702
inc edi
imul edi, eax
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
mov eax, esi
and eax, 0x58
xor esi, 0x4342eb58
lea eax, [esi + eax*2]
add eax, edi
sub eax, ebx
add eax, edx
add eax, 0x7123ad20
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xb8
mov byte [esp + edx + 0x28], al
inc edx
dec ecx
cmp edx, 0x6c
jne 0x40b6c0
mov dword [esp + 0x10], 0x6383614f
mov dword [esp + 0x14], 0x678f65f4
mov word [esp + 0x18], 0x6968
mov dword [esp + 0x1a], 0
mov dword [esp + 0x1e], 0
mov dword [esp + 0x22], 0
mov word [esp + 0x26], 0
mov ecx, 0xb0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0xa0]
mov edi, ecx
and edi, edx
mov eax, edi
or eax, 0xfffffffd
inc eax
mov esi, edi
and esi, 0xfffffffd
imul esi, eax
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
sub esi, edi
lea eax, [ecx + edx]
add eax, 0xf5a63e00
mov edx, esi
and edx, eax
xor esi, eax
lea eax, [esi + edx*2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x30
mov byte [esp + ecx - 0xa0], al
inc ecx
cmp ecx, 0xc8
jne 0x40b770
lea eax, [esp + 4]
lea ecx, [esp + 0x10]
push 0
push eax
push 8
lea eax, [esp + 0xa7]
push eax
lea eax, [esp + 0x38]
push eax
push ecx
push dword [ebp + 8]
call fcn.0040c7a0
add esp, 0x1c
test al, al
je 0x40b94e
mov word [esp + 0x28], 0x3a3f
mov byte [esp + 0x2a], 0xaa
mov dword [esp + 0x2b], 0
mov byte [esp + 0x2f], 0
mov eax, 0x7ffee865
mov ecx, 0x1179b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x11773]
lea esi, [ecx - 1]
mov edi, esi
and edi, edx
add edi, edi
sub edi, edx
add edi, eax
add edi, 0x80000000
and edi, esi
add edi, edi
sub edi, edx
add edi, eax
or edi, eax
add edi, ecx
add edi, edi
lea ebx, [eax - 0x80000000]
and ebx, edi
not edi
and edi, esi
sub edx, ebx
add edx, edi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x10]
add dl, 0xca
mov byte [esp + ecx - 0x11773], dl
dec eax
inc ecx
cmp ecx, 0x117a3
jne 0x40b820
xor ecx, ecx
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
movzx edx, byte [eax + ecx]
mov dh, byte [esp + ecx + 0x28]
test dl, dl
je 0x40b891
inc ecx
cmp dl, dh
je 0x40b880
mov bl, 1
cmp dl, dh
je 0x40bc36
mov dword [esp + 0x28], 0x7f696e7b
mov dword [esp + 0x2c], 0x8f727075
mov dword [esp + 0x30], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x28]
mov edx, eax
xor edx, 0x7efdb23e
mov esi, eax
or esi, 1
and esi, edx
mov edx, esi
and edx, 7
xor esi, 0xf8ba3777
lea edx, [esi + edx*2]
mov esi, eax
and esi, 0xfffffffe
add edx, esi
add edx, 0x8848164a
xor edx, ecx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x10]
add cl, 0xb9
mov byte [esp + eax + 0x28], cl
inc eax
cmp eax, 0xc
jne 0x40b8c0
mov eax, dword [esp + 4]
movzx ebx, byte [esp + 0x28]
mov ecx, eax
test bl, bl
lea esi, [esp + 0x28]
je 0x40b955
mov edx, eax
mov ecx, eax
mov edi, esi
jmp 0x40b93c
inc ecx
mov edi, esi
mov edx, ecx
movzx ebx, byte [edi]
test bl, bl
je 0x40b955
mov bh, byte [edx]
test bh, bh
je 0x40ba9f
cmp bh, bl
jne 0x40b930
inc edx
inc edi
jmp 0x40b935
xor ebx, ebx
jmp 0x40bc3f
xor ebx, ebx
test ecx, ecx
je 0x40bc36
mov dword [esp + 0x28], 0xd6dfccde
mov dword [esp + 0x2c], 0xc3d7978d
mov dword [esp + 0x30], 0x9b9cdac7
mov dword [esp + 0x34], 0xcad2d8c2
mov dword [esp + 0x38], 0x43a480d9
lea eax, [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ebx
not esi
mov eax, ebx
and eax, 0xe
mov edi, ebx
and edi, 0xc
and esi, 2
imul esi, edi
mov ecx, ebx
xor ecx, 0xc
and ecx, eax
mov edx, eax
xor edx, 2
sub eax, edi
add eax, edx
mov edx, eax
not edx
and edx, ecx
mov edi, ecx
not edi
and edi, eax
imul edi, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
movzx ecx, byte [esp + ebx + 0x28]
add eax, esi
add eax, edi
mov edx, ebx
xor edx, 0xcbbb260e
mov esi, eax
and esi, edx
xor edx, eax
lea edx, [edx + esi*2]
mov eax, edx
and eax, ecx
add ecx, edx
mov esi, ecx
not esi
lea eax, [esi + eax*2]
and eax, edx
mov edx, eax
or edx, 0xfffffffd
inc edx
mov esi, eax
and esi, 0xfffffffd
imul esi, edx
mov edx, eax
xor edx, 0xfffffffd
or eax, 2
and edx, eax
imul edx, eax
sub esi, edx
add esi, ecx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
add al, 0x9e
mov byte [esp + ebx + 0x28], al
inc ebx
cmp ebx, 0x20
jne 0x40b9b0
lea eax, [esp + 0x28]
lea esi, [esp + 0x10]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 4]
movzx ebx, byte [esp + 0x10]
test bl, bl
je 0x40baa6
mov edi, ecx
mov edx, esi
jmp 0x40ba8c
inc edi
mov edx, esi
mov ecx, edi
movzx ebx, byte [edx]
test bl, bl
je 0x40baa8
movzx eax, byte [ecx]
test al, al
je 0x40bc21
cmp al, bl
jne 0x40ba80
inc ecx
inc edx
jmp 0x40ba85
xor ebx, ebx
jmp 0x40bc36
mov edi, ecx
test edi, edi
je 0x40bc21
mov dword [esp + 8], edi
mov word [esp + 0x28], 0x8794
mov byte [esp + 0x2a], 0xb8
mov dword [esp + 0x2b], 0
mov dword [esp + 0x2e], 0
mov ecx, 0x670fa391
mov edx, 0xb387d1c8
lea esi, [esp + 0x28]
nop
nop
mov dword [esp], esi
movzx ebx, byte [esi]
mov edi, edx
or edi, ebx
mov eax, edx
not eax
add eax, ecx
and eax, ebx
lea ebx, [eax + eax]
not ebx
add ebx, eax
xor eax, edi
and eax, ebx
lea edi, [eax + eax]
not edi
add edi, eax
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xc]
mov eax, edi
not eax
or eax, 0xe8b6bc7e
lea ebx, [edi + eax]
inc ebx
mov eax, ebx
and eax, 0xfffffffd
mov esi, ebx
and esi, 2
or ebx, 2
imul ebx, esi
xor esi, 2
imul esi, eax
add ebx, esi
mov eax, ebx
xor eax, edi
xor edi, 0xe8b6bc7e
and edi, ebx
mov esi, edi
and esi, 2
mov ebx, edi
or edi, 2
imul edi, esi
xor esi, 2
and ebx, 0xfffffffc
imul ebx, esi
add edi, ebx
mov esi, eax
xor esi, edi
xor eax, 0x7e
and eax, edi
xor esi, 0x81
add eax, eax
sub eax, esi
mov esi, dword [esp]
mov byte [esi], al
inc esi
add ecx, 0xfffffffe
dec edx
cmp ecx, 0x670fa37d
jne 0x40bae0
movzx ebx, byte [esp + 0x28]
test bl, bl
je 0x40bbba
mov edi, dword [esp + 8]
add edi, 0x13
lea eax, [esp + 0x28]
mov ecx, edi
mov esi, edi
mov edx, eax
jmp 0x40bbac
inc edi
mov edx, eax
mov ecx, edi
movzx ebx, byte [edx]
test bl, bl
je 0x40bbc8
mov bh, byte [ecx]
test bh, bh
je 0x40bc21
cmp bh, bl
jne 0x40bba0
inc ecx
inc edx
jmp 0x40bba5
mov byte [0x44db80], 1
mov eax, 0x44db82
jmp 0x40bc2b
test edi, edi
je 0x40bc21
mov byte [0x44db80], 1
mov dword [esp + 0x28], 0
mov eax, 0x44db82
cmp esi, edi
jae 0x40bc2b
xor ebx, ebx
cmp byte [esi], 0
je 0x40bc25
lea eax, [esp + 0x28]
push eax
push edi
push esi
call fcn.0040dd70
add esp, 0xc
movzx edx, word [esp + 0x28]
lea ecx, [ebx + 2]
mov word [ebx + 0x44db82], dx
cmp ebx, 0x1fb
ja 0x40bc19
add esi, eax
mov ebx, ecx
cmp esi, edi
jb 0x40bbe6
lea eax, [ecx + 0x44db82]
jmp 0x40bc2b
xor ebx, ebx
jmp 0x40bc32
lea eax, [ebx + 0x44db82]
mov word [eax], 0
mov bl, 1
mov eax, dword [esp + 4]
push eax
call fcn.0043c6e0
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret