Function at 0x5b075e
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x24]
cmp byte [ecx + 2], 4
jne 0x5b079c
mov eax, dword [ebp - 0x24]
cmp word [eax + 0xe], 0
je 0x5b0792
mov edx, dword [ebp - 0x24]
cmp word [edx + 0xe], 0x40
jbe 0x5b079c
mov eax, 0x1770
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
cmp byte [edx + 2], 2
je 0x5b07ae
mov ecx, dword [ebp - 0x24]
cmp byte [ecx + 2], 3
jne 0x5b07e4
mov eax, dword [ebp - 0x24]
movzx edx, word [eax + 0xc]
mov ecx, dword [ebp - 0x24]
movzx eax, word [ecx + 0xe]
add edx, eax
cmp edx, 0xc8
jle 0x5b07d0
mov eax, 6
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
cmp word [edx + 0xe], 0
jne 0x5b07e4
mov eax, 0x2716
jmp 0x5b1658
mov word [ebp - 2], 0
mov word [ebp - 4], 0
mov edx, dword [ebp - 0x24]
cmp byte [edx + 2], 0xb
je 0x5b08e8
mov ecx, dword [ebp - 0x24]
cmp byte [ecx + 3], 0
je 0x5b08e8
mov byte [ebp - 0x1d], 0
xor eax, eax
mov al, byte [ebp - 0x1d]
mov edx, eax
shl edx, 3
sub edx, eax
mov ecx, dword [ebp + 0x10]
mov ax, word [ecx + edx*2]
cmp ax, word [ebp + 0xc]
je 0x5b0830
inc byte [ebp - 0x1d]
cmp byte [ebp - 0x1d], 3
jb 0x5b080e
xor edx, edx
mov dl, byte [ebp - 0x1d]
mov ecx, edx
shl ecx, 3
sub ecx, edx
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + ecx*2 + 2]
mov ecx, dword [ebp - 0x24]
cmp edx, dword [ecx + 4]
je 0x5b0869
push dword [ebp + 0x10]
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005afd92
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0869
mov eax, ebx
jmp 0x5b1658
xor edx, edx
mov dl, byte [ebp - 0x1d]
mov ecx, edx
shl ecx, 3
sub ecx, edx
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + ecx*2 + 6]
mov dword [esi + 0x1a], edx
xor ecx, ecx
mov cl, byte [ebp - 0x1d]
mov eax, ecx
shl eax, 3
sub eax, ecx
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + eax*2 + 0xa]
mov dword [esi + 0x1e], ecx
mov word [esi + 0x16], 0
mov word [esi + 0x26], 0
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b2166
add esp, 8
xor edi, edi
jmp 0x5b08d9
mov word [esi + 0x18], di
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b186c
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x5b08d2
mov eax, ebx
jmp 0x5b1658
mov word [esi + 0x26], 1
inc edi
movzx edx, di
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov al, byte [ecx + 3]
cmp edx, eax
jl 0x5b08b3
lea edx, [ebp - 0x34]
push edx
push esi
call fcn.005b1b2c
add esp, 8
cmp word [esi + 0x26], 0
jne 0x5b0926
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b2166
add esp, 8
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b22ca
add esp, 8
mov ebx, eax
test eax, eax
je 0x5b0926
lea eax, [ebx + 0xa]
jmp 0x5b1658
push 0x2a
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1c77
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0944
lea eax, [ebx + 0x14]
jmp 0x5b1658
xor edi, edi
movzx eax, di
mov dl, byte [ebp + eax - 0x34]
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1c77
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x5b0981
cmp di, 3
jne 0x5b097a
mov dx, word [ebp + 0xc]
push edx
push 0x2bc
call fcn.005b211a
add esp, 8
inc edi
cmp di, 0xa
jb 0x5b0946
test ebx, ebx
je 0x5b098d
lea eax, [ebx + 0x1e]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
cmp byte [edx + 2], 5
je 0x5b09c7
mov ecx, dword [ebp - 0x24]
cmp byte [ecx + 2], 9
je 0x5b09c7
mov eax, dword [ebp - 0x24]
cmp byte [eax + 2], 0x14
je 0x5b09c7
mov edx, dword [ebp - 0x24]
cmp byte [edx + 2], 0x2d
je 0x5b09c7
mov ecx, dword [ebp - 0x24]
cmp byte [ecx + 2], 0xb
je 0x5b09c7
mov eax, dword [ebp - 0x24]
cmp byte [eax + 2], 0x1e
jne 0x5b0c97
mov word [ebp - 2], 0
mov edx, dword [esi]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x14
jg 0x5b09f7
je 0x5b0b3a
sub ecx, 5
je 0x5b0a0e
sub ecx, 4
je 0x5b0a0e
sub ecx, 2
je 0x5b0a73
jmp 0x5b0b9a
sub ecx, 0x1e
je 0x5b0ad8
sub ecx, 0xf
je 0x5b0b3a
jmp 0x5b0b9a
push 2
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0a2c
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 4
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0a4a
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 1
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0a68
lea eax, [ebx + 0x28]
jmp 0x5b1658
mov word [ebp - 2], 3
jmp 0x5b0b9a
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0a91
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 4
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0aaf
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 4
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0acd
lea eax, [ebx + 0x28]
jmp 0x5b1658
mov word [ebp - 2], 4
jmp 0x5b0b9a
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0af6
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 4
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0b14
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 3
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0b32
lea eax, [ebx + 0x28]
jmp 0x5b1658
mov word [ebp - 2], 2
jmp 0x5b0b9a
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0b58
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 4
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0b76
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0b94
lea eax, [ebx + 0x28]
jmp 0x5b1658
mov word [ebp - 2], 8
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
mov byte [ebp - 0xc], al
xor edx, edx
mov dl, byte [ebp - 0xc]
sar edx, 2
and dl, 0x3c
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0bd3
lea eax, [ebx + 0x46]
jmp 0x5b1658
mov dl, byte [ebp - 0xc]
shl edx, 2
and dl, 0x3c
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0bf9
lea eax, [ebx + 0x46]
jmp 0x5b1658
mov word [ebp - 6], 0
xor edi, edi
cmp di, word [ebp - 2]
jae 0x5b0c54
lea eax, [ebp - 0xb]
push eax
lea edx, [ebp - 6]
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1fed
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x5b0c38
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b225a
add esp, 8
mov eax, ebx
jmp 0x5b1658
movzx edx, di
mov ecx, dword [esi + 4]
mov al, byte [ebp - 0xb]
xor al, byte [ebp - 0xc]
mov byte [ecx + edx], al
mov dl, byte [ebp - 0xb]
mov byte [ebp - 0xc], dl
inc edi
cmp di, word [ebp - 2]
jb 0x5b0c07
mov ecx, dword [esi]
cmp byte [ecx + 2], 5
jne 0x5b0c73
mov eax, dword [esi + 4]
mov dl, byte [eax + 1]
mov ecx, dword [esi + 4]
mov byte [ecx], dl
mov eax, dword [esi + 4]
mov dl, byte [eax + 2]
mov ecx, dword [esi + 4]
mov byte [ecx + 1], dl
mov eax, dword [esi]
cmp byte [eax + 2], 9
jne 0x5b0c82
mov edx, dword [esi + 4]
mov byte [edx + 1], 0
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b225a
add esp, 8
xor eax, eax
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
mov cl, byte [edx + 2]
sub cl, 2
je 0x5b0df4
sub cl, 2
je 0x5b0cb5
sub cl, 4
je 0x5b0cf5
jmp 0x5b0e34
push 2
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0cd3
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 3
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0eac
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0d13
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0d31
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 0x3a
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0d4f
lea eax, [ebx + 0x28]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov cl, byte [edx + 0x10]
sar ecx, 2
and cl, 0x7c
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0d7a
lea eax, [ebx + 0x50]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
mov cl, byte [edx + 0x10]
shl ecx, 2
and cl, 0x7c
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0da3
lea eax, [ebx + 0x50]
jmp 0x5b1658
mov word [ebp - 6], 0
lea edx, [ebp - 0xa]
push edx
lea ecx, [ebp - 6]
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b206a
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x5b0dcd
lea eax, [ebx + 0x5a]
jmp 0x5b1658
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b225a
add esp, 8
cmp word [ebp - 0xa], 0xaa55
je 0x5b0ded
mov eax, 5
jmp 0x5b1658
xor eax, eax
jmp 0x5b1658
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0e12
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 5
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0eac
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 2
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0e52
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 6
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0e70
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 0x15
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0e8e
lea eax, [ebx + 0x28]
jmp 0x5b1658
push 0x39
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0eac
lea eax, [ebx + 0x28]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov cl, byte [edx + 0x114]
sar ecx, 2
and cl, 0x7c
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0eda
lea eax, [ebx + 0x64]
jmp 0x5b1658
push 3
push esi
call fcn.005b23f3
add esp, 8
test al, al
jne 0x5b0f18
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
and al, 0x7f
or al, 2
push eax
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0f18
lea eax, [ebx + 0x64]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
mov cl, byte [edx + 0x114]
shl ecx, 2
and cl, 0x7c
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0f44
lea eax, [ebx + 0x64]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
cmp byte [edx + 2], 4
jne 0x5b10d2
mov byte [ebp - 0xd], 0
mov ecx, dword [esi]
mov ax, word [ecx + 0xe]
mov word [ebp - 8], ax
xor edi, edi
cmp di, word [ebp - 8]
jae 0x5b1037
movzx eax, di
mov edx, dword [esi]
mov cl, byte [edx + eax + 0x10]
mov byte [ebp - 0xe], cl
xor eax, eax
mov al, byte [ebp - 0xe]
sar eax, 2
and al, 0xfc
add al, 2
push eax
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0fad
test di, di
jne 0x5b0fa5
lea eax, [ebx + 0x64]
jmp 0x5b1658
lea eax, [ebx + 0x50]
jmp 0x5b1658
push 0x40
push esi
call fcn.005b23f3
add esp, 8
test al, 2
je 0x5b0fca
mov dx, word [ebp + 0xc]
inc edx
push edx
call fcn.005b23d2
pop ecx
jmp 0x5b0ff8
test al, 1
je 0x5b0fdb
xor ecx, ecx
mov cl, al
sar ecx, 2
and cl, 0xf
add byte [ebp - 0xd], cl
push eax
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b0ff8
lea eax, [ebx + 0x50]
jmp 0x5b1658
movzx eax, di
inc eax
movzx edx, word [ebp - 8]
mov ecx, edx
cdq
idiv ecx
mov dl, byte [ebp - 0xe]
shl edx, 2
add al, dl
add al, 2
push eax
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b102c
lea eax, [ebx + 0x50]
jmp 0x5b1658
inc edi
cmp di, word [ebp - 8]
jb 0x5b0f6b
and byte [ebp - 0xd], 0xf
mov word [ebp - 6], 0
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 6]
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b20c5
add esp, 0x10
mov ebx, eax
test ebx, ebx
je 0x5b1065
lea eax, [ebx + 0x5a]
jmp 0x5b1658
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b225a
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 2]
mov edx, dword [ebp - 0x1c]
mov dx, word [edx]
xor edi, edi
jmp 0x5b10af
mov ecx, eax
and cl, 1
mov ebx, edx
and bl, 1
mov byte [ebp - 0x25], bl
movzx eax, ax
sar eax, 1
movzx edx, dx
sar edx, 1
test cl, cl
je 0x5b10a4
or dx, 0x8000
cmp byte [ebp - 0x25], 0
je 0x5b10ae
or ax, 0x8000
inc edi
movzx ecx, di
xor ebx, ebx
mov bl, byte [ebp - 0xd]
cmp ecx, ebx
jl 0x5b1084
movzx edx, dx
movzx eax, ax
shl eax, 0x10
or edx, eax
mov ecx, dword [esi + 4]
mov dword [ecx], edx
xor eax, eax
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
add edx, 0x110
mov dword [ebp - 0x18], edx
xor edi, edi
push 2
push esi
call fcn.005b23f3
add esp, 8
test ax, ax
jne 0x5b111f
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
and al, 0x7f
or al, 1
push eax
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b111f
lea eax, [ebx + 0x64]
jmp 0x5b1658
movzx edx, di
shl edx, 2
mov ecx, 4
sub ecx, edx
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dl, byte [eax + 2]
sar edx, cl
shl edx, 2
and dl, 0x7c
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b1159
lea eax, [ebx + 0x64]
jmp 0x5b1658
inc edi
cmp di, 2
jb 0x5b10e0
xor edi, edi
movzx eax, di
shl eax, 2
mov ecx, 4
sub ecx, eax
mov edx, dword [ebp - 0x18]
xor eax, eax
mov al, byte [edx + 3]
sar eax, cl
shl eax, 2
and al, 0x7c
push eax
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b119b
lea eax, [ebx + 0x32]
jmp 0x5b1658
push 3
push esi
call fcn.005b23f3
add esp, 8
test ax, ax
jne 0x5b11da
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
and al, 0x7f
or al, 1
push eax
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b11da
lea eax, [ebx + 0x32]
jmp 0x5b1658
inc edi
cmp di, 2
jb 0x5b1162
xor edi, edi
push 4
push esi
call fcn.005b23f3
add esp, 8
test ax, ax
jne 0x5b1222
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
and al, 0x7f
or al, 2
push eax
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b1222
lea eax, [ebx + 0x32]
jmp 0x5b1658
movzx edx, di
shl edx, 2
mov ecx, 4
sub ecx, edx
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dl, byte [eax]
sar edx, cl
shl edx, 2
and dl, 0x7c
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b125b
lea eax, [ebx + 0x32]
jmp 0x5b1658
inc edi
cmp di, 2
jb 0x5b11e3
xor edi, edi
push 4
push esi
call fcn.005b23f3
add esp, 8
test ax, ax
jne 0x5b12a3
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
and al, 0x7f
or al, 2
push eax
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b12a3
lea eax, [ebx + 0x32]
jmp 0x5b1658
movzx edx, di
shl edx, 2
mov ecx, 4
sub ecx, edx
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dl, byte [eax + 1]
sar edx, cl
shl edx, 2
and dl, 0x7c
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b12dd
lea eax, [ebx + 0x32]
jmp 0x5b1658
inc edi
cmp di, 2
jb 0x5b1264
mov edx, dword [ebp - 0x24]
movzx ecx, word [edx + 0xc]
movzx eax, word [ebp - 2]
add ecx, eax
sar ecx, 2
and cl, 0x3c
push ecx
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b1314
lea eax, [ebx + 0x3c]
jmp 0x5b1658
push 3
push esi
call fcn.005b23f3
add esp, 8
test ax, ax
je 0x5b1353
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
and al, 0x7f
or al, 2
push eax
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b1353
lea eax, [ebx + 0x3c]
jmp 0x5b1658
mov dl, byte [ebp - 2]
mov ecx, dword [ebp - 0x24]
add dl, byte [ecx + 0xc]
shl edx, 2
and dl, 0x3c
push edx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b137f
lea eax, [ebx + 0x3c]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
cmp byte [edx + 2], 2
jne 0x5b1442
mov ecx, dword [ebp - 0x24]
movzx eax, word [ecx + 0xe]
movzx edx, word [ebp - 2]
sub eax, edx
cmp eax, 0x13
jle 0x5b13e0
push 4
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b13bf
lea eax, [ebx + 0x1388]
jmp 0x5b1658
push 0x10
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b1442
lea eax, [ebx + 0x1388]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
movzx ecx, word [edx + 0xe]
movzx eax, word [ebp - 2]
sub ecx, eax
sar ecx, 2
and cl, 0x3c
push ecx
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b1413
lea eax, [ebx + 0x1388]
jmp 0x5b1658
mov edx, dword [ebp - 0x24]
mov cl, byte [edx + 0xe]
sub cl, byte [ebp - 2]
shl ecx, 2
and cl, 0x3c
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b1442
lea eax, [ebx + 0x1388]
jmp 0x5b1658
push pe_nt_image_headers32
push esi
call fcn.005b23f3
add esp, 8
mov byte [ebp - 0xc], al
xor edx, edx
mov dl, byte [ebp - 0xc]
sar edx, 2
and dl, 0x3c
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b147b
lea eax, [ebx + 0x46]
jmp 0x5b1658
mov dl, byte [ebp - 0xc]
shl edx, 2
and dl, 0x3c
push edx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x5b14a1
lea eax, [ebx + 0x46]
jmp 0x5b1658
xor edi, edi
mov eax, dword [ebp - 0x24]
cmp byte [eax + 2], 2
jne 0x5b1614
mov word [ebp - 6], 0
jmp 0x5b151f
lea edx, [ebp - 0xb]
push edx
lea ecx, [ebp - 6]
push ecx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1fed
add esp, 0x10
mov ebx, eax
test ebx, ebx
jne 0x5b14ec
movzx eax, word [ebp - 2]
mov edx, dword [esi + 4]
mov cl, byte [ebp - 0xb]
xor cl, byte [ebp - 0xc]
mov byte [edx + eax], cl
mov al, byte [ebp - 0xb]
mov byte [ebp - 0xc], al
jmp 0x5b1501
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b225a
add esp, 8
mov eax, ebx
jmp 0x5b1658
inc word [ebp - 2]
inc edi
cmp di, 0x14
jne 0x5b151f
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b225a
add esp, 8
jmp 0x5b1625
mov ecx, dword [ebp - 0x24]
mov ax, word [ecx + 0xe]
cmp ax, word [ebp - 2]
ja 0x5b14b8
jmp 0x5b1625
movzx edx, word [ebp - 2]
mov ecx, dword [ebp - 0x24]
mov bl, byte [ecx + edx + 0x10]
xor bl, byte [ebp - 0xc]
mov byte [ebp - 0xc], bl
xor eax, eax
mov al, bl
sar eax, 2
and al, 0x3c
or al, 2
push eax
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b1dc2
add esp, 0xc
movzx ecx, word [ebp - 2]
mov eax, dword [ebp - 0x24]
movzx edx, word [eax + 0xe]
dec edx
cmp ecx, edx
je 0x5b1572
cmp di, 0x13
jne 0x5b158e
shl ebx, 2
and bl, 0x3c
or bl, 3
push ebx
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
jmp 0x5b15a8
shl ebx, 2
and bl, 0x3c
or bl, 2
push ebx
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b1dc2
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x5b15e7
mov edx, dword [ebp - 0x24]
movzx ecx, word [edx + 0xc]
movzx eax, word [ebp - 2]
add ecx, eax
and ecx, 7
cmp ecx, 7
je 0x5b15d7
movzx edx, word [ebp - 2]
mov ecx, dword [ebp - 0x24]
movzx eax, word [ecx + 0xe]
dec eax
cmp edx, eax
je 0x5b15d7
cmp di, 0x13
jne 0x5b15f9
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b2371
add esp, 8
jmp 0x5b15f9
mov cx, word [ebp + 0xc]
push ecx
push esi
call fcn.005b225a
add esp, 8
mov eax, ebx
jmp 0x5b1658
inc edi
inc word [ebp - 2]
cmp di, 0x14
jne 0x5b1614
mov dx, word [ebp + 0xc]
push edx
push esi
call fcn.005b225a
add esp, 8
jmp 0x5b1625
mov ecx, dword [ebp - 0x24]
mov ax, word [ecx + 0xe]
cmp ax, word [ebp - 2]
ja 0x5b1531
mov edx, dword [ebp - 0x24]
mov cx, word [edx + 0xe]
cmp cx, word [ebp - 2]
jne 0x5b1644
mov ax, word [ebp + 0xc]
push eax
push esi
call fcn.005b225a
add esp, 8
xor eax, eax
jmp 0x5b1658
inc word [ebp - 4]
cmp word [ebp - 4], 0xf
jb 0x5b07f0
mov eax, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret