Function at 0x10032830
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push edi
call fcn.1001bab0
mov ecx, dword [edi + 0x20]
mov edx, eax
add esp, 4
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov esi, dword [edx + 0x88]
test esi, esi
je case.default.0x10033132
mov eax, dword [esi + 0x94]
cmp eax, 4
ja case.0x100329f4.1
jmp dword [eax*4 + 0x10033548]
mov eax, dword [esi + 0x9c]
and eax, 0xfffff9fb
mov byte [esi + 0xe3], 0
or eax, 0x100
mov byte [esi + 0xe6], 0
mov dword [esi + 0xd8], 0
mov dword [esi + 0x9c], eax
mov byte [ecx + 0x3c0], 0xff
mov cl, byte [ebp + 0xc]
test cl, cl
jns 0x10032936
movzx ebx, cl
and cl, 0x7f
and ebx, 0x7f
mov dword [esi + 0x98], 0
mov dword [esi + 0xa0], ebx
cmp cl, 0x7f
jne 0x100328f1
mov byte [esi + 0xe5], cl
mov dword [esi + 0x94], 1
mov dword [esi + 0xa4], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x100329be
push 0
push 0
push 0
push ebx
push edi
call fcn.10033740
push eax
push edi
push dword [ebp - 0xc]
call fcn.100327c0
add esp, 0x20
test eax, eax
jne 0x100329ce
push 0xffffffffffffffff
push ebx
push edi
call fcn.100335b0
add esp, 0xc
test eax, eax
jne 0x100329ce
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test cl, 0x40
je 0x100329da
mov dword [esi + 0xa0], 0
cmp cl, 0x40
jne 0x1003297c
and dword [esi + 0x9c], 0xfffffffd
xor eax, eax
pop edi
mov dword [esi + 0x98], 2
mov dword [esi + 0x94], 2
mov dword [esi + 0xa4], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, cl
and cl, 0x3f
and eax, 0x3f
mov dword [esi + 0x98], 1
mov dword [esi + 0xa0], eax
cmp cl, 0x3f
jne 0x100329a5
mov byte [esi + 0xe5], cl
jmp 0x100328d4
or dword [esi + 0x9c], 2
mov dword [esi + 0x94], 2
test eax, eax
jne case.0x100329f4.1
push str.hdr_index_0_seen
push 9
push edx
call fcn.1002ac30
add esp, 0xc
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, cl
mov eax, edx
and eax, 0xf0
cmp eax, 0x30
ja case.0x100329f4.1
movzx eax, byte [eax + 0x10033568]
jmp dword [eax*4 + 0x1003355c]
test cl, cl
jne 0x10032a23
mov dword [esi + 0x98], 5
and dword [esi + 0x9c], 0xfffffffd
xor eax, eax
pop edi
mov dword [esi + 0x94], 2
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x10
jne 0x10032a34
mov dword [esi + 0x98], 6
jmp 0x10032a09
test cl, 0x10
mov eax, 0
setne al
and cl, 0xf
add eax, 3
and edx, 0xf
mov dword [esi + 0x98], eax
mov dword [esi + 0xa0], 0
cmp cl, 0xf
jne 0x10032a68
mov byte [esi + 0xe5], cl
jmp 0x100328d4
mov dword [esi + 0xa0], edx
or dword [esi + 0x9c], 2
xor eax, eax
pop edi
mov dword [esi + 0x94], 2
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
and edx, 0x1f
mov dword [esi + 0x98], 7
mov dword [esi + 0xa4], edx
cmp edx, 0x1f
jne 0x10032aab
mov byte [esi + 0xe5], dl
jmp 0x100328d4
or dword [esi + 0x9c], 0x400
push edx
push edi
call fcn.10032580
add esp, 8
test eax, eax
jne 0x100329ce
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ebp + 0xc]
mov cl, byte [esi + 0xe6]
movzx edx, al
and edx, 0x7f
shl edx, cl
add cl, 7
or edx, dword [esi + 0xa4]
mov dword [esi + 0xa4], edx
mov byte [esi + 0xe6], cl
test al, al
js case.0x100329f4.1
movzx ecx, byte [esi + 0xe5]
mov eax, dword [esi + 0x98]
add ecx, edx
mov dword [ebp - 0x18], ecx
mov dword [esi + 0xa4], ecx
test eax, eax
je 0x10032b72
cmp eax, 7
je 0x10032b49
mov dword [esi + 0xa0], ecx
test ecx, ecx
jne 0x10032a6e
push str.extended_header_index_was_0
push 9
push dword [ebp - 0xc]
call fcn.1002ac30
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or dword [esi + 0x9c], 0x400
push ecx
push edi
call fcn.10032580
add esp, 8
test eax, eax
jne 0x100329ce
pop edi
mov dword [esi + 0x94], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xa0]
xor edx, edx
mov dword [ebp - 0x1c], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], eax
cmp ecx, 0xffff
je 0x10032d28
push edi
call fcn.1001bab0
add esp, 4
mov dword [ebp - 0x10], eax
mov edx, dword [eax + 0x88]
test edx, edx
je 0x100329ce
mov ecx, dword [ebp - 0x18]
add edx, 0x48
mov dword [ebp - 0x20], edx
test ecx, ecx
js 0x100329ce
cmp ecx, 0x3e
jge 0x10032be9
cmp ecx, 0x11
jge 0x10032be0
mov eax, dword [ecx*4 + 0x10048a88]
mov ebx, eax
mov dword [ebp - 8], eax
lea edx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x10032bd7
sub ebx, edx
movzx edx, byte [ecx + 0x10048a48]
jmp 0x10032c5c
test edx, edx
je 0x100329ce
movzx eax, word [edx + 0xe]
add eax, 0x3e
cmp ecx, eax
jl 0x10032c1a
push str.index_out_of_range
push 9
push dword [ebp - 0x10]
call fcn.1002ac30
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [edx + 0x10]
test ax, ax
je 0x10032c38
mov ebx, eax
movzx eax, word [edx + 0xc]
sub eax, ecx
add eax, 0x3d
cdq
idiv ebx
mov ecx, edx
mov edx, dword [ebp - 0x20]
jmp 0x10032c3c
xor ecx, ecx
xor ebx, ebx
lea eax, [ecx + ebx]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*2]
mov eax, dword [edx]
mov edx, dword [eax + ecx*4]
movzx ebx, word [eax + ecx*4 + 4]
mov dword [ebp - 8], edx
movzx edx, word [eax + ecx*4 + 8]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
cmp edx, 0xffff
je 0x10032d28
mov eax, dword [ebp - 8]
test eax, eax
je 0x10032c8c
cmp dword [ebp - 0x1c], 0
cmovg edx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
cmp edx, 0xffff
je 0x10032d28
mov dword [ebp - 0xc], eax
cmp ecx, 0x11
jge 0x10032c9b
mov eax, dword [ecx*4 + 0x10048a88]
mov dword [ebp - 0xc], eax
push edx
push edi
call fcn.10032320
add esp, 8
test eax, eax
jne 0x100329ce
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x10032d0b
cmp byte [ecx], al
je 0x10032d0b
mov eax, ebx
dec ebx
test eax, eax
je 0x10032d0b
mov edi, dword [edi + 0x20]
mov eax, dword [ebp - 0xc]
mov ecx, dword [edi + 0x39c]
mov al, byte [eax]
mov edx, dword [edi + 8]
mov byte [edx + ecx], al
movzx eax, byte [edi + 0x3bb]
mov ecx, dword [ebp + 8]
inc dword [edi + 0x39c]
inc word [edi + eax*8 + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
mov eax, dword [eax + 0x4d0]
cmp dword [edi + 0x39c], eax
jae 0x100329ce
cmp byte [ecx], 0
mov edi, dword [ebp + 8]
jne 0x10032cb8
push edi
call fcn.100322b0
add esp, 4
test eax, eax
jne 0x100329ce
push dword [ebp - 0x10]
push edi
call fcn.10031fc0
add esp, 8
pop edi
mov dword [esi + 0x94], 0
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ebx, byte [ebp + 0xc]
lea edx, [esi + 0x9c]
mov ecx, dword [edx]
mov eax, ebx
shr eax, 7
and ecx, 0xfffffffe
or ecx, eax
and ebx, 0x7f
xor eax, eax
mov dword [edx], ecx
mov word [esi + 0xdc], ax
mov dword [esi + 0xa4], ebx
cmp ebx, 0x7f
jne 0x10032d88
pop edi
mov word [esi + 0xe5], bx
mov dword [esi + 0xa4], eax
mov dword [esi + 0x94], 3
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test cl, 2
je 0x10032e6c
test ebx, ebx
jne 0x10032e6c
mov dword [esi + 0x94], eax
test cl, 2
jne 0x1003324f
mov eax, dword [esi + 0x98]
cmp eax, 5
je 0x10032dc1
cmp eax, 2
je 0x10032dc1
cmp eax, 6
jne 0x1003324f
mov ecx, dword [ebp - 8]
mov dword [esi + 0xa0], 0xffff
cmp byte [ecx + 0x3c0], 0x61
jne 0x10032df6
lea eax, [ebp - 0x14]
mov byte [ebp - 1], 0x3a
push eax
lea eax, [ebp - 1]
mov dword [ebp - 0x14], 1
push eax
push edi
call fcn.10022540
mov ecx, dword [ebp - 8]
add esp, 0xc
mov al, byte [ecx + 0x3c0]
cmp al, 0x61
je 0x10032e0c
cmp al, 0x62
je 0x10032e0c
cmp al, 0x63
jne 0x10033252
or dword [esi + 0x9c], 4
mov byte [ecx + 0x3c0], 0xff
or dword [edi + 0x2d0], 0x80
jmp 0x10033252
mov al, byte [ebp + 0xc]
mov cl, byte [esi + 0xe6]
movzx edx, al
and edx, 0x7f
shl edx, cl
add cl, 7
or edx, dword [esi + 0xa4]
mov dword [esi + 0xa4], edx
mov byte [esi + 0xe6], cl
test al, al
js case.0x100329f4.1
movzx eax, byte [esi + 0xe5]
add eax, edx
lea edx, [esi + 0x9c]
mov dword [esi + 0xa4], eax
test byte [edx], 2
mov dword [esi + 0x94], 4
je 0x10032fe7
mov ebx, dword [esi + 0xa0]
test ebx, ebx
je 0x10032fe7
mov eax, dword [esi + 0x98]
cmp eax, 5
je 0x10032f68
cmp eax, 2
je 0x10032f68
cmp eax, 6
je 0x10032f68
cmp ebx, 0xffff
jne 0x10032ebd
mov eax, ebx
jmp 0x10032f8f
push edi
call fcn.1001bab0
mov edx, eax
add esp, 4
mov dword [ebp - 0x20], edx
mov eax, dword [edx + 0x88]
test eax, eax
jne 0x10032edd
or eax, 0xffffffff
jmp 0x10032f8f
lea ecx, [eax + 0x48]
test ebx, ebx
jns 0x10032eec
or eax, 0xffffffff
jmp 0x10032f8f
cmp ebx, 0x3e
jge 0x10032efd
movzx eax, byte [ebx + 0x10048a48]
jmp 0x10032f88
test ecx, ecx
jne 0x10032f09
or eax, 0xffffffff
jmp 0x10032f8f
movzx eax, word [ecx + 0xe]
add eax, 0x3e
cmp ebx, eax
jl 0x10032f29
push str.index_out_of_range
push 9
push edx
call fcn.1002ac30
add esp, 0xc
or eax, 0xffffffff
jmp 0x10032f8f
movzx eax, word [ecx + 0x10]
test ax, ax
je 0x10032f47
mov dword [ebp + 8], eax
movzx eax, word [ecx + 0xc]
sub eax, ebx
add eax, 0x3d
cdq
idiv dword [ebp + 8]
mov eax, dword [ebp + 8]
jmp 0x10032f4b
xor edx, edx
xor eax, eax
add eax, edx
test edx, edx
cmovns eax, edx
mov edx, dword [ebp - 0x20]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x88]
mov eax, dword [eax + 0x48]
movzx eax, word [eax + ecx*4 + 8]
jmp 0x10032f88
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x3c0]
cmp eax, 0xff
jne 0x10032f7e
or eax, 0xffffffff
jmp 0x10032f8f
mov dword [esi + 0xa0], 1
cmp eax, 0xffff
jne 0x10032f99
mov dword [esi + 0xa0], 0xffff
mov ecx, dword [esi + 0x98]
sub ecx, 2
je case.0x100329f4.1
sub ecx, 3
je case.0x100329f4.1
sub ecx, 1
je case.0x100329f4.1
cmp eax, 0xffffffff
je case.0x100329f4.1
cmp eax, 0xffff
je case.0x100329f4.1
push eax
push edi
call fcn.10032320
add esp, 8
test eax, eax
jne 0x100329ce
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
xor ecx, ecx
pop edi
pop esi
pop ebx
mov byte [eax + 0x3c0], 0x61
mov word [eax + 0x3b8], cx
and dword [edx], 0xfffffffb
xor eax, eax
mov esp, ebp
pop ebp
ret
mov dl, byte [ebp + 0xc]
xor eax, eax
mov byte [ebp - 2], dl
mov byte [ebp - 1], dl
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0xffff
nop dword [eax + eax]
mov ebx, dword [esi + 0x9c]
mov byte [ebp - 3], dl
test bl, 1
je 0x100330ea
movzx eax, word [esi + 0xdc]
movzx edx, dl
shr edx, 7
add edx, eax
mov dword [ebp - 0x18], eax
mov ecx, edx
and ecx, 7
movzx eax, byte [edx + 0x1004e0e8]
mov dword [ebp - 0x1c], eax
mov eax, 1
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x18]
test byte [edx + 0x1004e2e8], al
mov eax, dword [ebp - 0x1c]
je 0x10033072
or eax, 0x8000
jmp 0x10033075
lea eax, [ecx + eax*2]
mov dl, byte [ebp - 2]
movzx eax, ax
add dl, dl
mov word [esi + 0xdc], ax
mov byte [ebp - 2], dl
cmp ax, word [ebp - 0x20]
je 0x100329ce
test ax, ax
js 0x100330b3
cmp byte [ebp - 3], 0
jl 0x100330a8
or ebx, 0x200
mov dword [esi + 0x9c], ebx
inc byte [esi + 0xe3]
jmp 0x100331d6
mov byte [ebp - 1], al
xor eax, eax
mov ebx, dword [esi + 0x9c]
and ebx, 0xfffffdff
mov word [esi + 0xdc], ax
mov byte [esi + 0xe3], al
mov dword [esi + 0x9c], ebx
cmp byte [ebp - 1], al
jne 0x100330e5
cmp ecx, 0x76
je 0x100331ea
mov ecx, dword [ebp - 8]
jmp 0x100330f1
mov dword [ebp - 0x10], 8
test bl, 2
je 0x10033179
mov eax, dword [esi + 0xa0]
test eax, eax
je case.0x10033132.2
cmp eax, 0xffff
je case.0x10033132.2
cmp dword [ecx + 0x398], 0x25
jne case.0x10033132.1
lea eax, [ebp - 1]
push eax
push edi
call fcn.10022d00
add esp, 8
cmp eax, 3
ja case.default.0x10033132
jmp dword [eax*4 + 0x1003359c]
mov edi, dword [edi + 0x20]
mov al, byte [ebp - 1]
mov ecx, dword [edi + 0x39c]
mov edx, dword [edi + 8]
mov byte [edx + ecx], al
movzx eax, byte [edi + 0x3bb]
inc dword [edi + 0x39c]
mov ecx, dword [ebp + 8]
inc word [edi + eax*8 + 0x14]
mov eax, dword [edi + 0x39c]
mov ecx, dword [ecx]
cmp eax, dword [ecx + 0x4d0]
jae 0x100329ce
mov edi, dword [ebp + 8]
jmp case.0x10033132.2
inc dword [esi + 0xd8]
test ebx, 0x100
je 0x1003319c
and ebx, 0xfffffeff
mov dword [esi + 0x9c], ebx
mov al, byte [ebp - 1]
mov byte [esi + 0xe4], al
mov al, byte [ebp - 1]
cmp al, 0x41
jb 0x100331a7
cmp al, 0x5a
jbe 0x10033200
mov dword [ebp - 0x14], 1
test byte [esi + 0x9c], 4
jne case.0x10033132.2
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 1]
push eax
push edi
call fcn.10022540
add esp, 0xc
test eax, eax
je case.0x10033132.2
or dword [esi + 0x9c], 4
mov dl, byte [ebp - 2]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, 8
jge 0x1003320a
mov ecx, dword [ebp - 8]
jmp 0x10033020
push str.Huffman_EOT_seen
jmp 0x10032b30
push str.Evil_URI
push 1
jmp 0x10032b32
push str.Uppercase_literal_hpack_hdr
jmp 0x10032b30
add dword [esi + 0xa4], 0xffffffff
jne case.0x100329f4.1
mov eax, dword [esi + 0x9c]
mov ecx, eax
test al, 1
je 0x10032d9f
mov dl, byte [esi + 0xe3]
cmp dl, 7
ja 0x10033245
test eax, 0x200
je 0x10032d9f
test dl, dl
je 0x10032d9f
push str.Huffman_padding_excessive_or_wrong
jmp 0x10032b30
mov ecx, dword [ebp - 8]
mov eax, dword [esi + 0x9c]
test al, 2
jne 0x1003328b
and eax, 0xfffffdff
mov dword [esi + 0x94], 2
or eax, 2
mov byte [esi + 0xe3], 0
pop edi
mov dword [esi + 0x9c], eax
xor eax, eax
mov byte [esi + 0xe6], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x98]
or ebx, 0xffffffff
sub edx, 1
je 0x100332d2
sub edx, 1
jne 0x100333e9
mov cl, byte [ecx + 0x3c0]
movzx ebx, cl
test al, 4
jne 0x100332bd
cmp cl, 0x61
je 0x100332bd
cmp cl, 0x63
jne 0x100333ad
cmp byte [esi + 0xe4], 0x3a
jne 0x100332e0
push str.Unknown_pseudoheader
push 1
jmp 0x10032b32
mov ebx, dword [esi + 0xa0]
cmp ebx, 0xffff
jne 0x100332ea
mov ebx, 0xffff
jmp 0x100333ad
push edi
call fcn.1001bab0
mov ecx, eax
add esp, 4
mov edx, dword [ecx + 0x88]
test edx, edx
je 0x100329ce
add edx, 0x48
mov dword [ebp + 8], edx
test ebx, ebx
js 0x100329ce
cmp ebx, 0x3e
jge 0x10033332
lea ecx, [esi + 0xd8]
test ecx, ecx
je 0x10033329
movzx eax, byte [ebx + 0x10048a08]
mov dword [ecx], eax
movzx ebx, byte [ebx + 0x10048a48]
jmp 0x100333ad
test edx, edx
je 0x100329ce
movzx eax, word [edx + 0xe]
add eax, 0x3e
cmp ebx, eax
jl 0x10033361
push str.index_out_of_range
push 9
push ecx
call fcn.1002ac30
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [edx + 0x10]
test ax, ax
je 0x10033385
mov ecx, eax
movzx eax, word [edx + 0xc]
sub eax, ebx
mov dword [ebp - 0x20], ecx
add eax, 0x3d
cdq
idiv ecx
mov eax, dword [ebp - 0x20]
mov ecx, edx
mov edx, dword [ebp + 8]
jmp 0x10033389
xor ecx, ecx
xor eax, eax
add eax, ecx
lea ebx, [esi + 0xd8]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*2]
test ebx, ebx
je 0x100333a6
mov eax, dword [edx]
movzx eax, word [eax + ecx*4 + 6]
mov dword [ebx], eax
mov eax, dword [edx]
movzx ebx, word [eax + ecx*4 + 8]
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x3bb]
or byte [edx + eax*8 + 0x17], 1
movzx ecx, byte [edx + 0x3bb]
movzx eax, word [edx + ecx*8 + 0x14]
push eax
mov eax, dword [edx + ecx*8 + 0x10]
add eax, dword [edx + 8]
push eax
push ebx
push dword [esi + 0xd8]
push edi
call fcn.10032090
add esp, 0x14
test eax, eax
jne 0x100329ce
cmp dword [esi + 0xa0], 0xffff
je 0x10033406
push edi
call fcn.100322b0
add esp, 4
test eax, eax
jne 0x100329ce
mov eax, dword [esi + 0x98]
cmp eax, 1
je 0x10033471
cmp eax, 5
je 0x1003351f
cmp eax, 2
je 0x1003351f
cmp eax, 6
je 0x1003351f
mov ebx, dword [esi + 0xa0]
cmp ebx, 0xffff
jne 0x1003343c
jmp 0x10033488
push edi
call fcn.1001bab0
mov edx, eax
add esp, 4
mov dword [ebp - 0x20], edx
mov eax, dword [edx + 0x88]
test eax, eax
jne 0x10033459
or ebx, 0xffffffff
jmp 0x10033488
lea ecx, [eax + 0x48]
test ebx, ebx
jns 0x10033465
or ebx, 0xffffffff
jmp 0x10033488
cmp ebx, 0x3e
jge 0x100334b4
movzx ebx, byte [ebx + 0x10048a48]
cmp ebx, 0xffffffff
je 0x10033488
cmp ebx, 0xffff
je 0x10033488
push ebx
push edi
call fcn.10031fc0
add esp, 8
push ebx
push edi
push dword [ebp - 0xc]
call fcn.100327c0
add esp, 0xc
test eax, eax
jne 0x100329ce
or dword [esi + 0x9c], 0x100
pop edi
mov dword [esi + 0x94], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
jne 0x100334bd
or ebx, 0xffffffff
jmp 0x10033488
movzx eax, word [ecx + 0xe]
add eax, 0x3e
cmp ebx, eax
jl 0x100334dd
push str.index_out_of_range
push 9
push edx
call fcn.1002ac30
add esp, 0xc
or ebx, 0xffffffff
jmp 0x10033488
movzx eax, word [ecx + 0x10]
test ax, ax
je 0x100334fb
mov dword [ebp + 8], eax
movzx eax, word [ecx + 0xc]
sub eax, ebx
add eax, 0x3d
cdq
idiv dword [ebp + 8]
mov eax, dword [ebp + 8]
jmp 0x100334ff
xor edx, edx
xor eax, eax
add eax, edx
test edx, edx
cmovns eax, edx
mov edx, dword [ebp - 0x20]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x88]
mov eax, dword [eax + 0x48]
movzx ebx, word [eax + ecx*4 + 8]
jmp 0x10033471
mov eax, dword [ebp - 8]
movzx ebx, byte [eax + 0x3c0]
cmp ebx, 0xff
jne 0x10033471
or ebx, 0xffffffff
jmp 0x10033488
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret