Function at 0x401360
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x486e28
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x4ae084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x54]
call fcn.0044e1d0
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebx + 0x357f0]
cmp eax, 0x64
jg 0x401cc8
je 0x401a1f
cmp eax, ecx
je 0x40187d
cmp eax, 0x32
jne 0x401e87
mov edi, 0x4cc4b4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x28], edi
lea esp, [esp]
lea ecx, [edi + 8]
mov dword [ebp - 0x2c], 2
lea ebx, [ebx]
mov eax, dword [edi]
or esi, 0xffffffff
cmp eax, esi
je 0x401407
cmp eax, 0x18f
ja 0x401405
imul eax, eax, 0xbc
mov byte [eax + ebx + 0x21d40], 0
mov dword [eax + ebx + 0x21d44], esi
mov dword [edi], esi
mov edx, 4
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, esi
je 0x401434
cmp eax, 0x18f
ja 0x401432
imul eax, eax, 0xbc
mov byte [eax + ebx + 0x21d40], 0
mov dword [eax + ebx + 0x21d44], esi
mov dword [ecx], esi
add ecx, 4
dec edx
jne 0x401410
add edi, 4
dec dword [ebp - 0x2c]
jne 0x4013e0
mov esi, dword [ebp - 0x14]
lea eax, [esi + 4]
push eax
lea eax, [ebx + 0xb0ec]
call fcn.004075a0
mov edi, dword [ebp - 0x28]
add edi, 0x28
inc esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], edi
cmp edi, 0x4cc554
jl 0x4013d0
mov eax, dword [0x4cc480]
mov dword [ebp - 0x2c], 0
test eax, eax
js 0x401e87
lea edx, [ebx + 0xb13c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402100
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x401e87
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], 0x1bb
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x28], 0x4cc4b8
jmp 0x4014c0
mov dword [ecx*4 + 0x4cc48c], 0xffffffff
mov esi, eax
mov dword [ecx*4 + 0x4cc49c], 0
call fcn.0044e510
test al, al
jne 0x401642
mov edi, dword [ebp + 8]
add edi, 0x21d40
xor ebx, ebx
cmp byte [edi], 0
je 0x401509
inc ebx
add edi, 0xbc
cmp ebx, 0x190
jl 0x4014f0
jmp 0x4015f7
lea esi, [edi + 0xa4]
mov byte [edi], 1
call fcn.0044e3a0
xor eax, eax
mov dword [edi + 0xa0], eax
mov dword [edi + 0x9c], eax
mov dword [edi + 4], 1
cmp ebx, 0xffffffff
je 0x4015f7
mov edi, dword [ebp - 0x1c]
call fcn.0044e810
mov ecx, dword [ebp + 8]
mov edi, ebx
imul edi, edi, 0xbc
add ecx, 0x21d40
add edi, ecx
mov ecx, 1
mov dword [edi + 4], ecx
mov dword [edi + 0x9c], ecx
mov ecx, dword [ebp - 0x18]
sub esp, 0x18
add ecx, 0xffffffe2
mov edx, esp
mov dword [edi + 0x1c], ecx
mov dword [ebp - 0x24], esp
push edx
mov ecx, eax
mov byte [edi], 1
mov dword [edi + 8], 0
mov dword [edi + 0x34], 2
mov dword [edi + 0x14], 0x21
call fcn.0044e240
lea esi, [edi + 0xa4]
call fcn.0044e530
xor eax, eax
mov ecx, 0xff
mov edx, 0x1c
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x64], eax
mov dword [edi + 0x44], eax
mov dword [edi + 0x6c], eax
mov dword [edi + 0x74], eax
mov dword [edi + 0x24], edx
mov dword [edi + 0x2c], edx
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x5c], ecx
mov dword [edi + 0x54], ecx
mov dword [edi + 0xa0], eax
cmp byte [edi], al
je 0x4015f2
mov eax, 1
cmp dword [edi + 0x9c], eax
jne 0x4015f2
mov dword [edi + 0xa0], eax
xor eax, eax
mov dword [edi + 0x7c], eax
mov dword [edi + 0x84], eax
mov dword [edi + 0x80], eax
mov eax, dword [ebp - 0x28]
mov dword [eax], ebx
mov esi, dword [ebp - 0x1c]
cmp dword [esi + 0x8c], 0
je 0x401645
mov ecx, dword [esi + 0x88]
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0xa3eec]
je 0x401645
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
add edx, 0xffffffe4
push edx
push eax
mov edx, edi
call fcn.00405b30
mov eax, dword [esi + 0x88]
mov dword [edi*4 + 0x4cc48c], eax
mov ecx, dword [esi + 0x8c]
mov dword [edi*4 + 0x4cc49c], ecx
jmp 0x401645
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
add esi, 0x18
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], esi
call fcn.0044e510
test al, al
jne 0x4017ac
mov eax, dword [ebp - 0x24]
sub esp, 0x18
mov dword [ebp - 0x30], esp
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.0044e2d0
push esi
call fcn.00401280
add esp, 0x1c
lea esi, [ebp - 0x54]
call fcn.0044e530
mov edi, dword [ebp + 8]
add edi, 0x21d40
xor ebx, ebx
lea ebx, [ebx]
cmp byte [edi], 0
je 0x4016b9
inc ebx
add edi, 0xbc
cmp ebx, 0x190
jl 0x4016a0
jmp 0x4017ac
lea esi, [edi + 0xa4]
mov byte [edi], 1
call fcn.0044e3a0
xor eax, eax
mov dword [edi + 0xa0], eax
mov dword [edi + 0x9c], eax
mov dword [edi + 4], 1
cmp ebx, 0xffffffff
je 0x4017ac
lea edi, [ebp - 0x54]
call fcn.0044e810
mov ecx, dword [ebp + 8]
mov edi, ebx
imul edi, edi, 0xbc
add ecx, 0x21d40
add edi, ecx
mov ecx, 1
sub esp, 0x18
mov dword [edi + 4], ecx
mov dword [edi + 0x9c], ecx
mov ecx, dword [ebp - 0x1c]
mov edx, esp
mov dword [edi + 0x1c], ecx
mov dword [ebp - 0x30], esp
push edx
mov ecx, eax
mov byte [edi], 1
mov dword [edi + 8], 0
mov dword [edi + 0x34], 2
mov dword [edi + 0x14], 0x21
call fcn.0044e240
lea esi, [edi + 0xa4]
call fcn.0044e530
xor eax, eax
mov ecx, 0xff
mov edx, 0x1c
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x64], eax
mov dword [edi + 0x44], eax
mov dword [edi + 0x6c], eax
mov dword [edi + 0x74], eax
mov dword [edi + 0x24], edx
mov dword [edi + 0x2c], edx
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x5c], ecx
mov dword [edi + 0x54], ecx
mov dword [edi + 0xa0], eax
cmp byte [edi], al
je 0x40179f
mov eax, 1
cmp dword [edi + 0x9c], eax
jne 0x40179f
mov dword [edi + 0xa0], eax
xor eax, eax
mov dword [edi + 0x7c], eax
mov dword [edi + 0x84], eax
mov dword [edi + 0x80], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x20]
mov dword [eax*4 + 0x4cc4bc], ebx
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
add dword [ebp - 0x1c], 0x1e
inc eax
add esi, 0x18
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esi
cmp eax, 4
jl 0x401658
mov esi, dword [ebp + 8]
or edi, 0xffffffff
cmp dword [esi + 0xb14c], edi
je 0x401835
mov edx, dword [esi + 0xb148]
mov eax, dword [edx + 4]
mov dword [esi + 0xb148], eax
mov eax, dword [esi + 0xb13c]
inc dword [esi + 0xb14c]
mov ecx, dword [eax]
mov eax, dword [esi + 0xb148]
cmp eax, ecx
je 0x40182f
mov eax, dword [eax + 4]
add eax, 8
mov dword [ebp - 0x1c], eax
je 0x401835
mov eax, dword [ebp - 0x28]
sub dword [ebp - 0x18], 0x7a
inc dword [ebp - 0x14]
add dword [ebp - 0x2c], 0xa
add eax, 0x28
mov dword [ebp - 0x28], eax
cmp eax, 0x4cc558
jge 0x401835
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
jmp 0x4014c0
mov dword [esi + 0xb14c], edi
mov eax, dword [0x4cc480]
mov ecx, dword [0x4cc484]
imul eax, eax, 0x198
dec ecx
cdq
idiv ecx
mov ecx, 0x1d5
sub ecx, eax
mov eax, dword [0x4cc4b0]
cmp eax, edi
je 0x40186e
imul eax, eax, 0xbc
lea eax, [eax + esi + 0x21d40]
test eax, eax
je 0x40186e
mov dword [eax + 0x1c], ecx
mov dword [esi + 0x357f0], 0x64
jmp 0x401e87
mov edx, dword [ebp + 8]
mov dword [0x4cc480], ecx
mov eax, dword [edx + 0xb140]
mov dword [0x4cc484], eax
or eax, 0xffffffff
mov dword [0x4cc4ac], eax
mov dword [0x4cc4b0], eax
mov byte [0x4cc488], cl
mov ebx, 0x4cc49c
mov edi, 0x4cc4b4
mov edi, edi
lea eax, [edi + 8]
mov edx, edi
mov esi, 2
lea ebx, [ebx]
or ecx, 0xffffffff
mov dword [edx], 0xffffffff
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
add edx, 4
add eax, 0x10
dec esi
jne 0x4018c0
mov dword [ebx - 0x10], ecx
mov dword [ebx], esi
add edi, 0x28
add ebx, 4
cmp edi, 0x4cc554
jl 0x4018b0
cmp dword [0x4cc484], 1
jg 0x40192b
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.00419350
mov dword [esi + 0x357ac], eax
mov eax, dword [esi + 0x357a0]
cmp dword [esi + 0x3579c], eax
je 0x401e87
add eax, 0xfffffffc
mov ecx, esi
mov dword [ecx + 0x357a0], eax
jmp 0x401e87
mov edi, dword [ebp + 8]
push 0
push 0xb
push str.histback.kg
push edi
call fcn.00417210
add edi, 0x21d40
xor ebx, ebx
cmp byte [edi], 0
je 0x40195b
inc ebx
add edi, 0xbc
cmp ebx, 0x190
jl 0x401945
jmp 0x40199a
lea esi, [edi + 0xa4]
mov byte [edi], 1
call fcn.0044e3a0
xor eax, eax
mov dword [edi + 0xa0], eax
mov dword [edi + 0x9c], eax
mov dword [edi + 4], 1
cmp ebx, 0xffffffff
je 0x40199a
mov edx, dword [ebp + 8]
push eax
push eax
push eax
push 0xb
push 1
mov ecx, ebx
call fcn.00420ee0
mov dword [0x4cc4ac], ebx
mov edi, dword [ebp + 8]
add edi, 0x21d40
xor ebx, ebx
cmp byte [edi], 0
je 0x4019bb
inc ebx
add edi, 0xbc
cmp ebx, 0x190
jl 0x4019a5
jmp 0x401a06
lea esi, [edi + 0xa4]
mov byte [edi], 1
call fcn.0044e3a0
xor eax, eax
mov dword [edi + 0xa0], eax
mov dword [edi + 0x9c], eax
mov dword [edi + 4], 1
cmp ebx, 0xffffffff
je 0x401a06
mov edx, dword [ebp + 8]
push 0x4caa00
push 0x1d5
push 0x2fa
push 5
push 1
mov ecx, ebx
call fcn.00420ee0
mov dword [0x4cc4b0], ebx
mov esi, dword [ebp + 8]
mov eax, esi
call fcn.00405af0
mov dword [esi + 0x357f0], 0x32
jmp 0x401e87
mov esi, ebx
call fcn.00403a30
mov edi, dword [ebx + 0xad80]
mov edx, dword [ebx + 0xad84]
mov ecx, edi
xor ecx, edx
mov esi, eax
mov eax, ecx
and eax, edx
test al, 2
jne 0x401a4c
mov edx, ecx
and edx, edi
test edx, 0x802000
je 0x401a51
mov esi, 1
test al, 0x10
jne 0x401a61
mov edx, ecx
and edx, edi
test edx, 0x10000
je 0x401a66
mov esi, 2
test al, 0x20
jne 0x401a74
and ecx, edi
test ecx, 0x20000
je 0x401a79
mov esi, 3
test byte [ebx + 0xad80], 1
mov edi, dword [0x4cc4b0]
jne 0x401ada
mov byte [0x4cc488], 0
cmp edi, 0xffffffff
je 0x401ada
mov eax, edi
imul eax, eax, 0xbc
lea eax, [eax + ebx + 0x21d40]
test eax, eax
je 0x401ada
mov ecx, dword [0x4caa00]
mov dword [eax + 0x7c], ecx
mov edx, dword [0x4caa04]
mov dword [eax + 0x80], edx
mov ecx, dword [0x4caa08]
mov dword [eax + 0x84], ecx
mov edx, dword [0x4caa0c]
mov dword [eax + 0x88], edx
mov edi, dword [0x4cc4b0]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xad80]
mov ebx, dword [edx + 0xad84]
xor ebx, eax
and ebx, eax
jns 0x401afd
push 0x13
mov eax, edx
call fcn.004192a0
jmp 0x401e87
mov eax, esi
dec eax
je 0x401cb9
dec eax
je 0x401c84
dec eax
je 0x401c55
lea eax, [esi - 4]
cmp eax, 3
ja 0x401b3d
mov ecx, dword [eax*4 + 0x4cc49c]
test ecx, ecx
jle 0x401e87
push ecx
mov ecx, dword [eax*4 + 0x4cc48c]
call fcn.0042f810
jmp 0x401e87
mov esi, edx
lea ecx, [esi + 0xac24]
lea eax, [ebp - 0x3c]
call fcn.00442d90
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea eax, [ebp - 0x34]
push eax
lea ecx, [esi + 0x2f4]
call fcn.00443f20
test bl, 1
mov ebx, dword [ebp - 0x30]
je 0x401bce
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffd06
cmp ecx, 0x10
ja 0x401bce
lea edx, [ebx - 0x3d]
cmp edx, 0x1b1
ja 0x401bce
mov byte [0x4cc488], 1
cmp edi, 0xffffffff
je 0x401bce
imul edi, edi, 0xbc
lea eax, [edi + esi + 0x21d40]
test eax, eax
je 0x401bce
mov ecx, dword [0x4caa10]
mov dword [eax + 0x7c], ecx
mov edx, dword [0x4caa14]
mov dword [eax + 0x80], edx
mov ecx, dword [0x4caa18]
mov dword [eax + 0x84], ecx
mov edx, dword [0x4caa1c]
mov dword [eax + 0x88], edx
test byte [esi + 0xad80], 1
je 0x401e87
cmp byte [0x4cc488], 0
je 0x401e87
cmp ebx, 0x4a
jge 0x401bf4
mov ebx, 0x4a
jmp 0x401c01
cmp ebx, 0x1e2
jle 0x401c01
mov ebx, 0x1e2
mov edi, dword [0x4cc484]
mov eax, 0x198
cdq
dec edi
idiv edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
sub ecx, ebx
add ecx, 0x1e2
imul ecx, edi
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [0x4cc480]
je 0x401e87
mov dword [0x4cc480], eax
mov dword [esi + 0x357f0], 0x32
jmp 0x401e87
cmp dword [0x4cc480], 0
jle 0x401e87
sub dword [0x4cc480], 4
jns 0x401c75
mov dword [0x4cc480], 0
mov dword [edx + 0x357f0], 0x32
jmp 0x401e87
mov eax, dword [0x4cc480]
mov ecx, dword [0x4cc484]
cmp eax, ecx
jge 0x401e87
add eax, 4
mov dword [0x4cc480], eax
cmp eax, ecx
jl 0x401caa
dec ecx
mov dword [0x4cc480], ecx
mov dword [edx + 0x357f0], 0x32
jmp 0x401e87
mov dword [edx + 0x357f0], 0x384
jmp 0x401e87
cmp eax, 0x384
jne 0x401e87
mov al, byte [ebx + 0xa427c]
test al, al
jne 0x401cd3
lea ecx, [ebx + 0xb0ec]
push ecx
call fcn.00406f70
mov eax, dword [0x4cc4ac]
or esi, 0xffffffff
cmp eax, esi
je 0x401d1b
test eax, eax
js 0x401d15
cmp eax, 0x190
jge 0x401d15
imul eax, eax, 0xbc
mov byte [eax + ebx + 0x21d40], 0
mov dword [eax + ebx + 0x21d44], esi
mov dword [0x4cc4ac], esi
mov eax, dword [0x4cc4b0]
cmp eax, esi
je 0x401d4a
test eax, eax
js 0x401d44
cmp eax, 0x190
jge 0x401d44
imul eax, eax, 0xbc
mov byte [eax + ebx + 0x21d40], 0
mov dword [eax + ebx + 0x21d44], esi
mov dword [0x4cc4b0], esi
mov dword [ebp + 8], 0x4cc4b4
mov edi, dword [ebp + 8]
lea ecx, [edi + 8]
mov dword [ebp - 0x2c], 2
mov edi, edi
mov eax, dword [edi]
cmp eax, esi
je 0x401d84
cmp eax, 0x18f
ja 0x401d82
imul eax, eax, 0xbc
mov byte [eax + ebx + 0x21d40], 0
mov dword [eax + ebx + 0x21d44], esi
mov dword [edi], esi
mov edx, 4
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, esi
je 0x401db4
cmp eax, 0x18f
ja 0x401db2
imul eax, eax, 0xbc
mov byte [eax + ebx + 0x21d40], 0
mov dword [eax + ebx + 0x21d44], esi
mov dword [ecx], esi
add ecx, 4
dec edx
jne 0x401d90
add edi, 4
dec dword [ebp - 0x2c]
jne 0x401d60
mov eax, dword [ebp + 8]
add eax, 0x28
mov dword [ebp + 8], eax
cmp eax, 0x4cc554
jl 0x401d51
cmp byte [ebx + 0xa3e70], dl
je 0x401df6
lea edx, [ebx + 0x2d54]
push edx
call fcn.0043e6b0
lea eax, [ebx + 0x2fe4]
push eax
call fcn.0043e6b0
mov byte [ebx + 0xa42bd], 1
mov dword [ebx + 0x357f0], 0
mov eax, dword [ebx + 0x357a0]
sub eax, dword [ebx + 0x3579c]
sar eax, 2
test eax, eax
jg 0x401e61
mov edx, dword [ebx + 0x21c]
mov eax, dword [edx + 0x14]
lea ecx, [ebx + 0x21c]
call eax
push 0x10010
push 0x49d880
push 0x49c890
test eax, eax
jne 0x401e49
push eax
call dword [0x48935c]
xor eax, eax
jmp 0x401e6a
mov edx, dword [ebx + 0x21c]
mov eax, dword [edx + 0xb8]
lea ecx, [ebx + 0x21c]
call eax
xor eax, eax
jmp 0x401e6a
mov eax, dword [ebx + 0x357a0]
mov eax, dword [eax - 4]
mov dword [ebx + 0x357ac], eax
mov eax, dword [ebx + 0x357a0]
cmp dword [ebx + 0x3579c], eax
je 0x401e87
add eax, 0xfffffffc
mov dword [ebx + 0x357a0], eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.0044e300
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4