Function at 0x10012837
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp dword [0x1003e760], 0
push ebx
push esi
push edi
jne 0x10012851
xor eax, eax
inc eax
jmp 0x10012f65
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
push dword [esi + 6]
xor edi, edi
inc edi
mov dword [ebp - 0x10], esi
call fcn.1000f660
mov ebx, eax
test ebx, ebx
pop ecx
je 0x10012849
mov eax, dword [esi]
and dword [ebp - 8], 0
cmp eax, 0x2000000
jbe 0x10012917
cmp eax, 0x2010000
jae 0x10012917
mov edx, dword [0x1003e990]
mov ecx, eax
imul ecx, ecx, 0x13
mov edx, dword [ecx + edx - 0x25fffff8]
mov ecx, 0x10000
cmp edx, ecx
ja 0x100128b1
cmp edx, edi
jae 0x100128ab
xor ecx, ecx
inc ecx
jmp 0x100128b1
cmp edx, ecx
ja 0x100128b1
mov ecx, edx
dec ecx
movzx ecx, cx
add eax, 0xfe000000
push eax
mov dword [ebp - 8], ecx
call fcn.100125a8
test eax, eax
pop ecx
mov dword [ebp - 0x14], eax
je 0x10012901
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push str.quantity
push dword [eax]
call fcn.10005c65
add esp, 0xc
test eax, eax
je 0x100128f6
mov eax, 0xffff
cmp dword [ebp - 0x18], eax
ja 0x100128f3
movzx eax, word [ebp - 0x18]
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0x14]
call fcn.10003812
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi]
movzx eax, word [ebp - 8]
imul ecx, ecx, 0x13
mov edx, dword [0x1003e990]
mov dword [ecx + edx - 0x25fffff8], eax
mov eax, dword [esi]
cmp eax, 0x200abe1
jb 0x100129fe
cmp eax, 0x200abe6
ja 0x100129fe
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x1002c1b1
call fcn.10003856
mov esi, eax
mov eax, dword [ebp - 0x10]
add esp, 0x1c
push dword [eax]
mov dword [ebp - 0x20], esi
call fcn.10005685
pop ecx
push dword [ebp - 8]
call fcn.10005663
pop ecx
push 4
call fcn.10005685
pop ecx
push 1
call fcn.10005674
mov dword [esp], 0x1e1
push dword [ebp + 8]
call fcn.100170e7
test eax, eax
pop ecx
pop ecx
je 0x10012edd
mov byte [ebx + 0x2a4], 0
mov byte [ebx + 0x2a5], 0
call fcn.10004221
push ebx
mov dword [ebx + 0x2d4], eax
call fcn.10005531
pop ecx
xor edi, edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x1002c1b1
mov byte [ebx + 0x2a3], al
mov dword [ebx + 0x232], 1
call fcn.10003856
add esp, 0x1c
push dword [ebx]
mov esi, eax
call fcn.10005685
pop ecx
push edi
call fcn.10005685
pop ecx
push edi
call fcn.10005674
mov eax, dword [0x1003e760]
pop ecx
push dword [eax + 0x53d]
call fcn.10005685
mov dword [esp], 0x24c
jmp 0x10012f44
cmp eax, 0x200a029
jb 0x10012b4f
cmp eax, 0x200a02f
ja 0x10012b4f
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x1002c1b1
call fcn.10003856
add esp, 0x1c
mov dword [ebp - 0x1c], eax
push 3
xor eax, eax
pop edi
mov byte [ebp - 0x18], 0
call fcn.100035eb
movzx ecx, word [ebx + 0x278]
add eax, 0x3e8
cmp ecx, eax
sbb al, al
inc al
mov byte [ebp - 0x14], al
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], esi
jne 0x10012a69
mov byte [ebp - 0x18], 1
mov dword [ebp - 0xc], 0xc8
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x10]
push dword [eax]
mov esi, dword [ebp - 0x1c]
call fcn.10005685
pop ecx
push dword [ebp - 8]
call fcn.10005663
pop ecx
push 1
call fcn.10005685
pop ecx
push dword [ebp - 0x18]
call fcn.10005674
pop ecx
push dword [ebp - 0x14]
call fcn.10005674
mov dword [esp], 0x1e1
push dword [ebp + 8]
call fcn.100170e7
pop ecx
xor edi, edi
test eax, eax
pop ecx
je 0x10012b47
inc edi
cmp byte [ebp - 0x14], 0
jne 0x10012b47
movzx eax, word [ebx + 0x278]
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov eax, 0x3ed
cmp ecx, eax
ja 0x10012ad6
mov eax, ecx
mov edx, dword [ebp - 4]
mov word [ebx + 0x278], ax
lea ecx, [ebx + 0x274]
movzx eax, word [ecx]
add edx, eax
mov eax, 0x47e
cmp edx, eax
ja 0x10012af6
mov eax, edx
mov word [ecx], ax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x1002c1b1
mov dword [ebx + 0x232], 1
call fcn.10003856
add esp, 0x1c
mov esi, eax
push 4
call fcn.10005674
pop ecx
mov eax, ebx
mov ecx, esi
call fcn.10005696
push 0x1cc
push dword [ebp + 8]
call fcn.100170e7
mov edi, eax
neg edi
pop ecx
sbb edi, edi
pop ecx
neg edi
call fcn.10003812
mov esi, dword [ebp - 0x1c]
jmp 0x10012f5e
cmp eax, 0x200a411
mov ecx, 0x200a412
je 0x10012e07
cmp eax, ecx
je 0x10012e07
cmp eax, 0x200a030
je 0x10012b80
cmp eax, 0x200a031
je 0x10012b80
cmp eax, 0x2009c42
jne 0x10012f63
call fcn.10004221
xor edi, edi
push edi
push edi
push edi
push edi
push edi
push edi
push 0x1002c1b1
mov dword [0x1003e9cc], eax
call fcn.10003856
mov ecx, dword [ebx + 0x2c8]
mov edx, dword [ebx + 0x2cc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x2c4]
add esp, 0x1c
cmp eax, 0x190
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ecx
jbe 0x10012bd5
mov eax, 0x190
cmp ecx, eax
jbe 0x10012bd5
cmp edx, eax
mov dword [ebp - 0x1c], 1
ja 0x10012bd8
mov dword [ebp - 0x1c], edi
mov esi, dword [esi]
mov eax, 0x44c
cmp edx, eax
sbb ecx, ecx
inc ecx
cmp dword [ebp - 4], eax
mov dword [ebp - 0x14], esi
sbb edi, edi
inc edi
add ecx, edi
cmp dword [ebp - 0xc], eax
sbb edi, edi
inc edi
add ecx, edi
cmp esi, 0x200a030
mov edi, 0x3e8
jne 0x10012c30
mov esi, dword [ebp - 0xc]
cmp esi, edi
jae 0x10012c0d
mov esi, edi
add esi, 0xa
cmp esi, 0x5dc
jbe 0x10012c21
mov dword [ebp - 0xc], 0x5dc
jmp 0x10012c30
mov esi, dword [ebp - 0xc]
cmp esi, edi
jae 0x10012c2a
mov esi, edi
add esi, 0xa
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0x14], 0x200a031
jne 0x10012c65
mov esi, dword [ebp - 4]
cmp esi, edi
jae 0x10012c42
mov esi, edi
add esi, 0xa
cmp esi, 0x5dc
jbe 0x10012c56
mov dword [ebp - 4], 0x5dc
jmp 0x10012c65
mov esi, dword [ebp - 4]
cmp esi, edi
jae 0x10012c5f
mov esi, edi
add esi, 0xa
mov dword [ebp - 4], esi
cmp dword [ebp - 0x14], 0x2009c42
jne 0x10012c91
cmp edx, edi
mov esi, edi
jb 0x10012c76
mov esi, edx
add esi, 0xa
cmp esi, 0x5dc
jbe 0x10012c88
mov edx, 0x5dc
jmp 0x10012c91
cmp edx, edi
jae 0x10012c8e
mov edx, edi
add edx, 0xa
cmp dword [ebp - 0xc], 0x190
jbe 0x10012cb4
cmp dword [ebp - 4], 0x190
jbe 0x10012cb4
cmp edx, 0x190
jbe 0x10012cb4
mov dword [ebp - 0x18], 1
jmp 0x10012cb8
and dword [ebp - 0x18], 0
cmp edx, eax
sbb edx, edx
inc edx
cmp dword [ebp - 4], eax
push dword [ebp - 0x14]
sbb esi, esi
inc esi
add edx, esi
cmp dword [ebp - 0xc], eax
mov esi, dword [ebp - 0x20]
sbb eax, eax
inc eax
add edx, eax
mov eax, dword [ebp - 0x18]
sub edx, ecx
neg edx
sbb edx, edx
sub eax, dword [ebp - 0x1c]
and edx, 4
neg eax
sbb eax, eax
and eax, 4
lea eax, [edx + eax + 1]
mov dword [ebp - 0x1c], eax
call fcn.10005685
pop ecx
push dword [ebp - 8]
call fcn.10005663
pop ecx
push 3
call fcn.10005685
pop ecx
push 1
call fcn.10005674
cmp dword [ebp - 0x18], 0
pop ecx
setne al
dec al
and eax, 2
push eax
call fcn.10005674
mov dword [esp], 0x1e1
push dword [ebp + 8]
call fcn.100170e7
test eax, eax
pop ecx
pop ecx
je 0x10012edd
mov esi, dword [ebp - 0x10]
cmp dword [esi], 0x200a030
jne 0x10012d74
mov ecx, dword [ebx + 0x2c4]
cmp ecx, edi
mov eax, edi
jb 0x10012d53
mov eax, ecx
lea edx, [eax + 0xa]
mov eax, 0x5dc
cmp edx, eax
jbe 0x10012d63
mov ecx, eax
jmp 0x10012d6c
cmp ecx, edi
jae 0x10012d69
mov ecx, edi
add ecx, 0xa
mov dword [ebx + 0x2c4], ecx
jmp 0x10012d79
mov eax, 0x5dc
cmp dword [esi], 0x200a031
jne 0x10012da9
mov ecx, dword [ebx + 0x2c8]
cmp ecx, edi
mov edx, edi
jb 0x10012d8f
mov edx, ecx
add edx, 0xa
cmp edx, eax
jbe 0x10012d9a
mov ecx, eax
jmp 0x10012da3
cmp ecx, edi
jae 0x10012da0
mov ecx, edi
add ecx, 0xa
mov dword [ebx + 0x2c8], ecx
cmp dword [esi], 0x2009c42
jne 0x10012dd5
mov ecx, dword [ebx + 0x2cc]
cmp ecx, edi
mov edx, edi
jb 0x10012dbf
mov edx, ecx
add edx, 0xa
cmp edx, eax
ja 0x10012dcf
cmp ecx, edi
jae 0x10012dcc
mov ecx, edi
lea eax, [ecx + 0xa]
mov dword [ebx + 0x2cc], eax
mov edx, dword [ebp - 0x1c]
lea ecx, [ebx + 0x274]
movzx eax, word [ecx]
add edx, eax
mov eax, 0x47e
cmp edx, eax
ja 0x10012dee
mov eax, edx
mov edi, ebx
mov word [ecx], ax
mov dword [ebx + 0x232], 1
call fcn.100057ba
jmp 0x10012f17
xor edx, edx
cmp eax, ecx
sete dl
add esi, 0xa
xor ecx, ecx
cmp esi, ecx
mov eax, edx
je 0x10012e30
mov edx, dword [esi]
mov edi, eax
shl edi, 2
cmp edx, dword [edi + 0x1003e9f4]
jne 0x10012e30
inc dword [edi + 0x1003e9fc]
jmp 0x10012e3b
mov edi, eax
shl edi, 2
mov dword [edi + 0x1003e9fc], ecx
mov eax, dword [esi]
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push 0x1002c1b1
mov dword [edi + 0x1003e9f4], eax
call fcn.10003856
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
add esp, 0x1c
test eax, eax
je 0x10012e6f
cmp dword [edi + 0x1003e9fc], 2
setb cl
add al, al
sub al, cl
jmp 0x10012e71
xor al, al
cmp al, 3
mov byte [ebp - 0x18], al
jbe 0x10012e7d
push 5
pop edi
jmp 0x10012e80
movzx edi, al
mov eax, dword [ebp - 0x10]
push dword [eax]
mov esi, dword [ebp - 0x20]
call fcn.10005685
pop ecx
push dword [ebp - 8]
call fcn.10005663
pop ecx
push 2
call fcn.10005685
pop ecx
push 1
call fcn.10005674
pop ecx
push dword [ebp - 0x18]
call fcn.10005674
pop ecx
push 2
call fcn.10005685
pop ecx
push 1
call fcn.10005674
pop ecx
push dword [ebp - 0x18]
call fcn.10005674
mov dword [esp], 0x1e1
push dword [ebp + 8]
call fcn.100170e7
test eax, eax
pop ecx
pop ecx
jne 0x10012ee1
xor edi, edi
jmp 0x10012f5b
lea eax, [ebx + 0x282]
movzx ecx, word [eax]
test cx, cx
je 0x10012ef3
dec ecx
mov word [eax], cx
lea ecx, [ebx + 0x274]
movzx eax, word [ecx]
lea edx, [eax + edi]
mov eax, 0x47e
cmp edx, eax
ja 0x10012f0a
mov eax, edx
mov word [ecx], ax
mov dword [ebx + 0x232], 1
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x1002c1b1
call fcn.10003856
add esp, 0x1c
push 4
mov esi, eax
call fcn.10005674
pop ecx
mov eax, ebx
mov ecx, esi
call fcn.10005696
push 0x1cc
push dword [ebp + 8]
call fcn.100170e7
mov edi, eax
neg edi
sbb edi, edi
pop ecx
pop ecx
neg edi
call fcn.10003812
mov esi, dword [ebp - 0x20]
call fcn.10003812
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret