Function at 0x28062164
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x58]
push esi
mov esi, dword [esp + 0x60]
xor ebx, ebx
and byte [esp + 0xe], bl
push edi
mov eax, dword [esi + 0x28]
push ebx
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x18]
push 0x11
push esi
push ebp
mov dword [esp + 0x34], 0xbc614e
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x23], 1
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x60], eax
call fcn.28063ed8
add ebp, 0x1ec
add esp, 0x10
cmp dword [esi + 0x28], ebp
mov edi, eax
je 0x280621c0
and byte [edi], bl
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x5e
jne 0x280621d7
inc dword [esi + 0x2c]
inc eax
cmp dword [esi + 0x28], ebp
mov dword [esi + 0x18], eax
je 0x280621d7
or byte [edi], 4
mov eax, dword [esi + 0x28]
cmp eax, ebp
jne 0x280621ed
mov eax, dword [esp + 0x60]
add dword [esi + 0x38], 9
add eax, 0x790
jmp 0x28062225
add eax, 0x24
test byte [esi + 1], 0x40
mov dword [esi + 0x28], eax
je 0x280621fc
or byte [edi], 2
test byte [esi + 1], 8
je 0x28062205
or byte [edi], 1
push 0x20
lea eax, [edi + 8]
push 0
push eax
call sub.MSVCRT.dll_memset
push 0xa
push str._comment_n
push dword [esp + 0x74]
call sym.perl510.dll_Perl_newSVpvn
add esp, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x14]
jae 0x28062236
movzx eax, byte [eax]
jmp 0x28062238
xor eax, eax
cmp dword [esi + 0x28], ebp
je 0x28062258
cmp eax, 0x3a
je 0x2806224c
cmp eax, 0x3d
je 0x2806224c
cmp eax, 0x2e
jne 0x28062258
push esi
push dword [esp + 0x64]
call fcn.28063c9f
pop ecx
pop ecx
mov eax, dword [esi + 0x18]
mov cl, byte [eax]
cmp cl, 0x5d
je 0x28062279
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x14]
jae 0x28063729
mov cl, byte [eax]
cmp cl, 0x5d
je 0x28063729
or dword [esp + 0x14], 0xffffffff
cmp dword [esp + 0x28], 0
jne 0x28062289
mov dword [esp + 0x20], eax
cmp dword [esi + 0x60], 0
je 0x280622c8
mov ebp, dword [esp + 0x60]
mov ebx, dword [esi + 0x18]
push 0x2c
push ebp
call sym.perl510.dll_Perl_ckwarn
neg al
sbb eax, eax
and al, 0x97
add eax, 0x69
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esi + 0x14]
sub eax, ebx
push eax
push ebx
push ebp
call sym.perl510.dll_Perl_utf8n_to_uvuni
mov ebx, eax
mov eax, dword [esp + 0x38]
add esp, 0x1c
add dword [esi + 0x18], eax
jmp 0x280622d3
mov ebp, dword [esp + 0x60]
inc eax
movzx ebx, cl
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x14]
jae 0x280622e0
movzx ecx, byte [eax]
jmp 0x280622e2
xor ecx, ecx
cmp ebx, 0x5b
jne 0x2806230f
cmp ecx, 0x3a
je 0x280622fa
cmp ecx, 0x3d
je 0x280622fa
cmp ecx, 0x2e
jne 0x280623c6
push 0x5b
push esi
push ebp
call fcn.28063945
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x280628f2
cmp ebx, 0x5c
jne 0x280623c6
cmp dword [esi + 0x60], 0
je 0x28062353
mov ebx, dword [esi + 0x18]
push 0x2c
push ebp
call sym.perl510.dll_Perl_ckwarn
neg al
sbb eax, eax
and al, 0x97
add eax, 0x69
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esi + 0x14]
sub eax, ebx
push eax
push ebx
push ebp
call sym.perl510.dll_Perl_utf8n_to_uvuni
mov ebx, eax
mov eax, dword [esp + 0x38]
add esp, 0x1c
add dword [esi + 0x18], eax
jmp 0x2806235a
movzx ebx, byte [eax]
inc eax
mov dword [esi + 0x18], eax
cmp ebx, 0x64
jg 0x280624d2
je 0x280624c5
cmp ebx, 0x53
jg 0x28062465
je 0x28062458
cmp ebx, 0x30
jl 0x28062738
cmp ebx, 0x39
jle 0x2806242d
cmp ebx, 0x44
je 0x28062420
cmp ebx, 0x48
je 0x28062413
cmp ebx, 0x4e
je 0x280623ab
cmp ebx, 0x50
je 0x2806250c
jmp 0x28062738
lea eax, [esp + 0x3c]
push eax
push esi
push ebp
call fcn.28061985
add esp, 0xc
test eax, eax
jne 0x28062262
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x28], 0
je 0x280634a6
cmp dword [esp + 0x24], ebx
jle 0x28063543
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov ecx, eax
sub eax, edx
mov dword [esp + 0x64], eax
sub ecx, dword [esp + 0x20]
add eax, edx
push eax
push edx
push dword [esp + 0x6c]
push dword [esp + 0x2c]
push ecx
push ecx
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Invalid____range___.s_
push ebp
call fcn.28064b10
add esp, 0x24
jmp 0x28063543
mov dword [esp + 0x14], 0x24
jmp 0x280628fd
mov dword [esp + 0x14], 5
jmp 0x280628fd
and dword [esp + 0x40], 0
dec dword [esi + 0x18]
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0x40]
push 0
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 3
push ecx
push eax
push ebp
call sym.perl510.dll_Perl_grok_oct
jmp 0x28062842
mov dword [esp + 0x14], 3
jmp 0x280628fd
mov eax, ebx
sub eax, 0x56
je 0x280624b8
dec eax
je 0x280624ab
sub eax, 0xa
je 0x280624a4
dec eax
je 0x2806249d
dec eax
jne 0x28062738
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax]
inc eax
cmp ebx, 0x61
mov dword [esi + 0x18], eax
jb 0x28062495
cmp ebx, 0x7a
ja 0x28062495
add ebx, 0xffffffe0
xor ebx, 0x40
jmp 0x280623c6
push 8
jmp 0x280628e4
push 7
jmp 0x280628e4
mov dword [esp + 0x14], 1
jmp 0x280628fd
mov dword [esp + 0x14], 0x22
jmp 0x280628fd
mov dword [esp + 0x14], 4
jmp 0x280628fd
cmp ebx, 0x72
jg 0x28062711
je 0x2806270a
mov eax, ebx
sub eax, 0x65
je 0x28062703
dec eax
je 0x280626fc
dec eax
dec eax
je 0x280626ef
sub eax, 6
je 0x280626e8
dec eax
dec eax
jne 0x28062738
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x14]
jb 0x28062555
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x28062530
push dword [esi + 8]
push 0x28064d23
push ebp
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
movzx eax, bl
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Empty__c
push ebp
call fcn.28064b10
add esp, 0x1c
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x7b
jne 0x28062650
lea ecx, [eax + 1]
push 0x7d
push eax
mov dword [esi + 0x18], ecx
call dword [sym.imp.MSVCRT.dll_strchr]
pop ecx
mov dword [esp + 0x68], eax
test eax, eax
pop ecx
jne 0x280625bb
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x28062596
push dword [esi + 8]
push 0x28064d23
push ebp
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
movzx eax, bl
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Missing_right_brace_on__c
push ebp
call fcn.28064b10
add esp, 0x1c
mov ecx, dword [esi + 0x18]
mov al, byte [ecx]
cmp al, 0x20
je 0x280625d4
cmp al, 9
je 0x280625d4
cmp al, 0xa
je 0x280625d4
cmp al, 0xd
je 0x280625d4
cmp al, 0xc
jne 0x280625da
inc ecx
mov dword [esi + 0x18], ecx
jmp 0x280625bb
mov eax, dword [esp + 0x64]
cmp eax, dword [esi + 0x18]
jne 0x28062624
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x280625ff
push dword [esi + 8]
push 0x28064d23
push ebp
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
movzx eax, bl
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Empty__c
push ebp
call fcn.28064b10
add esp, 0x1c
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
sub ebp, eax
lea edx, [eax + ebp - 1]
mov cl, byte [edx]
cmp cl, 0x20
je 0x2806264c
cmp cl, 9
je 0x2806264c
cmp cl, 0xa
je 0x2806264c
cmp cl, 0xd
je 0x2806264c
cmp cl, 0xc
jne 0x28062657
dec ebp
dec edx
jmp 0x28062631
push 1
mov dword [esp + 0x68], eax
pop ebp
mov ecx, dword [esp + 0x60]
add ecx, 0x1ec
cmp dword [esi + 0x28], ecx
je 0x280626cc
cmp byte [eax], 0x5e
jne 0x280626a3
inc eax
dec ebp
xor ecx, ecx
cmp ebx, 0x70
setne cl
dec ecx
mov dword [esi + 0x18], eax
and ecx, 0xffffffe0
add ecx, 0x70
mov ebx, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x2806269c
cmp cl, 9
je 0x2806269c
cmp cl, 0xa
je 0x2806269c
cmp cl, 0xd
je 0x2806269c
cmp cl, 0xc
jne 0x280626a3
inc eax
dec ebp
mov dword [esi + 0x18], eax
jmp 0x28062681
push dword [esi + 0x18]
xor eax, eax
cmp ebx, 0x70
setne al
dec eax
push ebp
and eax, 0xa
add eax, 0x21
push eax
push str._cutf8::_.s_n
push dword [esp + 0x28]
push dword [esp + 0x74]
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x18
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
inc eax
mov dword [esp + 0x14], 0x20
mov dword [esi + 0x18], eax
or byte [edi], 0x20
jmp 0x280628fd
push 0xa
jmp 0x280628e4
mov dword [esp + 0x14], 0x23
jmp 0x280628fd
push 0xc
jmp 0x280628e4
push 0x1b
jmp 0x280628e4
push 0xd
jmp 0x280628e4
mov eax, ebx
sub eax, 0x73
je 0x280628ea
dec eax
je 0x280628e2
push 2
pop ecx
sub eax, ecx
je 0x280628d8
dec eax
je 0x280628d1
dec eax
je 0x2806278e
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x280623c6
cmp ebx, 0x41
jb 0x28062751
cmp ebx, 0x5a
jbe 0x28062763
cmp ebx, 0x61
jb 0x280623c6
cmp ebx, 0x7a
ja 0x280623c6
push 0x14
push ebp
call sym.perl510.dll_Perl_ckwarn
pop ecx
test al, al
pop ecx
je 0x280623c6
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
push ebx
push str.Unrecognized_escape__c_in_character_class_passed_through_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
jmp 0x280628c1
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x7b
jne 0x28062827
lea ecx, [eax + 1]
push 0x7d
push eax
mov dword [esp + 0x4c], 3
mov dword [esi + 0x18], ecx
call dword [sym.imp.MSVCRT.dll_strchr]
pop ecx
mov dword [esp + 0x68], eax
test eax, eax
pop ecx
jne 0x280627f8
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x280627d7
push dword [esi + 8]
push 0x28064d23
push ebp
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
push str.Missing_right_brace_on_x
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebp
call sym.perl510.dll_Perl_croak
add esp, 0x18
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x64]
sub ecx, eax
push 0
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x24]
push ecx
push eax
push ebp
call sym.perl510.dll_Perl_grok_hex
mov ebx, eax
mov eax, dword [esp + 0x78]
add esp, 0x14
inc eax
mov dword [esi + 0x18], eax
jmp 0x2806284e
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x48]
push 0
push ecx
lea ecx, [esp + 0x24]
push ecx
push eax
push ebp
call sym.perl510.dll_Perl_grok_hex
mov ebx, eax
mov eax, dword [esp + 0x30]
add esp, 0x14
add dword [esi + 0x18], eax
mov eax, dword [ebp + 0x8c4]
test eax, eax
je 0x280623c6
cmp ebx, 0x100
jae 0x280623c6
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push ebx
push ebp
call fcn.2806208b
add esp, 0xc
cmp dword [esp + 0x34], 0
mov ebx, eax
jne 0x280623c6
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
jne 0x280623c6
push 0x14
push ebp
call sym.perl510.dll_Perl_ckwarn
pop ecx
test al, al
pop ecx
je 0x280623c6
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
push str.Invalid_escape_in_the_specified_encoding
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push 0x14
push ebp
call sym.perl510.dll_Perl_warner
add esp, 0x1c
jmp 0x280623c6
and dword [esp + 0x14], 0
jmp 0x280628fd
mov dword [esp + 0x14], 0x21
jmp 0x280628fd
push 9
pop ebx
jmp 0x280623c6
mov dword [esp + 0x14], 2
cmp dword [esp + 0x14], 0xffffffff
jle 0x280623c6
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2806291f
cmp byte [esp + 0x12], 0
jne 0x2806291f
push 4
lea eax, [edi + 0x28]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
cmp dword [esp + 0x28], 0
mov byte [esp + 0x12], 1
je 0x280629d2
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x280629cd
push 0x14
push ebp
call sym.perl510.dll_Perl_ckwarn
pop ecx
test al, al
pop ecx
je 0x2806298d
mov eax, dword [esi + 0x18]
cmp eax, dword [esp + 0x20]
jb 0x28062961
mov ecx, eax
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x64], ecx
jmp 0x28062966
and dword [esp + 0x64], 0
mov ecx, dword [esi + 4]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
push dword [esp + 0x2c]
push dword [esp + 0x74]
push dword [esp + 0x78]
push str.False____range___.s__in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push 0x14
push ebp
call sym.perl510.dll_Perl_warner
add esp, 0x24
mov ecx, dword [esp + 0x24]
cmp ecx, 0x100
jge 0x280629b2
movzx eax, cl
and ecx, 7
mov dl, 1
shr eax, 3
shl dl, cl
lea eax, [eax + edi + 8]
or byte [eax], dl
or byte [edi + 0xd], 0x20
jmp 0x280629cd
push 0x2d
or byte [edi], 0x20
push dword [esp + 0x28]
push str._04lx_n_04lx_n
push dword [esp + 0x24]
push ebp
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x14
and dword [esp + 0x28], 0
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x280623c6
mov eax, dword [esp + 0x14]
and byte [esp + 0x64], 0
xor ebp, ebp
cmp eax, 0xffffffff
jle 0x280629f6
and byte [esp + 0x13], 0
cmp eax, 0x24
ja case.0x280629ff.30
jmp dword [eax*4 + 0x280638b1]
test byte [esi + 1], 8
je 0x28062a12
or byte [edi + 0x28], 0x40
jmp 0x28062a51
xor ebx, ebx
cmp ebx, 0x41
jb 0x28062a1e
cmp ebx, 0x5a
jbe 0x28062a32
cmp ebx, 0x61
jb 0x28062a28
cmp ebx, 0x7a
jbe 0x28062a32
cmp ebx, 0x30
jb 0x28062a48
cmp ebx, 0x39
ja 0x28062a48
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062a14
mov byte [esp + 0x64], 0x2b
jmp 0x28062aa8
test byte [esi + 1], 8
je 0x28062a64
or byte [edi + 0x28], 0x80
jmp 0x28062aa3
xor ebx, ebx
cmp ebx, 0x41
jb 0x28062a70
cmp ebx, 0x5a
jbe 0x28062a9a
cmp ebx, 0x61
jb 0x28062a7a
cmp ebx, 0x7a
jbe 0x28062a9a
cmp ebx, 0x30
jb 0x28062a84
cmp ebx, 0x39
jbe 0x28062a9a
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062a66
mov byte [esp + 0x64], 0x21
mov ebp, str.Alnum
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062abe
or byte [edi + 0x29], 1
jmp 0x28062af3
xor ebx, ebx
cmp ebx, 0x41
jb 0x28062aca
cmp ebx, 0x5a
jbe 0x28062ad4
cmp ebx, 0x61
jb 0x28062aea
cmp ebx, 0x7a
ja 0x28062aea
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062ac0
mov byte [esp + 0x64], 0x2b
jmp 0x28062b40
test byte [esi + 1], 8
je 0x28062b06
or byte [edi + 0x29], 2
jmp 0x28062b3b
xor ebx, ebx
cmp ebx, 0x41
jb 0x28062b12
cmp ebx, 0x5a
jbe 0x28062b32
cmp ebx, 0x61
jb 0x28062b1c
cmp ebx, 0x7a
jbe 0x28062b32
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062b08
mov byte [esp + 0x64], 0x21
mov ebp, str.Alpha
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062b56
or byte [edi + 0x2b], 0x10
jmp 0x28062b81
xor ebx, ebx
cmp ebx, 0x20
je 0x28062b62
cmp ebx, 9
jne 0x28062b78
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062b58
mov byte [esp + 0x64], 0x2b
jmp 0x28062bc4
test byte [esi + 1], 8
je 0x28062b94
or byte [edi + 0x2b], 0x20
jmp 0x28062bbf
xor ebx, ebx
cmp ebx, 0x20
je 0x28062bb6
cmp ebx, 9
je 0x28062bb6
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062b96
mov byte [esp + 0x64], 0x21
mov ebp, str.Blank
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062bda
or byte [edi + 0x29], 0x10
jmp 0x28062c05
xor ebx, ebx
cmp ebx, 0x20
jb 0x28062be6
cmp ebx, 0x7f
jne 0x28062bfc
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062bdc
mov byte [esp + 0x64], 0x2b
jmp 0x28062c48
test byte [esi + 1], 8
je 0x28062c18
or byte [edi + 0x29], 0x20
jmp 0x28062c43
xor ebx, ebx
cmp ebx, 0x20
jb 0x28062c3a
cmp ebx, 0x7f
je 0x28062c3a
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062c1a
mov byte [esp + 0x64], 0x21
mov ebp, str.Cntrl
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062c5e
or byte [edi + 0x29], 0x40
jmp 0x28062cca
xor ebx, ebx
cmp ebx, 0x41
jb 0x28062c6a
cmp ebx, 0x5a
jbe 0x28062cab
cmp ebx, 0x61
jb 0x28062c74
cmp ebx, 0x7a
jbe 0x28062cab
cmp ebx, 0x30
jb 0x28062c7e
cmp ebx, 0x39
jbe 0x28062cab
cmp ebx, 0x5f
je 0x28062cab
cmp ebx, 0x21
jb 0x28062c8d
cmp ebx, 0x2f
jbe 0x28062cab
cmp ebx, 0x3a
jb 0x28062c97
cmp ebx, 0x40
jbe 0x28062cab
cmp ebx, 0x5b
jb 0x28062ca1
cmp ebx, 0x60
jbe 0x28062cab
cmp ebx, 0x7b
jb 0x28062cc1
cmp ebx, 0x7e
ja 0x28062cc1
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062c60
mov byte [esp + 0x64], 0x2b
jmp 0x28062d4e
test byte [esi + 1], 8
je 0x28062cdd
or byte [edi + 0x29], 0x80
jmp 0x28062d49
xor ebx, ebx
cmp ebx, 0x41
jb 0x28062ce9
cmp ebx, 0x5a
jbe 0x28062d40
cmp ebx, 0x61
jb 0x28062cf3
cmp ebx, 0x7a
jbe 0x28062d40
cmp ebx, 0x30
jb 0x28062cfd
cmp ebx, 0x39
jbe 0x28062d40
cmp ebx, 0x5f
je 0x28062d40
cmp ebx, 0x21
jb 0x28062d0c
cmp ebx, 0x2f
jbe 0x28062d40
cmp ebx, 0x3a
jb 0x28062d16
cmp ebx, 0x40
jbe 0x28062d40
cmp ebx, 0x5b
jb 0x28062d20
cmp ebx, 0x60
jbe 0x28062d40
cmp ebx, 0x7b
jb 0x28062d2a
cmp ebx, 0x7e
jbe 0x28062d40
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062cdf
mov byte [esp + 0x64], 0x21
mov ebp, str.Graph
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062d64
or byte [edi + 0x2a], 1
jmp 0x28062d8f
xor ebx, ebx
cmp ebx, 0x61
jb 0x28062d86
cmp ebx, 0x7a
ja 0x28062d86
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062d66
mov byte [esp + 0x64], 0x2b
jmp 0x28062dd2
test byte [esi + 1], 8
je 0x28062da2
or byte [edi + 0x2a], 2
jmp 0x28062dcd
xor ebx, ebx
cmp ebx, 0x61
jb 0x28062dae
cmp ebx, 0x7a
jbe 0x28062dc4
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062da4
mov byte [esp + 0x64], 0x21
mov ebp, str.Lower
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062de8
or byte [edi + 0x2a], 4
jmp 0x28062e13
xor ebx, ebx
cmp ebx, 0x20
jb 0x28062e0a
cmp ebx, 0x7f
jae 0x28062e0a
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062dea
mov byte [esp + 0x64], 0x2b
jmp 0x28062e56
test byte [esi + 1], 8
je 0x28062e26
or byte [edi + 0x2a], 8
jmp 0x28062e51
xor ebx, ebx
cmp ebx, 0x20
jb 0x28062e32
cmp ebx, 0x7f
jb 0x28062e48
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062e28
mov byte [esp + 0x64], 0x21
mov ebp, str.Print
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062e6c
or byte [edi + 0x2b], 4
jmp 0x28062eab
xor ebx, ebx
cmp ebx, 0x20
je 0x28062e8c
cmp ebx, 9
je 0x28062e8c
cmp ebx, 0xa
je 0x28062e8c
cmp ebx, 0xd
je 0x28062e8c
cmp ebx, 0xc
je 0x28062e8c
cmp ebx, 0xb
jne 0x28062ea2
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062e6e
mov byte [esp + 0x64], 0x2b
jmp 0x28062f02
test byte [esi + 1], 8
je 0x28062ebe
or byte [edi + 0x2b], 8
jmp 0x28062efd
xor ebx, ebx
cmp ebx, 0x20
je 0x28062ef4
cmp ebx, 9
je 0x28062ef4
cmp ebx, 0xa
je 0x28062ef4
cmp ebx, 0xd
je 0x28062ef4
cmp ebx, 0xc
je 0x28062ef4
cmp ebx, 0xb
je 0x28062ef4
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062ec0
mov byte [esp + 0x64], 0x21
mov ebp, str.Space
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062f18
or byte [edi + 0x2a], 0x10
jmp 0x28062f61
xor ebx, ebx
cmp ebx, 0x21
jb 0x28062f24
cmp ebx, 0x2f
jbe 0x28062f42
cmp ebx, 0x3a
jb 0x28062f2e
cmp ebx, 0x40
jbe 0x28062f42
cmp ebx, 0x5b
jb 0x28062f38
cmp ebx, 0x60
jbe 0x28062f42
cmp ebx, 0x7b
jb 0x28062f58
cmp ebx, 0x7e
ja 0x28062f58
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062f1a
mov byte [esp + 0x64], 0x2b
jmp 0x28062fc2
test byte [esi + 1], 8
je 0x28062f74
or byte [edi + 0x2a], 0x20
jmp 0x28062fbd
xor ebx, ebx
cmp ebx, 0x21
jb 0x28062f80
cmp ebx, 0x2f
jbe 0x28062fb4
cmp ebx, 0x3a
jb 0x28062f8a
cmp ebx, 0x40
jbe 0x28062fb4
cmp ebx, 0x5b
jb 0x28062f94
cmp ebx, 0x60
jbe 0x28062fb4
cmp ebx, 0x7b
jb 0x28062f9e
cmp ebx, 0x7e
jbe 0x28062fb4
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062f76
mov byte [esp + 0x64], 0x21
mov ebp, str.Punct
jmp 0x28063474
test byte [esi + 1], 8
je 0x28062fd8
or byte [edi + 0x2a], 0x40
jmp 0x28063003
xor ebx, ebx
cmp ebx, 0x41
jb 0x28062ffa
cmp ebx, 0x5a
ja 0x28062ffa
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28062fda
mov byte [esp + 0x64], 0x2b
jmp 0x28063046
test byte [esi + 1], 8
je 0x28063016
or byte [edi + 0x2a], 0x80
jmp 0x28063041
xor ebx, ebx
cmp ebx, 0x41
jb 0x28063022
cmp ebx, 0x5a
jbe 0x28063038
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063018
mov byte [esp + 0x64], 0x21
mov ebp, str.Upper
jmp 0x28063474
test byte [esi + 1], 8
je 0x2806305c
or byte [edi + 0x28], 1
jmp 0x280630a0
xor ebx, ebx
cmp ebx, 0x41
jb 0x28063068
cmp ebx, 0x5a
jbe 0x28063081
cmp ebx, 0x61
jb 0x28063072
cmp ebx, 0x7a
jbe 0x28063081
cmp ebx, 0x30
jb 0x2806307c
cmp ebx, 0x39
jbe 0x28063081
cmp ebx, 0x5f
jne 0x28063097
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x2806305e
mov byte [esp + 0x64], 0x2b
jmp 0x280630fc
test byte [esi + 1], 8
je 0x280630b3
or byte [edi + 0x28], 2
jmp 0x280630f7
xor ebx, ebx
cmp ebx, 0x41
jb 0x280630bf
cmp ebx, 0x5a
jbe 0x280630ee
cmp ebx, 0x61
jb 0x280630c9
cmp ebx, 0x7a
jbe 0x280630ee
cmp ebx, 0x30
jb 0x280630d3
cmp ebx, 0x39
jbe 0x280630ee
cmp ebx, 0x5f
je 0x280630ee
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x280630b5
mov byte [esp + 0x64], 0x21
mov ebp, str.Word
jmp 0x28063474
test byte [esi + 1], 8
je 0x28063112
or byte [edi + 0x28], 4
jmp 0x2806314c
xor ebx, ebx
cmp ebx, 0x20
je 0x2806312d
cmp ebx, 9
je 0x2806312d
cmp ebx, 0xa
je 0x2806312d
cmp ebx, 0xd
je 0x2806312d
cmp ebx, 0xc
jne 0x28063143
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063114
mov byte [esp + 0x64], 0x2b
jmp 0x2806319e
test byte [esi + 1], 8
je 0x2806315f
or byte [edi + 0x28], 8
jmp 0x28063199
xor ebx, ebx
cmp ebx, 0x20
je 0x28063190
cmp ebx, 9
je 0x28063190
cmp ebx, 0xa
je 0x28063190
cmp ebx, 0xd
je 0x28063190
cmp ebx, 0xc
je 0x28063190
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063161
mov byte [esp + 0x64], 0x21
mov ebp, str.SpacePerl
jmp 0x28063474
test byte [esi + 1], 8
je 0x280631b4
or byte [edi + 0x2b], 1
jmp 0x280631f3
xor ebx, ebx
cmp ebx, 0x30
jb 0x280631c0
cmp ebx, 0x39
jbe 0x280631d4
cmp ebx, 0x61
jb 0x280631ca
cmp ebx, 0x66
jbe 0x280631d4
cmp ebx, 0x41
jb 0x280631ea
cmp ebx, 0x46
ja 0x280631ea
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x280631b6
mov byte [esp + 0x64], 0x2b
jmp 0x2806324a
test byte [esi + 1], 8
je 0x28063206
or byte [edi + 0x2b], 2
jmp 0x28063245
xor ebx, ebx
cmp ebx, 0x30
jb 0x28063212
cmp ebx, 0x39
jbe 0x2806323c
cmp ebx, 0x61
jb 0x2806321c
cmp ebx, 0x66
jbe 0x2806323c
cmp ebx, 0x41
jb 0x28063226
cmp ebx, 0x46
jbe 0x2806323c
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063208
mov byte [esp + 0x64], 0x21
mov ebp, str.XDigit
jmp 0x28063474
xor ebx, ebx
cmp bl, 0xa
jb 0x28063260
cmp bl, 0xd
jbe 0x28063265
cmp bl, 0x85
jne 0x2806327b
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063256
mov byte [esp + 0x64], 0x2b
jmp 0x280632c0
xor ebx, ebx
cmp bl, 0xa
jb 0x28063297
cmp bl, 0xd
jbe 0x280632b2
cmp bl, 0x85
je 0x280632b2
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x2806328d
mov byte [esp + 0x64], 0x21
mov ebp, str.VertSpace
jmp 0x28063474
xor ebx, ebx
cmp bl, 9
je 0x280632db
cmp bl, 0x20
je 0x280632db
cmp bl, 0xa0
jne 0x280632f1
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x280632cc
mov byte [esp + 0x64], 0x2b
jmp 0x28063336
xor ebx, ebx
cmp bl, 9
je 0x28063328
cmp bl, 0x20
je 0x28063328
cmp bl, 0xa0
je 0x28063328
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063303
mov byte [esp + 0x64], 0x21
mov ebp, str.HorizSpace
jmp 0x28063474
test byte [esi + 1], 8
je 0x2806334c
or byte [edi + 0x29], 4
jmp 0x2806336d
xor ebx, ebx
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x80
jb 0x2806334e
mov byte [esp + 0x64], 0x2b
jmp 0x280633a9
test byte [esi + 1], 8
je 0x28063380
or byte [edi + 0x29], 8
jmp 0x280633a4
mov ebx, 0x80
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063385
mov byte [esp + 0x64], 0x21
mov ebp, str.ASCII
jmp 0x28063474
test byte [esi + 1], 8
je 0x280633bf
or byte [edi + 0x28], 0x10
jmp 0x280633de
push 0x30
pop ebx
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x39
jbe 0x280633c2
mov byte [esp + 0x64], 0x2b
jmp 0x28063435
test byte [esi + 1], 8
je 0x280633f1
or byte [edi + 0x28], 0x20
jmp 0x28063430
xor edx, edx
movzx eax, dl
mov ecx, edx
mov bl, 1
and ecx, 7
shr eax, 3
shl bl, cl
lea eax, [eax + edi + 8]
or byte [eax], bl
inc edx
cmp edx, 0x30
jb 0x280633f3
push 0x3a
pop ebx
movzx eax, bl
shr eax, 3
mov ecx, ebx
lea ebp, [eax + edi + 8]
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc ebx
cmp ebx, 0x100
jb 0x28063411
mov byte [esp + 0x64], 0x21
mov ebp, str.Digit
jmp 0x28063474
push dword [esi + 8]
push 0x28064d23
push dword [esp + 0x68]
call sym.perl510.dll_Perl_save_destructor_x
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
push str.Invalid__::__class
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push dword [esp + 0x80]
call sym.perl510.dll_Perl_croak
add esp, 0x24
test ebp, ebp
je case.0x280629ff.32
movsx eax, byte [esp + 0x64]
push ebp
push eax
push str._cutf8::Is_s_n
push dword [esp + 0x24]
push dword [esp + 0x70]
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x14
test byte [esi + 1], 8
je 0x28062262
or byte [edi], 8
jmp 0x28062262
mov eax, dword [esi + 0x18]
mov dword [esp + 0x24], ebx
cmp byte [eax], 0x2d
jne 0x28063543
inc eax
cmp eax, dword [esi + 0x14]
jae 0x28063543
cmp byte [eax], 0x5d
je 0x28063543
cmp dword [esp + 0x14], 0xffffffff
mov dword [esi + 0x18], eax
jle 0x28063536
push 0x14
push ebp
call sym.perl510.dll_Perl_ckwarn
pop ecx
test al, al
pop ecx
je 0x2806351e
mov eax, dword [esi + 0x18]
cmp eax, dword [esp + 0x20]
jb 0x280634f2
mov ecx, eax
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x64], ecx
jmp 0x280634f7
and dword [esp + 0x64], 0
mov ecx, dword [esi + 4]
sub eax, ecx
lea edx, [ecx + eax]
push edx
push ecx
push eax
push dword [esp + 0x2c]
push dword [esp + 0x74]
push dword [esp + 0x78]
push str.False____range___.s__in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push 0x14
push ebp
call sym.perl510.dll_Perl_warner
add esp, 0x24
add ebp, 0x1ec
cmp dword [esi + 0x28], ebp
je 0x28062262
or byte [edi + 0xd], 0x20
jmp 0x28062262
mov dword [esp + 0x28], 1
jmp 0x28062262
add ebp, 0x1ec
cmp dword [esi + 0x28], ebp
je 0x2806371f
mov ecx, dword [esp + 0x24]
mov eax, 0x100
cmp ecx, eax
jge 0x280635b5
cmp ebx, eax
mov dword [esp + 0x64], ebx
jb 0x2806356f
mov dword [esp + 0x64], 0xff
cmp ecx, dword [esp + 0x64]
mov eax, ecx
mov dword [esp + 0x28], eax
jg 0x280635b5
mov ecx, eax
push 1
movzx eax, al
shr eax, 3
and ecx, 7
movsx edx, byte [eax + edi + 8]
lea ebp, [eax + edi + 8]
pop eax
shl eax, cl
test edx, eax
jne 0x280635a6
inc dword [esp + 0x2c]
mov al, 1
shl al, cl
or al, byte [ebp]
mov byte [ebp], al
mov eax, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x28], eax
jle 0x2806357b
cmp ebx, 0xff
ja 0x280635c7
cmp dword [esi + 0x60], 0
je 0x2806371f
add dword [esp + 0x2c], 2
or byte [edi], 0x20
cmp dword [esp + 0x24], ebx
jae 0x280635f4
push ebx
push dword [esp + 0x28]
push str._04lx_t_04lx_n
push dword [esp + 0x24]
push dword [esp + 0x70]
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x14
jmp 0x2806371f
jne 0x2806371f
mov ebp, dword [esp + 0x60]
push ebx
push str._04lx_n
push dword [esp + 0x20]
push ebp
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x10
test byte [esi + 1], 0x40
je 0x2806371f
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x58]
push eax
push ebx
push ebp
call sym.perl510.dll_Perl_to_uni_fold
add esp, 0x10
cmp eax, ebx
je 0x280636cb
cmp eax, 0x80
jae 0x28063643
push 1
pop ecx
jmp 0x28063679
cmp eax, 0x800
jae 0x2806364e
push 2
jmp 0x28063640
cmp eax, 0x10000
jae 0x28063659
push 3
jmp 0x28063640
cmp eax, 0x200000
jae 0x28063664
push 4
jmp 0x28063640
cmp eax, 0x4000000
jae 0x2806366f
push 5
jmp 0x28063640
cmp eax, 0x80000000
sbb ecx, ecx
add ecx, 7
cmp dword [esp + 0x38], ecx
jne 0x28063694
push eax
push str._04lx_n
push dword [esp + 0x20]
push ebp
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x10
jmp 0x280636cb
cmp dword [esp + 0x30], 0
jne 0x280636a9
push 0xb
push ebp
call sym.perl510.dll_Perl_newSV_type
pop ecx
mov dword [esp + 0x34], eax
pop ecx
push 0x20000000
lea eax, [esp + 0x58]
push dword [esp + 0x3c]
push eax
push ebp
call sym.perl510.dll_Perl_newSVpvn_flags
push eax
push dword [esp + 0x44]
push ebp
call sym.perl510.dll_Perl_av_push
add esp, 0x1c
cmp ebx, 0x3c2
jne 0x28063700
push 0x3a3
push str._04lx_n
push dword [esp + 0x20]
push ebp
call sym.perl510.dll_Perl_sv_catpvf
push 0x3c3
push str._04lx_n
push dword [esp + 0x30]
push ebp
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x20
jmp 0x2806371f
cmp ebx, 0x3a3
jne 0x2806371f
push 0x3c3
push str._04lx_n
push dword [esp + 0x20]
push ebp
call sym.perl510.dll_Perl_sv_catpvf
add esp, 0x10
and dword [esp + 0x28], 0
jmp 0x28062262
cmp byte [esp + 0x12], 0
je 0x28063751
mov ebp, dword [esp + 0x60]
or byte [edi], 0x80
mov eax, dword [esi + 0x28]
lea ecx, [ebp + 0x1ec]
cmp eax, ecx
jne 0x28063749
inc dword [esi + 0x38]
jmp 0x28063755
add eax, 4
mov dword [esi + 0x28], eax
jmp 0x28063755
mov ebp, dword [esp + 0x60]
lea eax, [ebp + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x280638a7
cmp dword [esp + 0x2c], 1
jne 0x280637dc
cmp ebx, 0x80
jb 0x28063781
cmp ebx, 0x100
jae 0x280637dc
cmp dword [esi + 0x60], 0
jne 0x280637dc
test byte [edi], 0xfd
jne 0x280637dc
mov eax, dword [esp + 0x4c]
mov ebp, dword [esi + 0x18]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x18], eax
test byte [edi], 2
setne al
add eax, 0x21
push eax
push esi
push dword [esp + 0x68]
call fcn.28063e87
mov edi, eax
mov dword [esi + 0x18], ebp
add esp, 0xc
mov byte [edi + 4], bl
mov byte [edi], 1
add dword [esi + 0x28], 4
cmp dword [esp + 0x18], 0
je 0x280638a7
push dword [esp + 0x18]
push dword [esp + 0x64]
call sym.perl510.dll_Perl_sv_free
pop ecx
pop ecx
jmp 0x280638a7
mov al, byte [edi]
and al, 0xfb
cmp al, 2
jne 0x28063829
xor edx, edx
mov ecx, edx
push 1
and ecx, 7
pop eax
shl eax, cl
movzx ecx, dl
shr ecx, 3
movsx ecx, byte [ecx + edi + 8]
test ecx, eax
je 0x2806381d
movzx ecx, byte [edx + sym.perl510.dll_PL_fold]
cmp ecx, edx
je 0x2806381d
movzx eax, cl
and ecx, 7
mov bl, 1
shr eax, 3
shl bl, cl
lea eax, [eax + edi + 8]
or byte [eax], bl
inc edx
cmp edx, 0x100
jb 0x280637e6
and byte [edi], 0xfd
cmp byte [esp + 0x13], 0
je 0x2806384f
cmp byte [edi], 4
jne 0x2806384f
push 0xfffffffffffffff8
lea eax, [edi + 8]
pop ecx
sub ecx, edi
mov dl, byte [eax]
not dl
mov byte [eax], dl
inc eax
lea edx, [ecx + eax]
cmp edx, 0x20
jb 0x2806383d
mov byte [edi], 0x40
push 0xb
push ebp
call sym.perl510.dll_Perl_newSV_type
push dword [esp + 0x20]
mov ebx, eax
push 0
push ebx
push ebp
call sym.perl510.dll_Perl_av_store
push 0
push 1
push ebx
push ebp
call sym.perl510.dll_Perl_av_store
push dword [esp + 0x58]
push 2
push ebx
push ebp
call sym.perl510.dll_Perl_av_store
push ebx
push ebp
call sym.perl510.dll_Perl_newRV_noinc
add esp, 0x40
mov ebx, eax
push 0x280bb3f0
push 1
push esi
call fcn.2805dc30
mov ecx, dword [esi + 0xc]
add esp, 0xc
mov ecx, dword [ecx + 0xc]
mov dword [ecx + eax*4 + 8], ebx
mov dword [edi + 4], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret