Function at 0x4d4530
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7fc
cmp dword [ebp + 0x24], 0
mov eax, dword [ebp + 0x28]
push ebx
push esi
mov esi, dword [ebp + 0xc]
sete byte [esp + 0xb]
test eax, eax
push edi
je 0x4d455f
mov ecx, dword [eax]
test ecx, ecx
je 0x4d455f
mov byte [ecx], 0
and dword [eax + 4], 0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
fldz
mov eax, dword [esi]
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
call dword [eax + 0x24]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x700]
push eax
lea edi, [esp + 0x1c]
call fcn.00560d34
lea eax, [esp + 0x700]
push str.HTTPS
push eax
call fcn.005a1454
mov ebx, eax
neg ebx
sbb ebx, ebx
mov eax, 0x1bb
and ebx, 0xfffffe95
pop ecx
add ebx, eax
cmp ebx, eax
pop ecx
lea eax, [esp + 0x3f0]
push eax
push 0x5f2608
sete byte [esp + 0x1f]
call fcn.00560cd6
mov esi, dword [esp + 0x18]
cmp byte [esi], 0x3a
jne 0x4d4602
cmp byte [esi], 0
je 0x4d45db
inc esi
lea eax, [esp + 0x4f8]
push eax
push 0x2f
mov edx, esi
call fcn.00574d05
add esi, eax
lea eax, [esp + 0x4f8]
push eax
mov dword [esp + 0x1c], esi
call fcn.00591545
pop ecx
mov ebx, eax
lea esi, [esp + 0x88]
call fcn.00475df1
push 0x9c40
push ebx
lea eax, [esp + 0x3f8]
push eax
mov eax, esi
mov esi, dword [ebp + 0xc]
push eax
push esi
lea eax, [esp + 0x50]
push eax
call fcn.0044d0e1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4d463f
mov esi, dword [ebp + 8]
mov dword [esi], eax
jmp 0x4d4c15
cmp byte [esp + 0x17], 0
je 0x4d4665
lea eax, [esp + 0x88]
push eax
call fcn.0047638a
test al, al
jne 0x4d4665
mov esi, dword [ebp + 8]
mov dword [esi], 2
jmp 0x4d4c15
fld qword [0x60d398]
mov eax, dword [esi]
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
call dword [eax + 0x24]
cmp byte [esp + 0xf], 0
je 0x4d4698
push dword [ebp + 0x20]
call fcn.00401b98
test al, al
je 0x4d4657
push dword [ebp + 0x20]
call fcn.00401a29
mov dword [esp + 0x54], edx
jmp 0x4d46a3
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 4]
and dword [esp + 0x54], 0
mov esi, dword [ebp + 0x10]
push 5
mov dword [esp + 0x54], eax
mov edi, str.POST
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov byte [esp + 0x2e8], 0
je 0x4d46d1
mov esi, dword [ebp + 0x10]
push 4
mov edi, 0x5db30c
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4d46ed
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x4d46ed
push eax
push str.Content_Type:__s_r_n
lea eax, [esp + 0x2f0]
call fcn.0055a27f
pop ecx
pop ecx
mov edi, 0x1000
lea esi, [esp + 0x5c]
call fcn.00558f8c
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
test eax, eax
mov edx, 0x5e37bc
mov esi, 0x5daec0
je 0x4d4713
cmp byte [eax], 0
jne 0x4d4717
mov edi, esi
jmp 0x4d4719
mov edi, edx
mov ecx, dword [ebp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d4727
cmp byte [ecx], 0
jne 0x4d4729
mov edx, esi
test eax, eax
jne 0x4d472f
mov eax, esi
test ecx, ecx
jne 0x4d4735
mov ecx, esi
push edi
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x2f4]
push eax
push edx
push ecx
lea eax, [esp + 0x408]
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x7c]
push dword [ebp + 0x10]
push str._s__s_HTTP_1.1_r_nHost:__s_r_n_s_s_sContent_Length:__d_r_n_r_n_s_s
call fcn.004b068f
add esp, 0x28
cmp dword [esp + 0x5c], 0
je 0x4d4770
mov esi, dword [esp + 0x5c]
push 0x9c40
push dword [esp + 0x64]
lea eax, [esp + 0x38]
push esi
push dword [ebp + 0xc]
lea edi, [esp + 0x98]
push eax
call fcn.00475e7b
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x4d47a4
mov esi, dword [ebp + 8]
mov dword [esi], eax
jmp 0x4d4c0b
mov ecx, dword [ebp + 0xc]
fld qword [0x60d3a8]
mov eax, dword [ecx]
fst qword [esp + 0x70]
push ecx
push ecx
fstp qword [esp]
call dword [eax + 0x24]
mov ebx, 0x8000
push ebx
call fcn.0058f8c4
mov edi, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x38], eax
and dword [esp + 0x38], 0x80000000
mov dword [esp + 0x48], eax
and eax, 0x7fffffff
pop ecx
xor ecx, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
mov dword [esp + 0x30], ecx
fild qword [esp + 0x30]
or dword [esp + 0x10], 0xffffffff
cmp byte [esp + 0xf], cl
fchs
mov dword [esp + 0x40], edi
faddp st(1)
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
fmul qword [0x60d8d8]
fadd qword [0x60d198]
fdivr qword [0x60d8d0]
fstp qword [esp + 0x80]
je 0x4d485f
push 0x3e8
push dword [ebp + 0x20]
lea esi, [esp + 0x18]
call fcn.00447499
test al, al
jne 0x4d4855
mov esi, dword [ebp + 8]
mov dword [esi], 2
jmp 0x4d4bf0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
jmp 0x4d4874
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
cmp eax, ecx
mov dword [esp + 0x18], eax
jne 0x4d4874
mov dword [esp + 0x18], 0x5daec0
cmp dword [esp + 0x54], 0
ja 0x4d4883
test edi, edi
jbe 0x4d49b5
push dword [esp + 0x44]
push dword [esp + 0x44]
push 0
push ebx
call fcn.0055ab97
cmp byte [esp + 0xf], 0
mov esi, eax
mov dword [esp + 0x7c], edx
je 0x4d48b7
push esi
push dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
call fcn.00401f65
cmp eax, esi
jne 0x4d49fb
push 0x1d4c0
push esi
push dword [esp + 0x20]
lea eax, [esp + 0x3c]
push dword [ebp + 0xc]
lea edi, [esp + 0x98]
push eax
call fcn.00475e7b
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x4d49b5
cmp byte [esp + 0xf], al
jne 0x4d48ef
add dword [esp + 0x18], esi
fld qword [esp + 0x80]
sub dword [esp + 0x40], esi
fadd qword [esp + 0x70]
mov eax, dword [esp + 0x7c]
mov edi, dword [ebp + 0xc]
sbb dword [esp + 0x44], eax
mov eax, dword [edi]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
push ecx
push ecx
mov ecx, edi
fstp qword [esp]
call dword [eax + 0x24]
cmp byte [esp + 0xf], 0
je 0x4d499d
add dword [esp + 0x68], esi
mov eax, dword [esp + 0x7c]
adc dword [esp + 0x6c], eax
cmp dword [esp + 0x54], 0
ja 0x4d4941
cmp dword [esp + 0x50], 0x10000
jbe 0x4d497a
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
shrd eax, ecx, 0xa
shr ecx, 0xa
push ecx
mov ecx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
shrd eax, ecx, 0xa
shr ecx, 0xa
push ecx
push eax
lea eax, [esp + 0x508]
push 0x5f104c
push eax
call fcn.00401000
add esp, 0x18
jmp 0x4d498c
lea eax, [esp + 0x4f8]
push eax
mov eax, 0x5f1080
call fcn.00401016
mov eax, dword [edi]
push 1
lea ecx, [esp + 0x4fc]
push ecx
mov ecx, edi
call dword [eax + 0x20]
cmp dword [esp + 0x44], 0
ja 0x4d4883
jb 0x4d49b5
cmp dword [esp + 0x40], 0
ja 0x4d4883
cmp byte [esp + 0xf], 0
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x4d49d4
cmp dword [esp + 0x10], 0xffffffff
je 0x4d49d4
push dword [esp + 0x10]
call ebx
or dword [esp + 0x10], 0xffffffff
xor edi, edi
cmp dword [esp + 0x3c], edi
je 0x4d4a48
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x3c]
mov dword [esi], eax
cmp dword [esp + 0x10], 0xffffffff
je 0x4d4c01
push dword [esp + 0x10]
call ebx
jmp 0x4d4c01
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x4d4a10
push eax
call esi
or eax, 0xffffffff
cmp eax, 0xffffffff
mov edi, dword [ebp + 8]
mov dword [edi], 2
je 0x4d4a21
push eax
call esi
push dword [esp + 0x48]
call fcn.0058f8c9
pop ecx
push dword [esp + 0x5c]
call fcn.0058f8c9
pop ecx
lea eax, [esp + 0x88]
call fcn.004022d2
mov eax, edi
jmp 0x4d4c23
push 0x124f80
lea eax, [esp + 0x8c]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
call fcn.0044d204
mov eax, dword [eax]
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x4d4a90
mov esi, dword [ebp + 8]
push dword [esp + 0x24]
mov dword [esi], eax
call fcn.0058f8c9
pop ecx
jmp 0x4d49e5
mov eax, dword [esp + 0x24]
cmp eax, edi
mov ebx, 0x5daec0
jne 0x4d4a9f
mov eax, ebx
call fcn.004c8561
cmp eax, 0xc8
jl 0x4d4ab2
cmp eax, 0x12c
jl 0x4d4aba
mov dword [esp + 0x3c], 2
mov esi, dword [ebp + 0x28]
cmp esi, edi
je 0x4d4bdd
mov byte [esp + 0xf], 0
xor edi, edi
mov byte [esp + 0x17], 0
push 0x9c40
lea eax, [esp + 0x8c]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x34]
call fcn.0044d204
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4d4be1
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4d4b05
mov eax, ebx
push 0x10
push str.Content_Length:
push eax
call fcn.005a1594
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x24]
jne 0x4d4b36
test eax, eax
jne 0x4d4b23
mov eax, ebx
add eax, 0x10
push eax
call fcn.00591545
pop ecx
mov edi, eax
mov byte [esp + 0xf], 1
jmp 0x4d4b76
test eax, eax
jne 0x4d4b3c
mov eax, ebx
push 0x13
push str.Transfer_Encoding:
push eax
call fcn.005a1594
add esp, 0xc
test eax, eax
jne 0x4d4b76
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4d4b5a
mov eax, ebx
push 7
add eax, 0x13
push str.chunked
push eax
call fcn.005a1594
add esp, 0xc
test eax, eax
jne 0x4d4b76
mov byte [esp + 0x17], 1
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4d4b87
cmp byte [eax], 0
jne 0x4d4ad1
cmp byte [esp + 0xf], 0
je 0x4d4c2c
lea eax, [edi + 1]
push eax
call fcn.00559119
test edi, edi
jbe 0x4d4bd7
push 0xea60
push dword [esi]
lea eax, [esp + 0x90]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x40]
push eax
call fcn.0044d172
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4d4bd7
mov eax, dword [esi]
test eax, eax
je 0x4d4bd0
mov byte [eax], 0
and dword [esi + 4], 0
mov esi, dword [ebp + 8]
mov dword [esi], ecx
jmp 0x4d4be6
mov eax, dword [esi]
mov byte [edi + eax], 0
mov eax, dword [esp + 0x3c]
mov esi, dword [ebp + 8]
mov dword [esi], eax
push dword [esp + 0x24]
call fcn.0058f8c9
pop ecx
cmp dword [esp + 0x10], 0xffffffff
je 0x4d4c01
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x48]
call fcn.0058f8c9
pop ecx
push dword [esp + 0x5c]
call fcn.0058f8c9
pop ecx
lea eax, [esp + 0x88]
call fcn.004022d2
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
cmp byte [esp + 0x17], 0
je 0x4d4d96
push 0x9c40
jmp 0x4d4d10
mov eax, dword [esp + 0x24]
xor esi, esi
cmp eax, esi
mov dword [esp + 0x18], esi
jne 0x4d4c54
mov eax, 0x5daec0
lea ecx, [esp + 0x18]
push ecx
push 0x5f26dc
push eax
call fcn.0059258a
add esp, 0xc
cmp eax, 1
jne 0x4d4d7e
cmp dword [esp + 0x18], esi
sete bl
cmp dword [esp + 0x18], esi
jbe 0x4d4cd0
mov edi, 0x1000
cmp dword [esp + 0x18], edi
ja 0x4d4c8c
mov edi, dword [esp + 0x18]
push edi
lea esi, [esp + 0x28]
call fcn.00559119
push 0x9c40
push dword [esp + 0x28]
lea eax, [esp + 0x90]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x60]
push eax
call fcn.0044d172
mov eax, dword [eax]
test eax, eax
push dword [esp + 0x24]
jne 0x4d4d8c
mov eax, dword [ebp + 0x28]
call fcn.00559028
sub dword [esp + 0x18], edi
jne 0x4d4c7d
test bl, bl
lea eax, [esp + 0x88]
jne 0x4d4d3d
and dword [esp + 0x30], 0
mov ebx, 0x9c40
push ebx
push dword [esp + 0x28]
lea esi, [esp + 0x38]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x50]
push eax
push 2
pop edi
call fcn.00476978
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x30], eax
jne 0x4d4be1
push ebx
lea eax, [esp + 0x8c]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x34]
call fcn.0044d204
cmp dword [esp + 0x30], 0
je 0x4d4c41
mov eax, dword [esp + 0x30]
jmp 0x4d4be1
mov esi, 0x9c40
jmp 0x4d4d60
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4d4bdd
cmp byte [eax], 0
je 0x4d4bdd
lea eax, [esp + 0x88]
push esi
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x34]
call fcn.0044d204
mov eax, dword [eax]
test eax, eax
je 0x4d4d44
jmp 0x4d4be1
mov esi, dword [ebp + 8]
mov dword [esi], 2
jmp 0x4d4be6
mov esi, dword [ebp + 8]
mov dword [esi], eax
jmp 0x4d4bea
xor ebx, ebx
inc ebx
push 0x9c40
lea eax, [esp + 0x8c]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x34]
call fcn.0044d204
cmp dword [esp + 0x40], ebx
je 0x4d4dde
lea edi, [esp + 0x24]
mov eax, esi
call fcn.005590ca
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4d4bdd
cmp byte [eax], 0
jne 0x4d4d99
jmp 0x4d4bdd
mov eax, dword [esi]
test eax, eax
je 0x4d4deb
mov byte [eax], 0
and dword [esi + 4], 0
mov esi, dword [ebp + 8]
mov dword [esi], ebx
jmp 0x4d4be6