Function at 0x10024580
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x248
mov esi, esp
mov dword [esi + 0x230], ebp
mov dword [esi + 0x234], esp
mov dword [esi + 0x240], 0xffffffff
mov dword [esi + 0x23c], 0x10026de0
mov edi, dword [ebp + 8]
lea eax, [esi + 0x238]
mov ecx, dword fs:[0]
mov dword [esi + 0x238], ecx
mov dword fs:[0], eax
mov dword [esi + 0x10], 0
mov ecx, dword [edi + 0x1e8]
mov eax, dword [edi + 0x1dc]
mov edx, dword [edi + 0x1e4]
add edi, 0x1dc
mov dword [esi + 0x20], edi
test ecx, ecx
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], edx
mov dword [esi + 0xc], ecx
je 0x10024616
cmp edx, ecx
je 0x10024616
jbe 0x10024c66
cmp byte [eax + ecx], 0xbf
jle 0x10024c66
cmp ecx, 8
jne 0x10024654
mov ecx, 0xfffffff8
test ecx, ecx
je 0x1002465d
movzx edx, byte [eax + ecx + 8]
mov dh, byte [ecx + 0x10103318]
mov ebx, edx
add bl, 0xbf
cmp bl, 0x1a
setb bl
shl bl, 5
or bl, dl
mov dl, dh
add dl, 0xbf
cmp dl, 0x1a
setb dl
inc ecx
shl dl, 5
or dl, dh
cmp bl, dl
je 0x10024620
mov dword [esi + 0x1c], 0
jmp 0x10024662
mov al, 1
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x1f0]
mov dword [esi + 0x24], ecx
mov ecx, dword [eax + 0x1f0]
mov eax, dword [eax + 0x1f8]
shl eax, 4
add eax, ecx
mov dword [esi + 8], eax
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, dword [esi + 8]
je 0x10024764
mov byte [esi + 2], 1
mov byte [esi + 3], 1
mov dword [esi + 0x240], 0
push 0xa
push 0x10103318
mov dword [esi + 4], ecx
push ecx
call fcn.10021810
add esp, 0xc
mov edx, dword [esi + 4]
test al, al
lea ecx, [edx + 0x10]
je 0x10024690
mov eax, dword [edx]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
inc edx
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
je 0x100246f9
cmp ecx, edx
je 0x100246f9
jbe 0x10024cdf
cmp byte [eax + edx], 0xbf
jle 0x10024cdf
add eax, edx
sub ecx, edx
mov byte [esi + 2], 1
mov byte [esi + 3], 1
push ecx
push eax
call fcn.100e34b0
add esp, 8
mov ecx, dword [ebp + 8]
cmp edx, 5
mov edx, 0
jne 0x10024769
nop dword [eax]
cmp edx, 5
je 0x10024c5f
movzx ecx, byte [eax + edx]
mov edi, edx
movzx edx, byte [edx + str.closeUnexpected_EOFHeader_is_not_in_ASCII]
inc edi
mov ch, cl
add ch, 0xbf
cmp ch, 0x1a
setb ch
shl ch, 5
or ch, cl
mov cl, dl
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
mov edx, edi
cmp ch, cl
mov ecx, dword [ebp + 8]
je 0x10024720
xor edx, edx
jmp 0x10024769
mov ecx, dword [ebp + 8]
mov dl, 2
cmp dl, 2
mov edi, edx
setne al
cmp dword [ecx + 0x50], 2
je 0x100247c4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x84], 4
jne 0x100247c4
mov ecx, dword [ebp + 8]
xor edx, edx
mov ecx, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp edx, 4
je 0x100247e1
mov ah, byte [ecx + edx]
movzx ebx, byte [edx + str.headlocationGETHEADBad_redirection:]
inc edx
mov bh, ah
add bh, 0xbf
cmp bh, 0x1a
setb bh
shl bh, 5
or bh, ah
mov ah, bl
add ah, 0xbf
cmp ah, 0x1a
setb ah
shl ah, 5
or ah, bl
cmp bh, ah
je 0x10024790
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx + 0x1fc]
cmp ecx, 0xcc
je 0x100247e1
movzx ecx, cx
cmp ecx, 0x130
jne 0x100247e8
mov cl, 1
mov dword [esi + 0x18], ecx
jmp 0x100247ef
mov dword [esi + 0x18], 0
mov ecx, edi
and cl, al
mov eax, dword [ebp + 8]
mov dword [esi + 0x2c], ecx
mov ecx, dword [eax + 0x1f0]
mov eax, dword [eax + 0x1f8]
shl eax, 4
add eax, ecx
mov dword [esi + 8], eax
nop dword [eax]
cmp ecx, dword [esi + 8]
mov dword [esi + 0x28], 0
je 0x10024894
mov byte [esi + 2], 1
mov byte [esi + 3], 1
mov dword [esi + 0x240], 0
push 0x11
push 0x10103322
mov dword [esi + 4], ecx
push ecx
call fcn.10021810
add esp, 0xc
mov edx, dword [esi + 4]
test al, al
lea ecx, [edx + 0x10]
je 0x10024810
mov eax, dword [edx]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
inc edx
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
je 0x1002487c
cmp ecx, edx
je 0x1002487c
jbe 0x10024d06
cmp byte [eax + edx], 0xbf
jle 0x10024d06
add eax, edx
sub ecx, edx
mov byte [esi + 2], 1
mov byte [esi + 3], 1
push ecx
push eax
call fcn.100e34b0
add esp, 8
jmp 0x10024896
xor eax, eax
mov ecx, dword [esi + 0x2c]
test eax, eax
sete byte [esi + 0x16]
test edx, edx
sete byte [esi + 0x17]
or cl, byte [esi + 0x1c]
mov eax, ecx
or al, byte [esi + 0x18]
mov eax, dword [ebp + 8]
je 0x100248bd
xor cl, 1
movzx ebx, cl
jmp 0x10024989
mov ecx, dword [eax + 0x1f0]
mov eax, dword [eax + 0x1f8]
shl eax, 4
add eax, ecx
mov dword [esi + 8], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, dword [esi + 8]
je 0x10024984
mov byte [esi + 2], 1
mov byte [esi + 3], 1
mov dword [esi + 0x240], 0
push 0xe
push 0x10103333
mov dword [esi + 4], ecx
push ecx
call fcn.10021810
add esp, 0xc
mov edx, dword [esi + 4]
test al, al
lea ecx, [edx + 0x10]
je 0x100248e0
mov eax, dword [edx]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
inc edx
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
je 0x10024949
cmp ecx, edx
je 0x10024949
jbe 0x10024d2d
cmp byte [eax + edx], 0xbf
jle 0x10024d2d
add eax, edx
sub ecx, edx
mov byte [esi + 2], 1
mov byte [esi + 3], 1
push ecx
push eax
call fcn.100e34b0
add esp, 8
mov byte [esi + 2], 1
mov byte [esi + 3], 1
lea ecx, [esi + 0x30]
push edx
push eax
push ecx
call fcn.100e47f0
add esp, 0xc
movzx ebx, byte [esi + 0x30]
mov eax, dword [esi + 0x34]
xor ebx, 1
mov dword [esi + 0x28], eax
jmp 0x10024986
xor ebx, ebx
mov eax, dword [ebp + 8]
lea edi, [esi + 0x30]
add eax, 0xc0
push 0x100
push eax
push edi
call fcn.100f0640
add esp, 0xc
cmp dword [esi + 0x30], 3
je 0x10024c9a
lea eax, [esi + 0x130]
mov dword [esi + 8], ebx
push 0x100
push edi
push eax
call fcn.100f0640
add esp, 0xc
push 8
push 0x100
call fcn.100176f0
add esp, 8
test eax, eax
je 0x10024cbd
mov ebx, dword [esi + 0x1c]
mov ecx, eax
mov al, byte [esi + 0x17]
or al, byte [esi + 0x16]
or bl, byte [esi + 0x18]
or bl, al
push 0x100
lea edi, [esi + 0x130]
push edi
mov dword [esi + 4], ecx
push ecx
call fcn.100f0640
add esp, 0xc
push 0xc0
push dword [ebp + 8]
push edi
call fcn.100f0640
add esp, 0xc
test bl, bl
je 0x10024aaf
cmp dword [esi + 8], 0
lea eax, [esi + 0x130]
je 0x10024b2e
push 0xc0
push eax
lea eax, [esi + 0x30]
mov edi, eax
push eax
call fcn.100f0640
add esp, 0xc
push 8
push 0xd8
call fcn.100176f0
add esp, 8
test eax, eax
je 0x10024cce
mov ebx, eax
push 0xc0
push edi
push eax
call fcn.100f0640
add esp, 0xc
mov eax, dword [esi + 4]
movzx edi, word [esi + 0xc]
mov dl, byte [esi + 0xe]
mov ecx, dword [esi + 0x28]
mov dword [esi + 8], 0x10103404
mov dword [ebx + 0xc0], eax
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xc8], 0
mov word [ebx + 0xc9], di
mov byte [ebx + 0xcb], dl
mov dword [ebx + 0xcc], ecx
mov dword [ebx + 0xd0], 0
jmp 0x10024b75
push 0xc0
lea eax, [esi + 0x130]
push eax
lea eax, [esi + 0x30]
mov edi, eax
push eax
call fcn.100f0640
add esp, 0xc
push 8
push 0xd8
call fcn.100176f0
add esp, 8
test eax, eax
je 0x10024cce
mov ebx, eax
push 0xc0
push edi
push eax
call fcn.100f0640
add esp, 0xc
mov eax, dword [esi + 4]
movzx edx, word [esi + 0xc]
mov cl, byte [esi + 0xe]
mov dword [esi + 8], 0x101033d0
mov dword [ebx + 0xc0], eax
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xc8], 0
mov word [ebx + 0xc9], dx
mov byte [ebx + 0xcb], cl
mov dword [ebx + 0xcc], 0
jmp 0x10024b75
push 4
push 8
call fcn.100176f0
add esp, 8
test eax, eax
je 0x10024d54
mov ecx, dword [esi + 4]
mov byte [esi + 2], 0
mov byte [esi + 3], 0
mov dword [esi + 0x240], 0
mov dword [esi + 8], 0x10103438
mov dword [esi + 4], eax
mov dword [eax], ecx
lea ecx, [esi + 0x130]
mov byte [eax + 4], 1
call fcn.1001f7b0
mov ebx, dword [esi + 4]
mov eax, dword [ebp + 8]
mov dword [esi + 4], ebx
mov edi, eax
mov eax, dword [eax + 0x1c0]
test eax, eax
je 0x10024ba7
mov ecx, dword [edi + 0x1c4]
test ecx, ecx
je 0x10024ba7
push 1
push ecx
push eax
call fcn.10017710
add esp, 0xc
mov dword [esi + 0x240], 2
lea ecx, [edi + 0x1cc]
mov dword [esi + 0x240], 2
call fcn.10001800
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1e0]
test eax, eax
je 0x10024bdc
push 1
push eax
mov eax, dword [esi + 0x20]
push dword [eax]
call fcn.10017710
mov ecx, dword [ebp + 8]
add esp, 0xc
mov edi, dword [ecx + 0x1f8]
test edi, edi
je 0x10024c23
mov eax, dword [ebp + 8]
shl edi, 4
mov eax, dword [eax + 0x1f0]
add edi, eax
mov ecx, dword [eax + 4]
lea ebx, [eax + 0x10]
test ecx, ecx
jne 0x10024c10
nop
cmp ebx, edi
mov eax, ebx
je 0x10024c23
mov ecx, dword [eax + 4]
lea ebx, [eax + 0x10]
test ecx, ecx
je 0x10024c00
push 1
push ecx
push dword [eax]
call fcn.10017710
add esp, 0xc
cmp ebx, edi
mov eax, ebx
jne 0x10024c06
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1f4]
test eax, eax
je 0x10024c45
shl eax, 4
je 0x10024c45
push 4
push eax
mov eax, dword [esi + 0x24]
push dword [eax]
call fcn.10017710
add esp, 0xc
mov eax, dword [esi + 0x238]
mov edx, dword [esi + 8]
mov dword fs:[0], eax
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dl, 1
jmp 0x10024769
lea eax, [esi + 0x130]
lea edx, [esi + 0x10]
lea ecx, [esi + 0xc]
mov byte [esi + 2], 1
mov byte [esi + 3], 1
mov dword [esi + 0x240], 0
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
call fcn.10019530
jmp 0x10024d52
mov dword [esi + 0x240], 1
push 0x101033c0
push 0x17
push 0x10103341
call fcn.100df0e0
add esp, 0xc
jmp 0x10024d52
push 8
push 0x100
call fcn.100da490
add esp, 8
ud2
push 8
push 0xd8
call fcn.100da490
add esp, 8
ud2
lea eax, [esi + 0x130]
lea edx, [esi + 0x10]
lea ecx, [esi + 0xc]
mov byte [esi + 2], 1
mov byte [esi + 3], 1
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
call fcn.10019530
jmp 0x10024d52
lea eax, [esi + 0x130]
lea edx, [esi + 0x10]
lea ecx, [esi + 0xc]
mov byte [esi + 2], 1
mov byte [esi + 3], 1
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
call fcn.10019530
jmp 0x10024d52
lea eax, [esi + 0x130]
lea edx, [esi + 0x10]
lea ecx, [esi + 0xc]
mov byte [esi + 2], 1
mov byte [esi + 3], 1
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
call fcn.10019530
ud2
push 4
push 8
call fcn.100da490
add esp, 8
ud2