Function at 0x4012a8
Capabilities:
Check http status code

Disassembly:
jmp 0x4171f3
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 0x417a00
mov eax, dword [ebp + 8]
add ecx, 0x6e28
shl eax, 5
add eax, dword [ebx + 0x30c]
push eax
call fcn.004016d1
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.004016d1
test esi, esi
je 0x4172e0
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.004016d1
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.004016d1
cmp dword [edi + 0x24], 0
jne 0x4179f8
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.00401357
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 0x41736a
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 0x41752d
je 0x41739f
mov eax, ebx
sub eax, 0x10
je 0x417851
sub eax, 1
je 0x4174d2
sub eax, 0x73
je 0x41745a
sub eax, 0x26
jne 0x417555
mov ecx, dword [edi + 0xf0]
add ecx, 0x60fc
call fcn.0040134d
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 0x4173ed
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 0x4173cd
lea eax, [ebp*8 + 0x1e]
mov ecx, edi
push eax
call fcn.00401168
push 4
push esi
mov ecx, edi
call fcn.004014d3
cmp ebx, 0xaa
jne 0x4174f0
mov ecx, dword [edi + 0xf0]
add ecx, 0x61c4
call fcn.0040134d
mov esi, eax
mov ecx, edi
push esi
call fcn.0040160e
lea eax, [ebp - 1]
mov ecx, edi
add eax, esi
push eax
call fcn.0040160e
test ebp, ebp
jle 0x417877
mov ebx, dword [esp + 0x18]
push 4
push ebx
mov ecx, edi
call fcn.004014d3
sub ebp, 1
jne 0x417446
jmp 0x417877
mov ecx, dword [edi + 0xf0]
add ecx, 0x641c
call fcn.0040134d
cmp byte [esp + 0x12], 0
mov ecx, dword [edi + 0xf0]
mov dword [esp + 0x24], eax
je 0x417484
add ecx, 0x6354
jmp 0x41748a
add ecx, 0x628c
call fcn.0040134d
cmp byte [esp + 0x12], 0
mov ebx, eax
je 0x4174a7
mov eax, dword [esp + 0x24]
mov ecx, edi
push eax
call fcn.00401622
push ebx
jmp 0x4174e4
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 0x417877
mov ecx, dword [edi + 0xf0]
add ecx, 0x6354
call fcn.0040134d
push eax
mov ecx, edi
call fcn.00401622
jmp 0x417877
push ebp
mov ecx, edi
call fcn.0040160e
test ebp, ebp
jle 0x417877
mov ecx, dword [edi + 0xf0]
add ecx, 0x61c4
call fcn.0040134d
push eax
mov ecx, edi
call fcn.0040160e
push 4
push esi
mov ecx, edi
call fcn.004014d3
sub ebp, 1
jne 0x417500
jmp 0x417877
mov eax, ebx
sub eax, 0xbc
je 0x417851
sub eax, 0x41
je 0x4178e0
sub eax, 1
je 0x41788e
sub eax, 1
je 0x417947
lea eax, [ebx - 0xe6]
cmp eax, 2
ja 0x41760c
mov dword [esp + 0x14], 0xb7
sub eax, 0
je 0x417582
sub eax, 1
je 0x41757c
mov esi, dword [esp + 0x2c]
jmp 0x417586
mov esi, dword [esp + 0x30]
jmp 0x417586
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.0040134d
mov dword [esp + 0x24], eax
test esi, esi
je 0x417939
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 0x4179f8
xor esi, esi
xor ebx, ebx
test ebp, ebp
je 0x4175fd
push esi
mov ecx, ebp
call fcn.00401767
mov edx, eax
test edx, edx
je 0x4175ff
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 0x4175fa
mov eax, ebx
inc ebx
cmp eax, dword [esp + 0x24]
je 0x4175ff
inc esi
jmp 0x4175d0
xor edx, edx
push edx
mov ecx, edi
call fcn.0040156e
jmp 0x417877
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 0x417685
cmp byte [esp + 0x13], 0
mov ecx, dword [edi + 0x4a4]
jne 0x41763a
mov al, byte [esp + 0x14]
mov byte [ecx - 1], al
jmp 0x417669
mov byte [ecx - 1], 0x2a
lea ecx, [edi + 0x520]
push 4
call fcn.00401357
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.0040167c
cmp dword [edi + 0x24], 0
jne 0x4179f8
push eax
jmp 0x417600
push ebx
call fcn.00410b73
pop ecx
mov ecx, edi
test al, al
je 0x4176b0
cmp ebx, 0xc8
mov ebx, dword [esp + 0x18]
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
push eax
push ebx
call fcn.004014d3
jmp 0x417877
push ebx
call fcn.004017d0
mov esi, eax
test esi, esi
je 0x4177fe
cmp byte [esi + 0x11], 0
setne cl
movzx ecx, cl
push ecx
push dword [esi + 0xc]
mov ecx, esi
call fcn.0040167c
cmp dword [edi + 0x24], 0
mov ebp, eax
jne 0x4179f8
test ebp, ebp
jne 0x4176f8
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 0x417738
je 0x417771
mov eax, ebx
sub eax, 0x12
je 0x41772e
sub eax, 1
je 0x417771
sub eax, 1
je 0x41776d
sub eax, 0xa7
je 0x417732
sub eax, 0x2e
je 0x41772e
sub eax, 1
je 0x41772e
sub eax, 1
jne 0x417778
push 0x12
jmp 0x417773
mov dword [esp + 0x2c], ebp
jmp 0x417778
mov eax, ebx
sub eax, 0xed
je 0x417771
sub eax, 1
je 0x417771
sub eax, 1
je 0x41776d
sub eax, 1
je 0x41772e
sub eax, 1
je 0x417771
sub eax, 1
je 0x417766
sub eax, 1
jne 0x417778
mov ebx, 0xb8
jmp 0x417774
mov ebx, 0xb7
jmp 0x417774
push 0x14
jmp 0x417773
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 0x41792f
call fcn.0040156e
cmp ebx, 0xc5
je 0x417851
cmp ebx, 0xb9
jne 0x4177cc
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 0x4177ea
cmp ebx, 0xba
jne 0x417877
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 0x417877
push ebx
call fcn.00410be5
pop ecx
test al, al
je 0x417877
mov ecx, dword [edi + 0xf0]
add ecx, 0x641c
call fcn.0040134d
cmp byte [esp + 0x12], 0
mov edx, eax
je 0x417838
push edx
mov ecx, edi
call fcn.00401622
cmp ebx, 0x84
jne 0x417877
jmp 0x4174d2
mov ecx, dword [edi + 0x4a4]
lea eax, [ecx + 1]
mov dword [edi + 0x4a4], eax
mov byte [ecx], dl
cmp ebx, 0x84
jne 0x417877
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 0x4179f8
mov esi, dword [esp + 0x18]
jmp 0x4172f0
mov ecx, dword [edi + 0xf0]
dec dword [edi + 0x4a4]
add ecx, 0x73bc
call fcn.0040134d
mov esi, eax
mov ecx, edi
push esi
call fcn.00401168
test esi, esi
jle 0x417877
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 0x4178b3
jmp 0x417877
mov ecx, dword [edi + 0xf0]
dec dword [edi + 0x4a4]
add ecx, 0x72f4
call fcn.0040134d
mov ecx, dword [edi + 0xf0]
mov esi, eax
add ecx, 0x7210
push 1
push dword [ecx + 0xc]
call fcn.0040167c
cmp dword [edi + 0x24], 0
jne 0x4179f8
sub esi, 1
je 0x41792c
sub esi, 1
jne 0x417877
jmp 0x41767f
push eax
mov ecx, edi
call fcn.004018cf
jmp 0x417877
mov ecx, dword [esp + 0x34]
push str.missing_class_reference
jmp 0x417a07
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 0x4179f8
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.0040134d
add eax, esi
mov ecx, edi
push eax
call fcn.00401758
push esi
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.00401758
mov ecx, dword [esp + 0x34]
sub ecx, eax
cmp dword [edi + 0x24], 0
jne 0x4179f8
dec ebp
sub ebp, 1
je 0x4179dc
dec ebp
sub ebp, 1
jne 0x4179eb
push ecx
push dword [esp + 0x30]
call fcn.004018e3
jmp 0x4179e9
movzx eax, cx
push eax
push dword [esp + 0x30]
call fcn.00401177
pop ecx
pop ecx
inc ebx
cmp ebx, dword [edi + 0x554]
jl 0x41796b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push str.missing_class_reference
mov ecx, ebx
call fcn.00401253
int3