Function at 0x4012ad
Capabilities:
Check http status code

Disassembly:
jmp 0x417324
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov ecx, dword [edi + 0xf0]
mov eax, dword [edi + 0x4a4]
sub eax, dword [edi + 0x4a8]
mov ebp, dword [edi + 0x4d8]
mov esi, dword [edi + 0x4dc]
mov dword [edi + 0x524], ebx
mov dword [edi + 0x554], ebx
mov dword [edi + 0x560], ebx
mov dword [edi + 0x56c], ebx
lea ebx, [edi + 0xf8]
mov edx, dword [ecx + 0x6050]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
test ebp, ebp
je 0x417b31
mov eax, dword [ebp + 8]
add ecx, 0x6e28
shl eax, 5
add eax, dword [ebx + 0x30c]
push eax
call fcn.004016e5
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x30c]
shl ecx, 5
add eax, 0x10
add eax, ecx
mov ecx, dword [edi + 0xf0]
push eax
add ecx, 0x6fb8
call fcn.004016e5
test esi, esi
je 0x417411
mov eax, dword [esi + 8]
mov ecx, dword [edi + 0xf0]
shl eax, 5
add ecx, 0x6ef0
add eax, dword [ebx + 0x30c]
push eax
call fcn.004016e5
mov ecx, dword [esi + 8]
mov eax, dword [ebx + 0x30c]
shl ecx, 5
add eax, 0x10
add eax, ecx
mov ecx, dword [edi + 0xf0]
push eax
add ecx, 0x7080
call fcn.004016e5
cmp dword [edi + 0x24], 0
jne 0x417b29
xor esi, esi
mov dword [esp + 0x18], esi
mov ebp, dword [edi + 0x4a4]
lea eax, [edi + 0x520]
sub ebp, dword [edi + 0x4a8]
mov ecx, eax
sub ebp, dword [esp + 0x20]
push 4
call fcn.00401361
push 0xa
mov ecx, edi
mov dword [eax], ebp
call fcn.00401168
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x4a4]
mov byte [esp + 0x12], 0
mov dl, byte [eax]
inc eax
mov dword [esp + 0x1c], eax
lea eax, [ecx + 1]
movzx ebx, dl
mov dword [edi + 0x4a4], eax
mov byte [ecx], dl
cmp ebx, 0xc4
jne 0x41749b
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x4a4]
mov byte [esp + 0x12], 1
mov dl, byte [eax]
inc eax
mov dword [esp + 0x1c], eax
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
movzx ebx, dl
mov byte [ecx], dl
mov eax, 0xab
cmp ebx, eax
ja 0x41765e
je 0x4174d0
mov eax, ebx
sub eax, 0x10
je 0x417982
sub eax, 1
je 0x417603
sub eax, 0x73
je 0x41758b
sub eax, 0x26
jne 0x417686
mov ecx, dword [edi + 0xf0]
add ecx, 0x60fc
call fcn.00401357
mov edx, dword [edi + 0x4a4]
mov ebp, eax
mov ecx, edx
sub ecx, dword [edi + 0x4a8]
sub ecx, dword [esp + 0x20]
test cl, 3
je 0x41751e
mov ecx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x4a4], eax
mov byte [edx], 0
mov edx, dword [edi + 0x4a4]
mov eax, edx
sub eax, dword [edi + 0x4a8]
sub eax, ecx
test al, 3
jne 0x4174fe
lea eax, [ebp*8 + 0x1e]
mov ecx, edi
push eax
call fcn.00401168
push 4
push esi
mov ecx, edi
call fcn.004014e2
cmp ebx, 0xaa
jne 0x417621
mov ecx, dword [edi + 0xf0]
add ecx, 0x61c4
call fcn.00401357
mov esi, eax
mov ecx, edi
push esi
call fcn.00401622
lea eax, [esi - 1]
mov ecx, edi
add eax, ebp
push eax
call fcn.00401622
test ebp, ebp
jle 0x4179a8
mov ebx, dword [esp + 0x18]
push 4
push ebx
mov ecx, edi
call fcn.004014e2
sub ebp, 1
jne 0x417577
jmp 0x4179a8
mov ecx, dword [edi + 0xf0]
add ecx, 0x641c
call fcn.00401357
cmp byte [esp + 0x12], 0
mov ecx, dword [edi + 0xf0]
mov dword [esp + 0x24], eax
je 0x4175b5
add ecx, 0x6354
jmp 0x4175bb
add ecx, 0x628c
call fcn.00401357
cmp byte [esp + 0x12], 0
mov ebx, eax
je 0x4175d8
mov eax, dword [esp + 0x24]
mov ecx, edi
push eax
call fcn.00401636
push ebx
jmp 0x417615
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov eax, dword [esp + 0x24]
mov byte [ecx], al
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov byte [ecx], bl
jmp 0x4179a8
mov ecx, dword [edi + 0xf0]
add ecx, 0x6354
call fcn.00401357
push eax
mov ecx, edi
call fcn.00401636
jmp 0x4179a8
push ebp
mov ecx, edi
call fcn.00401622
test ebp, ebp
jle 0x4179a8
mov ecx, dword [edi + 0xf0]
add ecx, 0x61c4
call fcn.00401357
push eax
mov ecx, edi
call fcn.00401622
push 4
push esi
mov ecx, edi
call fcn.004014e2
sub ebp, 1
jne 0x417631
jmp 0x4179a8
mov eax, ebx
sub eax, 0xbc
je 0x417982
sub eax, 0x41
je 0x417a11
sub eax, 1
je 0x4179bf
sub eax, 1
je 0x417a78
lea eax, [ebx - 0xe6]
cmp eax, 2
ja 0x41773d
mov dword [esp + 0x14], 0xb7
sub eax, 0
je 0x4176b3
sub eax, 1
je 0x4176ad
mov esi, dword [esp + 0x2c]
jmp 0x4176b7
mov esi, dword [esp + 0x30]
jmp 0x4176b7
mov esi, dword [esp + 0x28]
mov eax, dword [edi + 0x4a4]
mov byte [eax - 1], 0xb7
mov ecx, dword [edi + 0xf0]
add ecx, 0x7164
call fcn.00401357
mov dword [esp + 0x24], eax
test esi, esi
je 0x417a6a
mov edx, dword [esi + 8]
mov ebp, dword [edi + 0x404]
shl edx, 5
add ebp, 0x10
add ebp, edx
cmp dword [edi + 0x24], 0
jne 0x417b29
xor esi, esi
xor ebx, ebx
test ebp, ebp
je 0x41772e
push esi
mov ecx, ebp
call fcn.0040177b
mov edx, eax
test edx, edx
je 0x417730
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
cmp ecx, dword [edi + 0x490]
jne 0x41772b
mov eax, ebx
inc ebx
cmp eax, dword [esp + 0x24]
je 0x417730
inc esi
jmp 0x417701
xor edx, edx
push edx
mov ecx, edi
call fcn.00401582
jmp 0x4179a8
lea eax, [esp + 0x14]
mov ecx, edi
push eax
lea eax, [esp + 0x17]
push eax
push ebx
call fcn.004010f0
mov esi, eax
test esi, esi
je 0x4177b6
cmp byte [esp + 0x13], 0
mov ecx, dword [edi + 0x4a4]
jne 0x41776b
mov al, byte [esp + 0x14]
mov byte [ecx - 1], al
jmp 0x41779a
mov byte [ecx - 1], 0x2a
lea ecx, [edi + 0x520]
push 4
call fcn.00401361
inc dword [esp + 0x18]
lea ecx, [ebp + 1]
mov dword [eax], ecx
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov al, byte [esp + 0x14]
mov byte [ecx], al
push 0
push dword [esi + 0xc]
mov ecx, esi
call fcn.00401690
cmp dword [edi + 0x24], 0
jne 0x417b29
push eax
jmp 0x417731
push ebx
call fcn.00410c70
pop ecx
mov ecx, edi
test al, al
je 0x4177e1
cmp ebx, 0xc8
mov ebx, dword [esp + 0x18]
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
push eax
push ebx
call fcn.004014e2
jmp 0x4179a8
push ebx
call fcn.004017e4
mov esi, eax
test esi, esi
je 0x41792f
cmp byte [esi + 0x11], 0
setne cl
movzx ecx, cl
push ecx
push dword [esi + 0xc]
mov ecx, esi
call fcn.00401690
cmp dword [edi + 0x24], 0
mov ebp, eax
jne 0x417b29
test ebp, ebp
jne 0x417829
mov ecx, dword [edi + 0xf0]
add ecx, 0x6a40
cmp esi, ecx
cmove ebp, dword [esp + 0x28]
mov eax, 0xec
mov dword [esp + 0x14], ebx
cmp ebx, eax
ja 0x417869
je 0x4178a2
mov eax, ebx
sub eax, 0x12
je 0x41785f
sub eax, 1
je 0x4178a2
sub eax, 1
je 0x41789e
sub eax, 0xa7
je 0x417863
sub eax, 0x2e
je 0x41785f
sub eax, 1
je 0x41785f
sub eax, 1
jne 0x4178a9
push 0x12
jmp 0x4178a4
mov dword [esp + 0x2c], ebp
jmp 0x4178a9
mov eax, ebx
sub eax, 0xed
je 0x4178a2
sub eax, 1
je 0x4178a2
sub eax, 1
je 0x41789e
sub eax, 1
je 0x41785f
sub eax, 1
je 0x4178a2
sub eax, 1
je 0x417897
sub eax, 1
jne 0x4178a9
mov ebx, 0xb8
jmp 0x4178a5
mov ebx, 0xb7
jmp 0x4178a5
push 0x14
jmp 0x4178a4
push 0x13
pop ebx
mov dword [esp + 0x14], ebx
mov eax, dword [edi + 0x4a4]
mov ecx, edi
push ebp
mov byte [eax - 1], bl
cmp ebx, 0x12
je 0x417a60
call fcn.00401582
cmp ebx, 0xc5
je 0x417982
cmp ebx, 0xb9
jne 0x4178fd
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 4]
call fcn.004010cd
mov edx, dword [edi + 0x4a4]
inc al
lea ecx, [edx + 1]
mov dword [edi + 0x4a4], ecx
mov byte [edx], al
jmp 0x41791b
cmp ebx, 0xba
jne 0x4179a8
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov byte [ecx], 0
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov byte [ecx], 0
jmp 0x4179a8
push ebx
call fcn.00410ce2
pop ecx
test al, al
je 0x4179a8
mov ecx, dword [edi + 0xf0]
add ecx, 0x641c
call fcn.00401357
cmp byte [esp + 0x12], 0
mov edx, eax
je 0x417969
push edx
mov ecx, edi
call fcn.00401636
cmp ebx, 0x84
jne 0x4179a8
jmp 0x417603
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov byte [ecx], dl
cmp ebx, 0x84
jne 0x4179a8
mov ecx, dword [edi + 0xf0]
mov eax, dword [ecx + 0x62a8]
mov dl, byte [eax]
inc eax
mov dword [ecx + 0x62a8], eax
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov byte [ecx], dl
inc dword [esp + 0x18]
cmp dword [edi + 0x24], 0
jne 0x417b29
mov esi, dword [esp + 0x18]
jmp 0x417421
mov ecx, dword [edi + 0xf0]
dec dword [edi + 0x4a4]
add ecx, 0x73bc
call fcn.00401357
mov esi, eax
mov ecx, edi
push esi
call fcn.00401168
test esi, esi
jle 0x4179a8
mov ecx, dword [edi + 0xf0]
mov eax, dword [ecx + 0x74a0]
mov dl, byte [eax]
inc eax
mov dword [ecx + 0x74a0], eax
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov byte [ecx], dl
sub esi, 1
jne 0x4179e4
jmp 0x4179a8
mov ecx, dword [edi + 0xf0]
dec dword [edi + 0x4a4]
add ecx, 0x72f4
call fcn.00401357
mov ecx, dword [edi + 0xf0]
mov esi, eax
add ecx, 0x7210
push 1
push dword [ecx + 0xc]
call fcn.00401690
cmp dword [edi + 0x24], 0
jne 0x417b29
sub esi, 1
je 0x417a5d
sub esi, 1
jne 0x4179a8
jmp 0x4177b0
push eax
mov ecx, edi
call fcn.004018e3
jmp 0x4179a8
mov ecx, dword [esp + 0x34]
push str.missing_class_reference
jmp 0x417b38
mov eax, dword [edi + 0xf0]
dec dword [edi + 0x4a4]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x6050], edx
xor ebx, ebx
cmp dword [edi + 0x554], ebx
jle 0x417b29
mov eax, dword [edi + 0x550]
mov ecx, dword [edi + 0xf0]
add ecx, 0x64e4
movzx ebp, byte [eax + ebx]
mov eax, dword [edi + 0x55c]
mov eax, dword [eax + ebx*4]
add eax, dword [edi + 0x4a8]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x568]
mov esi, dword [eax + ebx*4]
call fcn.00401357
add eax, esi
mov ecx, edi
push eax
call fcn.0040176c
push esi
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.0040176c
mov ecx, dword [esp + 0x34]
sub ecx, eax
cmp dword [edi + 0x24], 0
jne 0x417b29
dec ebp
sub ebp, 1
je 0x417b0d
dec ebp
sub ebp, 1
jne 0x417b1c
push ecx
push dword [esp + 0x30]
call fcn.004018f7
jmp 0x417b1a
movzx eax, cx
push eax
push dword [esp + 0x30]
call fcn.00401177
pop ecx
pop ecx
inc ebx
cmp ebx, dword [edi + 0x554]
jl 0x417a9c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push str.missing_class_reference
mov ecx, ebx
call fcn.00401258
int3