Function at 0x2805e3b0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov esi, dword [ebp + 0xc]
and byte [ebp + 0xf], 0
and byte [ebp - 2], 0
mov ebx, dword [ebp + 8]
mov eax, dword [esi]
push edi
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x14]
xor edi, edi
cmp dword [ebp + 0x10], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [eax], edi
je 0x2805fb10
mov eax, dword [esi + 0x18]
mov cl, byte [eax]
cmp cl, 0x2a
jne 0x2805e823
xor edx, edx
mov dword [ebp + 0x10], eax
and byte [ebp + 0xc], dl
mov dword [ebp + 0x18], edx
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x20], edi
mov eax, dword [esi + 0x18]
mov cl, byte [eax]
cmp cl, 0x29
je 0x2805e438
cmp cl, 0x3a
je 0x2805e431
inc eax
mov dword [esi + 0x18], eax
cmp byte [eax], 0
jne 0x2805e417
jmp 0x2805e438
mov edx, dword [esi + 0x18]
inc edx
mov dword [ebp + 0x18], edx
mov eax, dword [esi + 0x18]
inc dword [ebp + 0x10]
mov ecx, eax
mov ebx, 0x28064d23
sub ecx, dword [ebp + 0x10]
cmp edx, edi
mov dword [ebp + 0x14], ecx
je 0x2805e4b0
inc eax
mov dword [esi + 0x18], eax
mov cl, byte [eax]
test cl, cl
je 0x2805e45e
cmp cl, 0x29
jne 0x2805e44f
mov eax, dword [esi + 0x18]
mov edi, dword [ebp + 8]
cmp byte [eax], 0x29
je 0x2805e4a5
lea eax, [edi + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805e481
push dword [esi + 8]
push ebx
push edi
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.Unterminated_verb_pattern_argument
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push edi
call sym.perl510.dll_Perl_croak
mov edx, dword [ebp + 0x18]
add esp, 0x18
cmp dword [esi + 0x18], edx
jne 0x2805e4f4
and dword [ebp + 0x18], 0
jmp 0x2805e4f4
cmp byte [eax], 0x29
mov edi, dword [ebp + 8]
je 0x2805e4f4
lea eax, [edi + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805e4d0
push dword [esi + 8]
push ebx
push edi
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.Unterminated_verb_pattern
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push edi
call sym.perl510.dll_Perl_croak
mov edi, dword [ebp + 8]
add esp, 0x18
mov eax, dword [ebp + 0x10]
mov ebx, str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
movsx eax, byte [eax]
cmp eax, 0x4d
jg 0x2805e647
je 0x2805e610
sub eax, 0x3a
je 0x2805e610
sub eax, 7
je 0x2805e5dd
dec eax
dec eax
je 0x2805e5b0
sub eax, 3
jne 0x2805e6c1
cmp dword [ebp + 0x14], 1
je 0x2805e55b
cmp dword [ebp + 0x14], 4
jne 0x2805e6c1
push 4
push str.FAIL
push dword [ebp + 0x10]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x2805e6c1
cmp dword [ebp + 0x18], 0
je 0x2805e807
lea eax, [edi + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805e581
push dword [esi + 8]
push 0x28064d23
push edi
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 dword [ebp + 0x10]
push dword [ebp + 0x14]
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Verb_pattern__.s_may_not_have_an_argument
push edi
call fcn.28064b10
mov ebx, dword [ebp - 8]
add esp, 0x20
jmp 0x2805e815
cmp dword [ebp + 0x14], 6
jne 0x2805e6c1
push 6
push str.COMMIT
push dword [ebp + 0x10]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x2805e6c1
mov byte [ebp + 0xc], 0x50
jmp 0x2805e703
cmp dword [ebp + 0x14], 6
jne 0x2805e6c1
push 6
push str.ACCEPT
push dword [ebp + 0x10]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x2805e6c1
mov eax, dword [esi + 0x44]
mov byte [ebp + 0xc], 0x4b
mov dword [ebp - 0x20], eax
jmp 0x2805e703
cmp dword [ebp + 0x14], 0
je 0x2805e63a
cmp dword [ebp + 0x14], 4
jne 0x2805e6c1
push 4
push str.MARK
push dword [ebp + 0x10]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x2805e6c1
or dword [ebp - 0x28], 0xffffffff
mov byte [ebp + 0xc], 0x4e
jmp 0x2805e703
sub eax, 0x50
je 0x2805e69f
sub eax, 3
je 0x2805e67d
dec eax
jne 0x2805e6c1
cmp dword [ebp + 0x14], 4
jne 0x2805e6c1
push 4
push str.THEN
push dword [ebp + 0x10]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x2805e6c1
or byte [esi + 0x35], 1
mov byte [ebp + 0xc], 0x51
jmp 0x2805e703
cmp dword [ebp + 0x14], 4
jne 0x2805e6c1
push 4
push str.SKIP
push dword [ebp + 0x10]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x2805e6c1
mov byte [ebp + 0xc], 0x4f
jmp 0x2805e703
cmp dword [ebp + 0x14], 5
jne 0x2805e6c1
push 5
push str.PRUNE
push dword [ebp + 0x10]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x2805e6c1
mov byte [ebp + 0xc], 0x4d
jmp 0x2805e703
inc dword [esi + 0x18]
lea eax, [edi + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805e6e0
push dword [esi + 8]
push 0x28064d23
push edi
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 dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
push str.Unknown_verb_pattern__.s
push edi
call fcn.28064b10
add esp, 0x20
xor eax, eax
cmp dword [ebp + 0x18], eax
je 0x2805e756
cmp dword [ebp - 0x20], eax
je 0x2805e756
lea eax, [edi + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805e72b
push dword [esi + 8]
push 0x28064d23
push edi
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 dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
push str.Verb_pattern__.s_may_not_have_an_argument
push edi
call fcn.28064b10
mov ebx, dword [ebp - 8]
add esp, 0x20
jmp 0x2805e7fb
cmp dword [ebp - 0x28], eax
jge 0x2805e798
cmp dword [ebp + 0x18], eax
jne 0x2805e798
lea eax, [edi + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805e77c
push dword [esi + 8]
push 0x28064d23
push edi
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 dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
push str.Verb_pattern__.s_has_a_mandatory_argument
jmp 0x2805e745
push dword [ebp - 0x20]
push dword [ebp + 0xc]
push esi
push edi
call fcn.28063ed8
add esp, 0x10
cmp dword [ebp - 0x20], 0
mov ebx, eax
jne 0x2805e815
lea eax, [edi + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805e801
cmp dword [ebp + 0x18], 0
je 0x2805e7f8
mov eax, dword [esi + 0x18]
sub eax, dword [ebp + 0x18]
push eax
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_newSVpvn
push 0x280bae30
push 1
push esi
mov edi, eax
call fcn.2805dc30
mov dword [ebx + 4], eax
mov ecx, dword [esi + 0xc]
add esp, 0x18
mov ecx, dword [ecx + 0xc]
mov dword [ecx + eax*4 + 8], edi
and byte [ebx], 0
mov edi, dword [ebp + 8]
jmp 0x2805e801
mov byte [ebx], 1
cmp dword [ebp - 0x20], 0
jne 0x2805e815
or byte [esi + 0x34], 0x80
jmp 0x2805e815
push 0x4a
push esi
push edi
call fcn.28063e87
add esp, 0xc
mov ebx, eax
push esi
push edi
call fcn.28063da3
pop ecx
pop ecx
jmp 0x2805f83b
cmp cl, 0x3f
jne 0x2805fac4
and byte [ebp - 1], 0
and dword [ebp - 8], 0
lea edi, [eax + 1]
mov dword [ebp - 0x10], eax
mov dword [esi + 0x18], edi
movsx eax, byte [edi]
inc edi
cmp eax, 0x39
mov dword [ebp + 0x10], eax
mov dword [esi + 0x18], edi
jg 0x2805ef29
push 0x31
pop edx
cmp eax, edx
jge 0x2805eea8
push 0x27
pop ecx
cmp eax, ecx
jg 0x2805e949
je 0x2805f8b9
sub eax, 0
je 0x2805eb8c
sub eax, 0x21
je 0x2805e922
dec eax
dec eax
je 0x2805e896
dec eax
je 0x2805eff6
dec eax
dec eax
je 0x2805f638
jmp 0x2805f05c
cmp byte [edi], 0
je 0x2805e8ac
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x29
je 0x2805e8ac
inc eax
mov dword [esi + 0x18], eax
cmp byte [eax], 0
jne 0x2805e89b
mov eax, dword [esi + 0x18]
mov ebx, dword [ebp + 8]
cmp byte [eax], 0x29
je 0x2805e909
mov edi, dword [esi + 0x14]
lea eax, [ebx + 0x1ec]
sub edi, dword [esi + 4]
cmp dword [esi + 0x28], eax
mov dword [ebp + 0x10], 0x280ac738
je 0x2805e8e0
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
cmp edi, 0x7f
jle 0x2805e8ef
push 0x75
mov dword [ebp + 0x10], 0x280acee8
pop edi
push dword [ebp + 0x10]
push dword [esi + 4]
push edi
push str.Sequence___..._not_terminated
push str._s_in_regex_m__.s_s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
push esi
push ebx
call fcn.28063da3
pop ecx
pop ecx
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
xor eax, eax
jmp 0x2805ff3a
inc dword [esi + 0x4c]
cmp byte [edi], 0x29
jne 0x2805fb13
push 0x4a
push esi
push dword [ebp + 8]
call fcn.28063e87
push esi
mov edi, eax
push dword [ebp + 8]
call fcn.28063da3
jmp 0x2805f58c
sub eax, 0x28
je 0x2805e9d4
sub eax, 3
je 0x2805e980
dec eax
dec eax
je 0x2805e969
sub eax, 3
je 0x2805f5aa
jmp 0x2805f05c
mov al, byte [edi]
cmp al, dl
jl 0x2805f05c
cmp al, 0x39
jle 0x2805eea8
jmp 0x2805f05c
mov al, byte [edi]
cmp al, dl
jl 0x2805e98e
cmp al, 0x39
jle 0x2805eeac
lea eax, [ebx + 0x1ec]
inc edi
cmp dword [esi + 0x28], eax
mov dword [esi + 0x18], edi
je 0x2805e9ae
push dword [esi + 8]
push 0x28064d23
push ebx
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.Illegal_pattern
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
jmp 0x2805eeac
mov al, byte [edi]
and dword [ebp - 0x1c], 0
cmp al, 0x3f
jne 0x2805ea3e
mov al, byte [edi + 1]
cmp al, 0x3d
je 0x2805e9f5
cmp al, 0x21
je 0x2805e9f5
cmp al, 0x3c
je 0x2805e9f5
cmp al, 0x7b
jne 0x2805eb8c
mov ebx, dword [ebp + 8]
push 0x3b
push esi
push ebx
call fcn.28063e87
mov edi, eax
lea eax, [ebx + 0x1ec]
add esp, 0xc
cmp dword [esi + 0x28], eax
mov dword [ebp - 8], edi
je 0x2805ea17
mov byte [edi], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push eax
lea eax, [ebp + 0x10]
push eax
push 1
push esi
push ebx
call fcn.2805e3b0
add esp, 0x14
push eax
push edi
push esi
push ebx
call fcn.2806408a
add esp, 0x14
jmp 0x2805ecf9
cmp al, 0x3c
je 0x2805ebd3
cmp al, cl
je 0x2805ebd1
cmp al, 0x44
jne 0x2805ea94
cmp byte [edi + 1], 0x45
jne 0x2805ea94
cmp byte [edi + 2], 0x46
jne 0x2805ea94
cmp byte [edi + 3], 0x49
jne 0x2805ea94
cmp byte [edi + 4], 0x4e
jne 0x2805ea94
cmp byte [edi + 5], 0x45
jne 0x2805ea94
mov ebx, dword [ebp + 8]
push 0
push 0x48
push esi
push ebx
call fcn.28063ed8
add esp, 0x10
add dword [esi + 0x18], 6
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], 1
jmp 0x2805ecae
cmp al, 0x52
jne 0x2805eb14
mov ebx, dword [ebp + 8]
lea ecx, [edi + 1]
mov dword [esi + 0x18], ecx
xor edi, edi
mov al, byte [ecx]
cmp al, dl
jl 0x2805eada
cmp al, 0x39
jg 0x2805eada
lea eax, [ecx + 1]
push ecx
mov dword [esi + 0x18], eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov edi, eax
mov eax, dword [esi + 0x18]
pop ecx
cmp byte [eax], 0x30
jl 0x2805eb0c
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x39
jg 0x2805eb0c
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
cmp byte [ecx], 0x30
jge 0x2805eac5
jmp 0x2805eb0c
cmp al, 0x26
jne 0x2805eb0c
inc ecx
lea eax, [ebx + 0x1ec]
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x28]
sub ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 2
push ecx
push esi
push ebx
call fcn.2805ff3f
add esp, 0xc
test eax, eax
je 0x2805eb0a
mov eax, dword [eax + 0xc]
mov edi, dword [eax]
jmp 0x2805eb0c
xor edi, edi
push edi
push 0x47
jmp 0x2805eca1
cmp al, dl
jl 0x2805eb4c
cmp al, 0x39
jg 0x2805eb4c
lea eax, [edi + 1]
push edi
mov dword [esi + 0x18], eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [esi + 0x18]
cmp byte [ecx], 0x30
jl 0x2805eb40
mov ecx, dword [esi + 0x18]
cmp byte [ecx], 0x39
jg 0x2805eb40
inc ecx
mov dword [esi + 0x18], ecx
jmp 0x2805eb2d
mov ebx, dword [ebp + 8]
push eax
push 0x36
push esi
jmp 0x2805eca2
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805eb68
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 4]
mov eax, edx
sub eax, ecx
lea edi, [ecx + eax]
push edi
push ecx
push eax
push edx
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Unknown_switch_condition_____.2s
push ebx
call fcn.28064b10
add esp, 0x1c
dec dword [esi + 0x18]
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805ebab
push dword [esi + 8]
push 0x28064d23
push ebx
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.Sequence____incomplete
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
jmp 0x2805fb13
cmp al, 0x3c
setne al
mov ebx, dword [ebp + 8]
dec eax
and eax, 0x17
and dword [ebp + 0xc], 0
add eax, ecx
mov ecx, dword [esi + 0x28]
mov byte [ebp + 0x13], al
lea eax, [edi + 1]
mov dword [esi + 0x18], eax
lea eax, [ebx + 0x1ec]
sub ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 2
push ecx
push esi
push ebx
call fcn.2805ff3f
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x18]
add esp, 0xc
cmp eax, edi
je 0x2805ec1a
mov al, byte [eax]
cmp al, byte [ebp + 0x13]
je 0x2805ec67
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805ec36
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, edi
cmp byte [ebp + 0x13], 0x3e
jne 0x2805ec49
push 0x3c
pop ecx
jmp 0x2805ec4d
movsx ecx, byte [ebp + 0x13]
lea edx, [edi + eax]
push edx
push edi
push eax
push ecx
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence_____c..._not_terminated
push ebx
call fcn.28064b10
add esp, 0x1c
inc dword [esi + 0x18]
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805ec9b
push 0x280bae30
push 1
push esi
call fcn.2805dc30
mov ecx, dword [esi + 0xc]
add esp, 0xc
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 8]
test ecx, ecx
mov dword [edx + eax*4 + 8], ecx
je 0x2805ec9e
inc dword [ecx + 4]
jmp 0x2805ec9e
mov eax, dword [ebp + 0xc]
push eax
push 0x46
push esi
push ebx
call fcn.28063ed8
add esp, 0x10
mov dword [ebp - 8], eax
push esi
push ebx
call fcn.28063da3
cmp byte [eax], 0x29
pop ecx
pop ecx
je 0x2805ecf9
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805ecd8
push dword [esi + 8]
push 0x28064d23
push ebx
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.Switch_condition_not_recognized
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
mov eax, dword [ebp + 0x18]
lea edi, [eax + 1]
push edi
push 0
push 0x35
push esi
push ebx
call fcn.28063ed8
add esp, 0x10
push eax
push dword [ebp - 8]
push esi
push ebx
call fcn.2806408a
push edi
lea eax, [ebp - 0x18]
push 1
push eax
push esi
push ebx
call fcn.280600bd
add esp, 0x28
mov dword [ebp + 8], eax
test eax, eax
jne 0x2805ed43
push eax
push 0x37
push esi
push ebx
call fcn.28063ed8
add esp, 0x10
mov dword [ebp + 8], eax
jmp 0x2805ed60
push edi
push 0
push 0x37
push esi
push ebx
call fcn.28063ed8
add esp, 0x10
push eax
push dword [ebp + 8]
push esi
push ebx
call fcn.2806408a
add esp, 0x14
push esi
push ebx
call fcn.28063da3
test byte [ebp - 0x18], 1
mov al, byte [eax]
pop ecx
pop ecx
je 0x2805ed77
mov ecx, dword [ebp + 0x14]
or dword [ecx], 1
cmp al, 0x7c
jne 0x2805ee08
cmp dword [ebp - 0x1c], 0
je 0x2805edc2
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805eda1
push dword [esi + 8]
push 0x28064d23
push ebx
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.___DEFINE_....__does_not_allow_branches
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
push 0
push 0x35
push esi
push ebx
call fcn.28063ed8
mov dword [ebp - 0x14], eax
push edi
lea eax, [ebp - 0x18]
push 1
push eax
push esi
push ebx
call fcn.280600bd
push edi
push dword [ebp - 0x14]
push dword [ebp - 8]
push esi
push ebx
call fcn.2806408a
add esp, 0x38
test byte [ebp - 0x18], 1
je 0x2805edfb
mov eax, dword [ebp + 0x14]
or dword [eax], 1
push esi
push ebx
call fcn.28063da3
mov al, byte [eax]
pop ecx
pop ecx
jmp 0x2805ee0c
and dword [ebp - 0x14], 0
cmp al, 0x29
je 0x2805ee4d
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805ee2c
push dword [esi + 8]
push 0x28064d23
push ebx
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.Switch____condition_..._contains_too_many_branches
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
push 0x25
push esi
push ebx
call fcn.28063e87
push edi
push eax
push dword [ebp + 8]
mov dword [ebp - 0xc], eax
push esi
push ebx
call fcn.2806408a
add esp, 0x20
cmp dword [ebp - 0x14], 0
push edi
push dword [ebp - 0xc]
je 0x2805ee93
push dword [ebp - 0x14]
push esi
push ebx
call fcn.2806408a
mov eax, dword [ebp - 0x14]
push edi
push dword [ebp - 0xc]
add eax, 8
push eax
push esi
push ebx
call fcn.2806408a
add esp, 0x28
jmp 0x2805eea0
push dword [ebp - 8]
push esi
push ebx
call fcn.2806408a
add esp, 0x14
inc dword [esi + 0x38]
jmp 0x2805ff37
dec edi
mov dword [esi + 0x18], edi
push dword [esi + 0x18]
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x18]
pop ecx
cmp byte [eax], 0x2d
jne 0x2805eec5
inc eax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x30
jl 0x2805eedb
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x39
jg 0x2805eedb
inc eax
mov dword [esi + 0x18], eax
jmp 0x2805eec8
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x29
je 0x2805f66a
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805ef03
push dword [esi + 8]
push 0x28064d23
push ebx
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.Expecting_close_bracket
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
jmp 0x2805f66a
cmp eax, 0x40
jg 0x2805f03b
je 0x2805eff6
sub eax, 0x3a
je 0x2805fb13
dec eax
dec eax
je 0x2805f88c
dec eax
je 0x2805f8a5
dec eax
je 0x2805fb13
dec eax
jne 0x2805f05c
cmp byte [edi], 0x7b
mov ebx, dword [ebp + 8]
mov byte [ebp - 1], 1
je 0x2805efb4
lea eax, [ebx + 0x1ec]
inc edi
cmp dword [esi + 0x28], eax
mov dword [esi + 0x18], edi
je 0x2805ef8a
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov ecx, eax
sub eax, dword [ebp - 0x10]
sub ecx, edx
lea edi, [edx + ecx]
push edi
push edx
push ecx
push dword [ebp - 0x10]
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence___.s...__not_recognized
push ebx
call fcn.28064b10
add esp, 0x20
mov eax, dword [ebp + 0x14]
or dword [eax], 0x10
inc dword [esi + 0x18]
and dword [ebp + 8], 0
inc dword [esi + 0x4c]
mov edi, dword [esi + 0x18]
or dword [esi + 0x34], 8
push 1
pop edx
mov eax, dword [esi + 0x18]
mov cl, byte [eax]
test cl, cl
je 0x2805f397
cmp cl, 0x5c
jne 0x2805f37e
inc eax
cmp byte [eax], 0
je 0x2805f38c
mov dword [esi + 0x18], eax
jmp 0x2805f38c
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805f012
push dword [esi + 8]
push 0x28064d23
push ebx
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 dword [ebp + 0x10]
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence____c...__not_implemented
push ebx
call fcn.28064b10
add esp, 0x1c
jmp 0x2805fb13
sub eax, 0x50
je 0x2805f61c
dec eax
dec eax
je 0x2805f5aa
sub eax, 0x29
je 0x2805efbd
dec eax
je 0x2805f369
and dword [ebp - 0x34], 0
and dword [ebp - 0x14], 0
dec edi
lea eax, [ebp - 0x34]
mov dword [esi + 0x18], edi
mov dword [ebp + 8], eax
cmp byte [edi], 0
je 0x2805fb13
mov ecx, dword [esi + 0x18]
movsx eax, byte [ecx]
cmp eax, 0x69
jg 0x2805f1a5
je 0x2805f199
cmp eax, 0x29
je 0x2805f32f
cmp eax, 0x2d
je 0x2805f138
push 0x3a
pop edx
cmp eax, edx
je 0x2805f32c
cmp eax, 0x63
je 0x2805f0bc
cmp eax, 0x67
je 0x2805f287
jmp 0x2805f1c3
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
jne 0x2805f318
push 0x14
push ebx
call sym.perl510.dll_Perl_ckwarn
pop ecx
test al, al
pop ecx
je 0x2805f318
test byte [ebp - 0x1c], 4
jne 0x2805f318
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
or dword [ebp - 0x1c], 6
sub eax, ecx
lea edx, [ebp - 0x14]
inc eax
cmp dword [ebp + 8], edx
mov dword [ebp - 0x2c], str.dont
je 0x2805f10a
mov dword [ebp - 0x2c], 0x280ac738
lea edx, [ebp - 0x14]
cmp dword [ebp + 8], edx
mov edx, 0x280bacb8
je 0x2805f11c
mov edx, 0x280bacb4
lea edi, [ecx + eax]
push edi
push ecx
push eax
push dword [ebp - 0x2c]
push edx
push str.Useless___sc_____suse__gc_modifier_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push 0x14
push ebx
call sym.perl510.dll_Perl_warner
jmp 0x2805f20a
lea eax, [ebp - 0x14]
cmp dword [ebp + 8], eax
jne 0x2805f18a
lea eax, [ebx + 0x1ec]
inc ecx
cmp dword [esi + 0x28], eax
mov dword [esi + 0x18], ecx
je 0x2805f160
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov ecx, eax
sub eax, dword [ebp - 0x10]
sub ecx, edx
lea edi, [edx + ecx]
push edi
push edx
push ecx
push dword [ebp - 0x10]
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence___.s...__not_recognized
push ebx
call fcn.28064b10
add esp, 0x20
and dword [ebp - 0x1c], 0
lea eax, [ebp - 0x14]
mov dword [ebp + 8], eax
jmp 0x2805f318
mov eax, dword [ebp + 8]
or byte [eax + 1], 0x40
jmp 0x2805f318
sub eax, 0x6d
je 0x2805f311
dec eax
dec eax
je 0x2805f287
dec eax
je 0x2805f22a
sub eax, 3
je 0x2805f21e
sub eax, 5
je 0x2805f212
lea eax, [ebx + 0x1ec]
inc ecx
cmp dword [esi + 0x28], eax
mov dword [esi + 0x18], ecx
je 0x2805f1e3
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov ecx, eax
sub eax, dword [ebp - 0x10]
sub ecx, edx
lea edi, [ecx + edx]
push edi
push edx
push ecx
push dword [ebp - 0x10]
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence___.s...__not_recognized
push ebx
call fcn.28064b10
add esp, 0x20
jmp 0x2805f318
mov eax, dword [ebp + 8]
or byte [eax + 1], 0x80
jmp 0x2805f318
mov eax, dword [ebp + 8]
or byte [eax + 1], 0x20
jmp 0x2805f318
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x14]
cmp eax, ecx
jne 0x2805f27e
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
jne 0x2805f318
push 0x14
push ebx
call sym.perl510.dll_Perl_ckwarn
pop ecx
test al, al
pop ecx
je 0x2805f318
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
inc eax
lea edx, [ecx + eax]
push edx
push ecx
push eax
push str.Useless_use_of____p_
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push 0x14
push ebx
call sym.perl510.dll_Perl_warner
add esp, 0x1c
jmp 0x2805f318
or byte [eax + 2], 1
jmp 0x2805f318
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
jne 0x2805f318
push 0x14
push ebx
call sym.perl510.dll_Perl_ckwarn
pop ecx
test al, al
pop ecx
je 0x2805f318
mov edi, dword [esi + 0x18]
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov cl, byte [edi]
cmp cl, 0x6f
setne al
inc eax
test edx, eax
jne 0x2805f318
or dword [ebp - 0x1c], eax
mov eax, dword [esi + 4]
sub edi, eax
lea edx, [ebp - 0x14]
inc edi
cmp dword [ebp + 8], edx
mov dword [ebp - 0x2c], str.dont
je 0x2805f2d8
mov dword [ebp - 0x2c], 0x280ac738
lea edx, [ebp - 0x14]
mov dword [ebp - 0x30], 0x280bacb8
cmp dword [ebp + 8], edx
je 0x2805f2ee
mov dword [ebp - 0x30], 0x280bacb4
lea edx, [eax + edi]
movsx ecx, cl
push edx
push eax
push edi
push ecx
push dword [ebp - 0x2c]
push ecx
push dword [ebp - 0x30]
push str.Useless___s_c_____suse___c_modifier_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push 0x14
push ebx
call sym.perl510.dll_Perl_warner
add esp, 0x28
jmp 0x2805f318
mov eax, dword [ebp + 8]
or byte [eax + 1], 0x10
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp byte [eax], 0
jne 0x2805f077
jmp 0x2805fb13
mov dword [ebp + 0x10], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
mov edx, eax
or edx, dword [esi]
not ecx
and edx, ecx
cmp dword [ebp + 0x10], 0x3a
mov dword [esi], edx
je 0x2805f34d
or eax, dword [ebp - 0x28]
and eax, ecx
mov dword [ebp - 0x28], eax
push esi
push ebx
call fcn.28063da3
cmp dword [ebp + 0x10], 0x3a
pop ecx
pop ecx
jne 0x2805e912
and dword [ebp - 8], 0
jmp 0x2805fb13
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0x10], 0x3a
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
jmp 0x2805fb13
cmp cl, 0x7b
jne 0x2805f386
inc edx
jmp 0x2805f38c
cmp cl, 0x7d
jne 0x2805f38c
dec edx
inc dword [esi + 0x18]
test edx, edx
jne 0x2805efce
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x29
je 0x2805f3df
lea eax, [ebx + 0x1ec]
mov dword [esi + 0x18], edi
cmp dword [esi + 0x28], eax
je 0x2805f3be
push dword [esi + 8]
push 0x28064d23
push ebx
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.Sequence___...__not_terminated_or_not__balanced
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805f47f
mov eax, dword [esi + 0x18]
sub eax, edi
dec eax
push eax
push edi
push ebx
call sym.perl510.dll_Perl_newSVpvn
push ebx
mov dword [ebp + 0x14], eax
call sym.perl510.dll_Perl_push_scope
push ebx
call sym.perl510.dll_Perl_save_re_context
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x10]
push 0x280babb4
push eax
push dword [ebp + 0x14]
push ebx
call sym.perl510.dll_Perl_sv_compile_2op
mov edi, eax
mov eax, dword [ebp + 0x10]
push ebx
or byte [eax + 0x15], 0x40
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xc], 1
call sym.perl510.dll_Perl_pop_scope
push 0x280babb0
push 3
push esi
call fcn.2805dc30
mov ecx, dword [esi + 0xc]
push dword [ebp + 0x14]
mov dword [ebp + 8], eax
mov ecx, dword [ecx + 0xc]
push ebx
mov dword [ecx + eax*4 + 8], edi
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov dword [ecx + eax*4 + 0xc], edx
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [ecx + eax*4 + 0x10], edx
call sym.perl510.dll_Perl_sv_free
add esp, 0x40
jmp 0x2805f544
inc dword [esi + 0x50]
mov eax, dword [esi + 0x50]
cmp dword [ebx + 0x214], eax
jge 0x2805f4cb
lea eax, [ebx + 0x368]
cmp dword [ebx + 0x100], eax
je 0x2805f4cb
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x14]
sub eax, ecx
mov edx, 0x280ac738
cmp eax, 0x7f
jle 0x2805f4b5
push 0x75
mov edx, 0x280acee8
pop eax
push edx
push ecx
push eax
push str.Eval_group_not_allowed_at_runtime__use_re_eval
push str._s_in_regex_m__.s_s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
cmp byte [ebx + 0x26f], 0
je 0x2805f52f
cmp byte [ebx + 0x22e], 0
je 0x2805f52f
mov edi, dword [esi + 0x14]
lea eax, [ebx + 0x1ec]
sub edi, dword [esi + 4]
cmp dword [esi + 0x28], eax
mov dword [ebp + 0x10], 0x280ac738
je 0x2805f506
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
cmp edi, 0x7f
jle 0x2805f515
push 0x75
mov dword [ebp + 0x10], 0x280acee8
pop edi
push dword [ebp + 0x10]
push dword [esi + 4]
push edi
push str.Eval_group_in_insecure_regular_expression
push str._s_in_regex_m__.s_s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
lea eax, [ebx + 0x368]
cmp dword [ebx + 0x100], eax
jne 0x2805f544
mov byte [ebx + 0x350], 1
push esi
push ebx
call fcn.28063da3
cmp byte [ebp - 1], 0
pop ecx
pop ecx
je 0x2805f596
push 0x3b
push esi
push ebx
call fcn.28063e87
mov edi, eax
lea eax, [ebx + 0x1ec]
add esp, 0xc
cmp dword [esi + 0x28], eax
je 0x2805f56f
mov byte [edi], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 8]
push 0x39
push esi
push ebx
call fcn.28063ed8
add esp, 0x10
push eax
push edi
push esi
push ebx
call fcn.2806408a
add esp, 0x14
mov eax, edi
jmp 0x2805ff3a
push dword [ebp + 8]
push 0x39
push esi
push ebx
call fcn.28063ed8
add esp, 0x10
jmp 0x2805ff3a
cmp byte [edi], 0x29
mov ebx, dword [ebp + 8]
je 0x2805f604
mov edi, dword [esi + 0x14]
lea eax, [ebx + 0x1ec]
sub edi, dword [esi + 4]
cmp dword [esi + 0x28], eax
mov dword [ebp + 0x10], 0x280ac738
je 0x2805f5db
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
cmp edi, 0x7f
jle 0x2805f5ea
push 0x75
mov dword [ebp + 0x10], 0x280acee8
pop edi
push dword [ebp + 0x10]
push dword [esi + 4]
push edi
push str.Sequence___R__not_terminated
push str._s_in_regex_m__.s_s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
push 0x42
push esi
push ebx
call fcn.28063e87
mov edi, eax
mov eax, dword [ebp + 0x14]
push esi
push ebx
or dword [eax], 0x10
jmp 0x2805e93f
movsx eax, byte [edi]
inc edi
cmp eax, 0x3c
mov dword [ebp + 0x10], eax
mov dword [esi + 0x18], edi
je 0x2805f8b2
cmp eax, 0x3e
jne 0x2805f755
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 0x28]
lea eax, [ebx + 0x1ec]
sub ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 2
push ecx
push esi
push ebx
call fcn.2805ff3f
add esp, 0xc
test eax, eax
je 0x2805f666
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [ebp + 8], eax
jmp 0x2805f66a
and dword [ebp + 8], 0
cmp dword [ebp + 0x10], 0x2d
mov edi, str.Reference_to_nonexistent_group
jne 0x2805f6c1
mov eax, dword [ebp + 8]
add eax, dword [esi + 0x3c]
cmp eax, 1
mov dword [ebp + 8], eax
jge 0x2805f6d4
inc dword [esi + 0x18]
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805f6a2
push dword [esi + 8]
push 0x28064d23
push ebx
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 edi
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
jmp 0x2805f6d4
cmp dword [ebp + 0x10], 0x2b
jne 0x2805f6d4
mov eax, dword [esi + 0x3c]
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax - 1]
mov dword [ebp + 8], eax
push dword [ebp + 8]
push 0x41
push esi
push ebx
call fcn.28063ed8
mov dword [ebp - 8], eax
lea eax, [ebx + 0x1ec]
add esp, 0x10
cmp dword [esi + 0x28], eax
je 0x2805f73a
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x1c]
jle 0x2805f728
inc dword [esi + 0x18]
push eax
push 0x28064d23
push ebx
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 edi
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x24
mov ecx, dword [ebp - 8]
mov eax, dword [esi + 0x74]
mov dword [ecx + 8], eax
inc dword [esi + 0x74]
add dword [esi + 0x28], 4
jmp 0x2805f73d
inc dword [esi + 0x38]
mov eax, dword [ebp + 0x14]
or dword [esi + 0x34], 0x20
push esi
push ebx
or dword [eax], 0x10
call fcn.28063da3
pop ecx
pop ecx
jmp 0x2805ff37
cmp eax, 0x3d
jne 0x2805f842
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x28]
and dword [ebp + 0x18], 0
lea ebx, [eax + 0x1ec]
sub ecx, ebx
neg ecx
sbb ecx, ecx
and ecx, 2
push ecx
push esi
push eax
call fcn.2805ff3f
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0x18]
add esp, 0xc
cmp eax, edi
je 0x2805f791
cmp byte [eax], 0x29
je 0x2805f7cf
cmp dword [esi + 0x28], ebx
je 0x2805f7a9
push dword [esi + 8]
push 0x28064d23
push dword [ebp + 8]
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 dword [ebp - 0x34]
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence__.3s..._not_terminated
push dword [ebp + 8]
call fcn.28064b10
add esp, 0x1c
cmp dword [esi + 0x28], ebx
push 1
pop edi
je 0x2805f7fc
push 0x280bae30
push edi
push esi
call fcn.2805dc30
mov ecx, dword [esi + 0xc]
add esp, 0xc
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
mov dword [edx + eax*4 + 8], ecx
je 0x2805f7ff
inc dword [ecx + 4]
jmp 0x2805f7ff
mov eax, dword [ebp + 0x18]
mov ecx, dword [esi]
mov dword [esi + 0x30], edi
test ch, 0x40
je 0x2805f81a
and ecx, 0x800
or ecx, 0x22000
shr ecx, 0xb
jmp 0x2805f81d
push 0x43
pop ecx
push eax
push ecx
push esi
push dword [ebp + 8]
call fcn.28063ed8
mov ebx, eax
mov eax, dword [ebp + 0x14]
push esi
push dword [ebp + 8]
or dword [eax], edi
call fcn.28063da3
add esp, 0x18
mov eax, ebx
jmp 0x2805ff3a
lea eax, [ebx + 0x1ec]
inc edi
cmp dword [esi + 0x28], eax
mov dword [esi + 0x18], edi
je 0x2805f862
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov ecx, eax
sub eax, dword [ebp - 0x10]
sub ecx, edx
lea edi, [edx + ecx]
push edi
push edx
push ecx
push dword [ebp - 0x10]
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence___.s...__not_recognized
push ebx
call fcn.28064b10
add esp, 0x20
mov eax, dword [esi + 0x18]
mov cl, byte [eax]
cmp cl, 0x21
jne 0x2805f8ad
mov dword [ebp + 0x10], 0x2c
or dword [esi + 0x34], 2
inc eax
mov dword [esi + 0x18], eax
inc dword [esi + 0x4c]
jmp 0x2805fb13
cmp cl, 0x3d
je 0x2805f89d
mov dword [ebp + 0x10], 0x3e
mov eax, dword [esi + 0x18]
lea edi, [ebx + 0x1ec]
mov dword [ebp - 0x38], eax
xor eax, eax
cmp dword [esi + 0x28], edi
sete al
push eax
push esi
push ebx
call fcn.2805ff3f
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x18]
add esp, 0xc
cmp eax, dword [ebp - 0x38]
jne 0x2805f927
inc eax
cmp dword [esi + 0x28], edi
mov dword [esi + 0x18], eax
je 0x2805f8fd
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov ecx, eax
sub eax, dword [ebp - 0x10]
sub ecx, edx
lea edi, [edx + ecx]
push edi
push edx
push ecx
push dword [ebp - 0x10]
push eax
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence___.s...__not_recognized
push ebx
call fcn.28064b10
add esp, 0x20
mov eax, dword [esi + 0x18]
movsx eax, byte [eax]
cmp eax, dword [ebp + 0x10]
je 0x2805f97e
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805f94e
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
sub eax, ecx
cmp dword [ebp + 0x10], 0x3e
jne 0x2805f961
push 0x3c
pop edx
jmp 0x2805f964
mov edx, dword [ebp + 0x10]
lea edi, [ecx + eax]
push edi
push ecx
push eax
push edx
push str._in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
push str.Sequence____c..._not_terminated
push ebx
call fcn.28064b10
add esp, 0x1c
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
jne 0x2805fab4
xor edi, edi
cmp dword [ebp + 8], edi
jne 0x2805f9a1
push str.panic:_reg_scan_name_returned_NULL
push ebx
call sym.perl510.dll_Perl_croak
pop ecx
pop ecx
cmp dword [esi + 0x6c], edi
jne 0x2805f9bb
push 0xc
push ebx
call sym.perl510.dll_Perl_newSV_type
push eax
push ebx
mov dword [esi + 0x6c], eax
call sym.perl510.dll_Perl_sv_2mortal
add esp, 0x10
push edi
push edi
push 0x10
push edi
push edi
push edi
push dword [ebp + 8]
push dword [esi + 0x6c]
push ebx
call sym.perl510.dll_Perl_hv_common
add esp, 0x24
cmp eax, edi
je 0x2805f9dc
mov edi, dword [eax + 8]
test edi, edi
jne 0x2805f9ee
push str.panic:_paren_name_hash_element_allocation_failed
push ebx
call sym.perl510.dll_Perl_croak
pop ecx
pop ecx
jmp 0x2805fab4
mov eax, dword [edi + 8]
test ah, 4
je 0x2805fa72
test ah, 1
je 0x2805fa02
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
jmp 0x2805fa0e
push 2
push edi
push ebx
call sym.perl510.dll_Perl_sv_2iv_flags
add esp, 0xc
and dword [ebp + 8], 0
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0
mov eax, dword [edi + 0xc]
jle 0x2805fa3d
mov ecx, dword [esi + 0x3c]
cmp dword [eax], ecx
je 0x2805fa35
inc dword [ebp + 8]
add eax, 4
mov edx, dword [ebp + 8]
cmp edx, dword [ebp + 0x10]
jl 0x2805fa21
jmp 0x2805fa39
and dword [ebp + 0x10], 0
cmp dword [ebp + 0x10], 0
je 0x2805fab4
mov eax, dword [edi]
mov ecx, dword [eax + 8]
add ecx, 5
cmp dword [eax + 0xc], ecx
jae 0x2805fa59
push ecx
push edi
push ebx
call sym.perl510.dll_Perl_sv_grow
add esp, 0xc
jmp 0x2805fa5c
mov eax, dword [edi + 0xc]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x10]
add dword [ecx + 8], 4
mov ecx, dword [esi + 0x3c]
mov dword [eax + edx*4], ecx
mov edi, dword [edi]
inc dword [edi + 0x10]
jmp 0x2805fab4
and eax, 0xff
cmp eax, 7
jge 0x2805fa88
push 7
push edi
push ebx
call sym.perl510.dll_Perl_sv_upgrade
add esp, 0xc
lea eax, [esi + 0x3c]
push 4
push eax
push edi
push ebx
call sym.perl510.dll_Perl_sv_setpvn
add esp, 0x10
test byte [edi + 0xb], 2
je 0x2805faa7
push edi
push ebx
call sym.perl510.dll_Perl_sv_backoff
pop ecx
pop ecx
or byte [edi + 9], 0x11
mov eax, dword [edi]
mov dword [eax + 0x10], 1
push esi
push ebx
call fcn.28063da3
pop ecx
mov dword [ebp + 0x10], 1
pop ecx
mov edi, dword [esi + 0x3c]
push edi
push 0x2d
lea eax, [edi + 1]
push esi
push ebx
mov dword [ebp - 0x38], edi
mov dword [esi + 0x3c], eax
call fcn.28063ed8
lea ecx, [ebx + 0x1ec]
add esp, 0x10
cmp dword [esi + 0x28], ecx
mov dword [ebp - 8], eax
je 0x2805fb0a
cmp dword [esi + 0x44], 0
jne 0x2805faf4
mov dword [esi + 0x44], edi
test byte [esi + 0x34], 0x20
je 0x2805fb0a
mov ecx, dword [esi + 0x54]
cmp dword [ecx + edi*4 - 4], 0
lea edi, [ecx + edi*4 - 4]
jne 0x2805fb0a
mov dword [edi], eax
mov byte [ebp - 2], 1
jmp 0x2805fb13
mov dword [ebp - 8], edi
mov eax, dword [ebp + 0x18]
lea edi, [eax + 1]
lea eax, [ebp - 0x18]
push edi
push 1
push eax
push esi
push ebx
mov dword [ebp - 0x10], edi
call fcn.280600bd
mov edx, dword [ebp - 0x24]
add esp, 0x14
test edx, edx
mov dword [ebp + 8], eax
je 0x2805fb45
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [ebp - 0x20]
jle 0x2805fb42
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x3c], edx
test eax, eax
je 0x2805e91b
mov ecx, dword [esi + 0x18]
cmp byte [ecx], 0x7c
jne 0x2805fbaa
lea ecx, [ebx + 0x1ec]
cmp dword [esi + 0x28], ecx
je 0x2805fb6c
cmp dword [esi + 0x48], 0
je 0x2805fb6c
push edi
push eax
push 0x38
jmp 0x2805fb70
push edi
push eax
push 0x1f
push esi
push ebx
call fcn.28063fa2
lea eax, [ebx + 0x1ec]
add esp, 0x14
cmp dword [esi + 0x28], eax
mov byte [ebp + 0xf], 1
jne 0x2805fb8c
inc dword [esi + 0x48]
mov edi, dword [ebp + 0x14]
cmp byte [ebp - 2], 0
je 0x2805fbbd
push dword [ebp - 0x10]
push dword [ebp + 8]
push dword [ebp - 8]
push esi
push ebx
call fcn.2806408a
add esp, 0x14
jmp 0x2805fbc9
cmp dword [ebp + 0x10], 0x3a
jne 0x2805fb8c
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp + 0x14]
and eax, 2
or dword [edi], eax
jmp 0x2805fb8f
cmp dword [ebp + 0x10], 0x3f
je 0x2805fbc9
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
and eax, 0x15
mov dword [ebp - 0x14], ecx
or dword [edi], eax
mov eax, dword [edi]
mov ecx, dword [esi + 0x18]
cmp byte [ecx], 0x7c
jne 0x2805fc8c
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805fc19
cmp dword [esi + 0x48], 0
je 0x2805fc19
push 0
push 0x37
push esi
push ebx
call fcn.28063ed8
push dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
push eax
mov eax, dword [ebp + 8]
add eax, 8
push eax
push esi
push ebx
call fcn.2806408a
add esp, 0x24
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
jne 0x2805fc28
add dword [esi + 0x48], 2
push esi
push ebx
call fcn.28063da3
cmp dword [ebp - 0x24], 0
pop ecx
pop ecx
je 0x2805fc48
mov eax, dword [esi + 0x3c]
cmp eax, dword [ebp - 0x20]
jle 0x2805fc42
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x3c], eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push 0
push eax
push esi
push ebx
call fcn.280600bd
add esp, 0x14
mov dword [ebp + 8], eax
test eax, eax
je 0x2805e91b
push dword [ebp - 0x10]
push eax
push dword [ebp - 0x14]
push esi
push ebx
call fcn.2806408a
mov eax, dword [ebp + 8]
add esp, 0x14
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
and eax, 0x15
or dword [edi], eax
mov eax, dword [edi]
jmp 0x2805fbd9
cmp byte [ebp + 0xf], 0
jne 0x2805fc9c
cmp dword [ebp + 0x10], 0x3a
je 0x2805fdb6
mov ecx, dword [ebp + 0x10]
cmp ecx, 0x2c
jg 0x2805fd14
je 0x2805fd2c
sub ecx, 0
je 0x2805fcf5
dec ecx
je 0x2805fcbc
sub ecx, 0x20
je 0x2805fd2c
jmp 0x2805fd43
mov edi, dword [ebp - 0x38]
push edi
push 0x2e
push esi
push ebx
call fcn.28063ed8
mov dword [ebp - 0xc], eax
lea eax, [ebx + 0x1ec]
add esp, 0x10
cmp dword [esi + 0x28], eax
je 0x2805fd43
test byte [esi + 0x34], 0x20
je 0x2805fd43
mov eax, dword [esi + 0x58]
mov ecx, dword [ebp - 0xc]
mov dword [eax + edi*4 - 4], ecx
cmp dword [esi + 0x44], edi
jne 0x2805fd43
and dword [esi + 0x44], 0
jmp 0x2805fd43
push 0
push esi
push ebx
call fcn.28063e87
lea ecx, [ebx + 0x1ec]
add esp, 0xc
cmp dword [esi + 0x28], ecx
mov dword [ebp - 0xc], eax
je 0x2805fd43
mov dword [esi + 0x5c], eax
jmp 0x2805fd43
cmp ecx, 0x3a
je 0x2805fd34
cmp ecx, 0x3b
jle 0x2805fd43
cmp dword [ebp + 0x10], 0x3d
jle 0x2805fd2c
cmp dword [ebp + 0x10], 0x3e
je 0x2805fd30
jmp 0x2805fd43
and al, 0xfe
mov dword [edi], eax
push 1
jmp 0x2805fd36
push 0x25
push esi
push ebx
call fcn.28063e87
add esp, 0xc
mov dword [ebp - 0xc], eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push dword [ebp + 8]
push esi
push ebx
call fcn.2806408a
add esp, 0x14
cmp byte [ebp + 0xf], 0
je 0x2805fdb6
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805fdb6
cmp dword [ebp + 0x18], 1
jne 0x2805fd71
or dword [esi + 0x34], 0x40
mov edi, dword [ebp - 8]
test edi, edi
je 0x2805fdb6
movzx eax, byte [edi + 1]
mov al, byte [eax + sym.perl510.dll_PL_regkind]
cmp al, 0x1f
jne 0x2805fd91
push dword [ebp - 0x10]
lea eax, [edi + 4]
push dword [ebp - 0xc]
jmp 0x2805fd9e
cmp al, 0x38
jne 0x2805fda9
push dword [ebp - 0x10]
lea eax, [edi + 8]
push dword [ebp - 0xc]
push eax
push esi
push ebx
call fcn.2806408a
add esp, 0x14
push edi
push ebx
call sym.perl510.dll_Perl_regnext
pop ecx
mov edi, eax
pop ecx
jmp 0x2805fd74
cmp dword [ebp + 0x10], 0
je 0x2805fe8f
push dword [ebp + 0x10]
mov edi, 0x280ba120
push edi
call dword [sym.imp.MSVCRT.dll_strchr]
pop ecx
test eax, eax
pop ecx
je 0x2805fe39
mov ecx, eax
push 2
sub ecx, edi
pop edi
mov eax, ecx
cdq
idiv edi
test edx, edx
setne al
add eax, 0x32
mov byte [ebp + 8], al
xor eax, eax
cmp ecx, 1
setg al
cmp dword [ebp + 0x10], 0x3e
mov dword [ebp + 0x14], eax
jne 0x2805fe05
and dword [ebp + 0x14], 0
mov byte [ebp + 8], 0x34
push dword [ebp - 0x10]
mov edi, dword [ebp - 8]
push edi
push dword [ebp + 8]
push esi
push ebx
call fcn.28063fa2
mov al, byte [ebp + 0x14]
add esp, 0x14
mov byte [edi], al
push dword [ebp - 0x10]
push 0x25
push esi
push ebx
call fcn.28063e87
add esp, 0xc
push eax
push edi
push esi
push ebx
call fcn.2806408a
add esp, 0x14
mov eax, dword [ebp - 0x28]
mov dword [esi], eax
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x14]
jae 0x2805fe58
push esi
push ebx
call fcn.28063da3
cmp byte [eax], 0x29
pop ecx
pop ecx
je 0x2805ff2d
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x18], eax
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805fe7a
push dword [esi + 8]
push 0x28064d23
push ebx
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, [eax + ecx]
push edx
push ecx
push eax
push 0x280baa6c
jmp 0x2805fed5
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
cmp ecx, eax
jae 0x2805ff2d
cmp byte [ecx], 0x29
jne 0x2805fedc
lea eax, [ebx + 0x1ec]
inc ecx
cmp dword [esi + 0x28], eax
mov dword [esi + 0x18], ecx
je 0x2805fec2
push dword [esi + 8]
push 0x28064d23
push ebx
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, [eax + ecx]
push edx
push ecx
push eax
push 0x280baa60
push str._s_in_regex__marked_by_____HERE_in_m__.s_____HERE__s_
jmp 0x2805ff24
sub eax, dword [esi + 4]
mov dword [ebp + 0x10], 0x280ac738
mov edi, eax
lea eax, [ebx + 0x1ec]
cmp dword [esi + 0x28], eax
je 0x2805ff04
push dword [esi + 8]
push 0x28064d23
push ebx
call sym.perl510.dll_Perl_save_destructor_x
add esp, 0xc
cmp edi, 0x7f
jle 0x2805ff13
push 0x75
mov dword [ebp + 0x10], 0x280acee8
pop edi
push dword [ebp + 0x10]
push dword [esi + 4]
push edi
push str.Junk_on_end_of_regexp
push str._s_in_regex_m__.s_s_
push ebx
call sym.perl510.dll_Perl_croak
add esp, 0x18
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x2805ff37
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret