Function at 0x2800cd1a
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
mov ecx, eax
and dword [ebp - 0xc], 0
and ecx, 0x30
and dword [ebp - 8], 0
mov dword [ebp - 0x18], ecx
mov ecx, eax
and ecx, 0x40
push ebx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 0x10]
mov ebx, eax
push esi
and ebx, 0xdfffff1f
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], edx
test al, 0x80
mov dword [ebp - 0x10], ebx
lea esi, [edx + ecx]
je 0x2800cd67
mov dword [ebp + 0x14], ecx
jmp 0x2800cf4d
cmp ecx, 2
jbe 0x2800cd88
cmp byte [edx], 0x2a
jne 0x2800cd88
mov al, byte [edx + 1]
inc edx
cmp al, 0x41
jl 0x2800cd7d
cmp al, 0x5a
jle 0x2800cd85
cmp al, 0x61
jl 0x2800cd88
cmp al, 0x7a
jg 0x2800cd88
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
cmp eax, esi
mov dword [ebp + 0x10], eax
jae 0x2800cf3d
mov dl, byte [eax]
cmp dl, 0x3a
jne 0x2800cda9
lea ecx, [esi - 1]
cmp eax, ecx
jae 0x2800cda9
cmp byte [eax + 1], dl
je 0x2800cdbc
cmp dl, 0x27
jne 0x2800cf2b
cmp byte [eax + 1], 0
je 0x2800cf2b
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x2800cdd4
mov ecx, dword [edi + 0xf4]
test ecx, ecx
mov dword [ebp - 8], ecx
je 0x2800dd91
cmp dword [ecx + 4], 0
je 0x2800dd91
mov ebx, eax
sub ebx, dword [ebp - 4]
test ebx, ebx
jle 0x2800cf17
lea eax, [ebx + 2]
cmp eax, 0x80
jg 0x2800cdfd
lea eax, [ebp - 0x98]
jmp 0x2800ce04
push eax
call sym.perl510.dll_Perl_safesysmalloc
pop ecx
push ebx
mov dword [ebp + 0x14], eax
push dword [ebp - 4]
push eax
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x10]
push 0
push 0
mov byte [eax + ebx], 0x3a
inc ebx
mov byte [eax + ebx], 0x3a
inc ebx
neg ecx
sbb ecx, ecx
and ecx, 0x10
add ecx, 0x20
push ecx
push ebx
push eax
push dword [ebp - 8]
push edi
call sym.perl510.dll_Perl_hv_common_key_len
add esp, 0x28
test eax, eax
je 0x2800ce49
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
jmp 0x2800ce50
and dword [ebp - 0xc], 0
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x2800ce89
lea ecx, [edi + 0x790]
cmp eax, ecx
je 0x2800ce89
cmp byte [eax + 8], 9
je 0x2800ce83
mov eax, dword [ebp - 0x10]
and eax, 2
push eax
push ebx
push dword [ebp + 0x14]
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call sym.perl510.dll_Perl_gv_init
mov eax, dword [ebp - 0xc]
add esp, 0x18
jmp 0x2800ce89
mov ecx, dword [eax]
or dword [ecx + 8], 2
lea ecx, [ebp - 0x98]
cmp dword [ebp + 0x14], ecx
je 0x2800cea0
push dword [ebp + 0x14]
call sym.perl510.dll_Perl_safesysfree
mov eax, dword [ebp - 0xc]
pop ecx
test eax, eax
je 0x2800dd91
lea ecx, [edi + 0x790]
cmp eax, ecx
je 0x2800dd91
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [ebp - 8], eax
jne 0x2800cedf
push 0xc
push edi
call sym.perl510.dll_Perl_newSV_type
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x14], eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 8], eax
test byte [eax + 0xb], 2
je 0x2800cefa
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + 0xc]
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x2800cefa
add eax, 8
jmp 0x2800cefc
xor eax, eax
test eax, eax
jne 0x2800cf17
push eax
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0xc]
push dword [ebp - 8]
push edi
call sym.perl510.dll_Perl_hv_name_set
add esp, 0x14
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0x3a
jne 0x2800cf20
inc eax
inc eax
cmp eax, esi
mov dword [ebp + 0x10], eax
mov dword [ebp - 4], eax
je 0x2800cf91
mov eax, dword [ebp + 0x10]
inc eax
cmp eax, esi
mov dword [ebp + 0x10], eax
jb 0x2800cd96
mov ebx, dword [ebp - 0x10]
sub eax, dword [ebp - 4]
cmp dword [ebp - 8], 0
mov dword [ebp + 0x14], eax
jne 0x2800d2f4
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x2800d268
mov eax, dword [edi + 0x100]
test byte [eax + 0x28], 8
jne 0x2800cfbf
mov eax, dword [ebp - 4]
cmp byte [eax], 0xc0
jb 0x2800cfbf
push eax
push edi
call sym.perl510.dll_Perl_is_utf8_idcont
pop ecx
test al, al
pop ecx
je 0x2800d268
push dword [ebp - 4]
push edi
call sym.perl510.dll_Perl_is_utf8_digit
pop ecx
test al, al
pop ecx
je 0x2800cfdc
jmp 0x2800d268
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x2800dd93
push eax
push eax
push 0x30
push eax
push 6
push str.main::
push eax
push dword [edi + 0xf4]
push edi
call sym.perl510.dll_Perl_hv_common
mov eax, dword [eax]
add esp, 0x24
jmp 0x2800dd93
mov eax, dword [ebp - 4]
mov al, byte [eax]
cmp al, 0x41
jl 0x2800cfcc
cmp al, 0x5a
jle 0x2800cfdc
cmp al, 0x61
jl 0x2800cfd4
cmp al, 0x7a
jle 0x2800cfdc
cmp al, 0x5f
jne 0x2800d268
mov eax, esi
dec eax
je 0x2800d11a
dec eax
dec eax
je 0x2800d0da
dec eax
je 0x2800d0c0
dec eax
je 0x2800d0a0
dec eax
je 0x2800d04c
dec eax
mov eax, dword [ebp - 4]
jne 0x2800d126
cmp byte [eax], 0x41
jne 0x2800d126
cmp byte [eax + 1], 0x52
jne 0x2800d126
cmp byte [eax + 2], 0x47
jne 0x2800d126
cmp byte [eax + 3], 0x56
jne 0x2800d126
cmp byte [eax + 4], 0x4f
jne 0x2800d126
cmp byte [eax + 5], 0x55
jne 0x2800d126
cmp byte [eax + 6], 0x54
jmp 0x2800d120
mov eax, dword [ebp - 4]
cmp byte [eax], 0x53
jne 0x2800d126
cmp byte [eax + 1], 0x54
jne 0x2800d126
cmp byte [eax + 2], 0x44
jne 0x2800d126
mov cl, byte [eax + 3]
cmp cl, 0x4f
jne 0x2800d084
cmp byte [eax + 4], 0x55
jne 0x2800d084
cmp byte [eax + 5], 0x54
je 0x2800d268
cmp cl, 0x45
jne 0x2800d126
cmp byte [eax + 4], 0x52
jne 0x2800d126
cmp byte [eax + 5], 0x52
jmp 0x2800d120
mov eax, dword [ebp - 4]
cmp byte [eax], 0x53
jne 0x2800d126
cmp byte [eax + 1], 0x54
jne 0x2800d126
cmp byte [eax + 2], 0x44
jne 0x2800d126
cmp byte [eax + 3], 0x49
jne 0x2800d126
cmp byte [eax + 4], 0x4e
jmp 0x2800d120
mov eax, dword [ebp - 4]
cmp byte [eax], 0x41
jne 0x2800d126
cmp byte [eax + 1], 0x52
jne 0x2800d126
cmp byte [eax + 2], 0x47
jne 0x2800d126
cmp byte [eax + 3], 0x56
jmp 0x2800d120
mov eax, dword [ebp - 4]
mov cl, byte [eax]
cmp cl, 0x49
jne 0x2800d0f4
cmp byte [eax + 1], 0x4e
jne 0x2800d0f4
cmp byte [eax + 2], 0x43
je 0x2800d268
cmp cl, 0x45
jne 0x2800d109
cmp byte [eax + 1], 0x4e
jne 0x2800d109
cmp byte [eax + 2], 0x56
je 0x2800d268
cmp cl, 0x53
jne 0x2800d126
cmp byte [eax + 1], 0x49
jne 0x2800d126
cmp byte [eax + 2], 0x47
jmp 0x2800d120
mov eax, dword [ebp - 4]
cmp byte [eax], 0x5f
je 0x2800d268
lea ecx, [edi + 0x368]
cmp dword [edi + 0x100], ecx
jne 0x2800d246
mov ecx, dword [edi + 0xf8]
test ebx, ebx
mov dword [ebp - 8], ecx
je 0x2800d271
test byte [edi + 0x7dd], 4
je 0x2800d271
mov ecx, dword [ebp + 0x18]
cmp ecx, 0xd
je 0x2800d271
cmp ecx, 9
je 0x2800d271
cmp ecx, 0xe
je 0x2800d271
cmp ecx, 0xf
je 0x2800d271
cmp esi, 1
jne 0x2800d199
cmp ecx, 5
jne 0x2800d199
mov al, byte [eax]
cmp al, 0x61
je 0x2800d271
cmp al, 0x62
je 0x2800d271
push 0
push 0
push 0x20
push esi
push dword [ebp - 4]
push dword [ebp - 8]
push edi
call sym.perl510.dll_Perl_hv_common_key_len
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x2800d240
mov eax, dword [esi]
lea ecx, [edi + 0x790]
cmp eax, ecx
je 0x2800d240
cmp byte [eax + 8], 9
jne 0x2800d240
cmp dword [ebp + 0x18], 5
jne 0x2800d1d9
mov ecx, dword [eax]
test byte [ecx + 8], 0x10
je 0x2800d1f9
cmp dword [ebp + 0x18], 0xb
jne 0x2800d1e7
mov ecx, dword [eax]
test byte [ecx + 8], 0x20
je 0x2800d23b
cmp dword [ebp + 0x18], 0xc
jne 0x2800d271
mov eax, dword [eax]
test byte [eax + 8], 0x40
jne 0x2800d271
xor eax, eax
cmp dword [ebp + 0x18], 0xc
sete al
add eax, 0x24
push dword [ebp - 4]
push eax
push str.Variable___c_s__is_not_imported
push edi
call sym.perl510.dll_Perl_warn
mov eax, dword [esi]
add esp, 0x10
mov eax, dword [eax + 0xc]
cmp dword [eax + 0xc], 0
jne 0x2800d277
cmp dword [eax + 8], 0
je 0x2800d277
push dword [ebp - 4]
push 0x280b18e8
push edi
call sym.perl510.dll_Perl_warn
add esp, 0xc
jmp 0x2800d277
push 0x40
pop eax
jmp 0x2800d205
and dword [ebp - 8], 0
jmp 0x2800d271
mov eax, dword [edi + 0x100]
cmp dword [eax + 0x20], 0
je 0x2800d240
push 1
mov eax, dword [edi + 0x100]
push dword [eax + 0x20]
push edi
call sym.perl510.dll_Perl_gv_stashpv
add esp, 0xc
jmp 0x2800d26e
mov eax, dword [edi + 0xf4]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x2800d2f4
test ebx, ebx
je 0x2800dd91
cmp dword [ebp + 0x18], 5
jne 0x2800d28c
mov eax, 0x280b18e4
jmp 0x2800d2a9
cmp dword [ebp + 0x18], 0xb
jne 0x2800d299
mov eax, 0x280b18e0
jmp 0x2800d2a9
cmp dword [ebp + 0x18], 0xc
mov eax, 0x280b18dc
je 0x2800d2a9
mov eax, 0x280ac738
push dword [ebp - 4]
push eax
push str.Global_symbol___s_s__requires_explicit_package_name
push edi
call sym.perl510.dll_Perl_mess
add esp, 0x10
test byte [edi + 0x7de], 0x80
je 0x2800d2c8
or byte [eax + 0xb], 0x20
push eax
push edi
call sym.perl510.dll_Perl_qerror
push 0xc
push 2
push 8
push str._none_::
push edi
call sym.perl510.dll_Perl_gv_fetchpvn_flags
add esp, 0x1c
test eax, eax
je 0x2800dd91
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
xor ebx, ebx
cmp dword [eax + 4], ebx
je 0x2800dd91
mov ecx, dword [ebp - 0x10]
push ebx
neg ecx
sbb ecx, ecx
push ebx
and ecx, 0x10
add ecx, 0x20
push ecx
push dword [ebp + 0x14]
push dword [ebp - 4]
push eax
push edi
call sym.perl510.dll_Perl_hv_common_key_len
add esp, 0x1c
cmp eax, ebx
je 0x2800dd91
mov esi, dword [eax]
lea ecx, [edi + 0x790]
cmp esi, ecx
je 0x2800dd91
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 0xff
cmp ecx, 9
jne 0x2800d3de
cmp dword [ebp - 0x10], ebx
je 0x2800dd8d
push dword [ebp + 0x18]
mov eax, dword [esi]
or dword [eax + 8], 2
push esi
push edi
call fcn.2800dd98
add esp, 0xc
cmp dword [ebp + 0x14], 1
jne 0x2800dd8d
cmp dword [ebp + 0x18], 0xc
je 0x2800d384
cmp dword [ebp + 0x18], 9
jne 0x2800dd8d
mov eax, dword [ebp - 4]
mov al, byte [eax]
cmp al, 0x21
jne 0x2800d3ac
push 1
push str.TIEHASH
push 5
push str.Errno
push edi
call sym.perl510.dll_Perl_newSVpvn
add esp, 0xc
push eax
push 0x280b1888
jmp 0x2800d3d2
cmp al, 0x2d
je 0x2800d3b8
cmp al, 0x2b
jne 0x2800dd8d
push ebx
push str.TIEHASH
push 0x17
push str.Tie::Hash::NamedCapture
push edi
call sym.perl510.dll_Perl_newSVpvn
add esp, 0xc
push eax
push dword [ebp - 4]
push esi
push edi
call fcn.2800de34
jmp 0x2800dd8a
cmp dword [ebp - 0x18], ebx
jne 0x2800dd8d
cmp dword [ebp - 0x14], ebx
je 0x2800d3f5
test ah, 8
jne 0x2800dd8d
cmp ecx, 1
jne 0x2800d408
mov eax, dword [esi + 0xc]
mov ebx, dword [eax + 8]
and ebx, 0xff00
jmp 0x2800d40f
and eax, 0xff00
mov ebx, eax
test byte [ebp - 0x10], 4
je 0x2800d436
push 0x18
push edi
call sym.perl510.dll_Perl_ckwarn_d
pop ecx
test al, al
pop ecx
je 0x2800d436
push dword [ebp + 0xc]
push str.Had_to_create__s_unexpectedly
push 0x18
push edi
call sym.perl510.dll_Perl_warner
add esp, 0x10
mov eax, dword [ebp - 0x10]
and eax, 2
push eax
mov dword [ebp + 0x10], eax
push dword [ebp + 0x14]
push dword [ebp - 4]
push dword [ebp - 8]
push esi
push edi
call sym.perl510.dll_Perl_gv_init
add esp, 0x18
test ebx, ebx
je 0x2800d45c
push 0xd
pop eax
jmp 0x2800d45f
mov eax, dword [ebp + 0x18]
push eax
push esi
push edi
call fcn.2800dd98
mov ebx, dword [ebp - 4]
add esp, 0xc
mov al, byte [ebx]
cmp al, 0x41
jl 0x2800d477
cmp al, 0x5a
jle 0x2800d47f
cmp al, 0x61
jl 0x2800d4b2
cmp al, 0x7a
jg 0x2800d4b2
mov eax, dword [edi + 0x100]
xor ecx, ecx
cmp dword [eax + 0x30], ecx
je 0x2800d49d
push 0xe
push edi
call sym.perl510.dll_Perl_ckwarn
pop ecx
pop ecx
movsx eax, al
xor ecx, ecx
jmp 0x2800d4a6
mov al, byte [edi + 0x269]
and eax, 1
cmp eax, ecx
jne 0x2800d4b4
mov eax, dword [esi]
or dword [eax + 8], 2
jmp 0x2800d4b4
xor ecx, ecx
cmp dword [ebp + 0x14], 1
jle 0x2800d927
mov al, byte [ebx]
cmp al, 0x56
jg 0x2800dd8d
mov ecx, dword [ebp - 4]
movsx eax, al
cmp eax, 0x17
lea ebx, [ecx + 1]
jg 0x2800d5c4
je 0x2800d5b0
sub eax, 3
je 0x2800d5a9
dec eax
dec eax
je 0x2800d5a2
sub eax, 8
je 0x2800d586
dec eax
dec eax
je 0x2800d59b
dec eax
je 0x2800d542
sub eax, 4
je 0x2800d56c
dec eax
jne 0x2800dd8d
push str.NICODE
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x2800d9c6
push str.TF8LOCALE
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x2800d9c6
push str.TF8CACHE
jmp 0x2800d5b5
push str.REMATCH
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x2800dd65
push str.OSTMATCH
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x2800dd65
push str.AINT
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x2800d9c6
jmp 0x2800dd8d
push str.ATCH
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x2800dd65
push 0x280b1808
jmp 0x2800d5b5
push str.NCODING
jmp 0x2800d5b5
push str.HILD_ERROR_NATIVE
jmp 0x2800d5b5
push str.ARNING_BITS
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
jmp 0x2800dd03
cmp eax, 0x49
jg 0x2800d7d6
je 0x2800d6a0
cmp eax, 0x31
jl 0x2800dd8d
cmp eax, 0x39
jle 0x2800d672
cmp eax, 0x41
je 0x2800d606
cmp eax, 0x45
jne 0x2800dd8d
push 5
push str.XPORT
push ebx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
jmp 0x2800d65f
push 0x280b17d4
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x2800d652
test esi, esi
je 0x2800d62d
cmp byte [esi + 8], 9
jne 0x2800d62d
mov eax, dword [esi + 0xc]
test eax, eax
je 0x2800d62d
mov eax, dword [eax + 4]
jmp 0x2800d62f
xor eax, eax
test eax, eax
je 0x2800d638
mov eax, dword [esi + 0xc]
jmp 0x2800d644
push esi
push edi
call sym.perl510.dll_Perl_gv_IOadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov eax, dword [eax + 4]
mov eax, dword [eax]
or byte [eax + 0x51], 3
jmp 0x2800dd8d
push str.RGVOUT
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x2800dd8d
mov eax, dword [esi]
or dword [eax + 8], 2
jmp 0x2800dd8d
mov eax, dword [ebp + 0x14]
lea eax, [eax + ecx - 1]
cmp eax, ecx
jbe 0x2800dd65
mov cl, byte [eax]
cmp cl, 0x30
jl 0x2800dd8d
cmp cl, 0x39
jg 0x2800dd8d
dec eax
cmp eax, dword [ebp - 4]
ja 0x2800d681
jmp 0x2800dd65
push 0x280b17c8
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x2800dd8d
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x2800d6c3
mov ebx, eax
jmp 0x2800d6d2
push esi
push edi
call sym.perl510.dll_Perl_gv_AVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov ebx, dword [eax + 0x18]
mov eax, dword [esi]
push 0
push 0
push 0x49
or dword [eax + 8], 2
push esi
push ebx
push edi
mov dword [ebp + 0x18], ebx
call sym.perl510.dll_Perl_sv_magic
add esp, 0x18
cmp dword [ebp + 0x10], 0
je 0x2800dd8d
push str.AnyDBM_File::ISA
push dword [ebp + 0xc]
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x2800dd8d
mov eax, dword [ebx]
cmp dword [eax + 8], 0xffffffff
jne 0x2800dd8d
mov ebx, str.NDBM_File
push 9
push ebx
push edi
call sym.perl510.dll_Perl_newSVpvn
push eax
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_av_push
push 1
push 9
push ebx
push edi
call sym.perl510.dll_Perl_gv_stashpvn
mov ebx, str.DB_File
push 7
push ebx
push edi
call sym.perl510.dll_Perl_newSVpvn
push eax
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_av_push
add esp, 0x40
push 1
push 7
push ebx
push edi
call sym.perl510.dll_Perl_gv_stashpvn
mov ebx, str.GDBM_File
push 9
push ebx
push edi
call sym.perl510.dll_Perl_newSVpvn
push eax
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_av_push
push 1
push 9
push ebx
push edi
call sym.perl510.dll_Perl_gv_stashpvn
mov ebx, str.SDBM_File
push 9
push ebx
push edi
call sym.perl510.dll_Perl_newSVpvn
add esp, 0x44
push eax
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_av_push
push 1
push 9
push ebx
push edi
call sym.perl510.dll_Perl_gv_stashpvn
mov ebx, str.ODBM_File
push 9
push ebx
push edi
call sym.perl510.dll_Perl_newSVpvn
push eax
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_av_push
push 1
push 9
push ebx
push edi
call sym.perl510.dll_Perl_gv_stashpvn
add esp, 0x44
jmp 0x2800dd8d
cmp eax, 0x4f
je 0x2800d8e6
cmp eax, 0x53
je 0x2800d7f7
cmp eax, 0x56
jne 0x2800dd8d
push str.ERSION
jmp 0x2800d657
push 0x280b1770
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x2800dd8d
cmp dword [edi + 0x86c], eax
jne 0x2800d844
push 4
push 0x1b
call sym.perl510.dll_Perl_safesyscalloc
push 4
push 0x1b
mov dword [edi + 0x86c], eax
call sym.perl510.dll_Perl_safesyscalloc
push 4
push 0x1b
mov dword [edi + 0x870], eax
call sym.perl510.dll_Perl_safesyscalloc
add esp, 0x18
mov dword [edi + 0x290], eax
mov eax, dword [esi]
or dword [eax + 8], 2
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x2800d863
push esi
push edi
call sym.perl510.dll_Perl_gv_HVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov eax, dword [eax + 0x14]
mov dword [ebp + 0x18], eax
xor eax, eax
push eax
push eax
push 0x53
push eax
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_sv_magic
add esp, 0x18
push 4
pop ebx
push 0
push 0
push 0x30
push dword [ebx + sym.perl510.dll_PL_sig_name]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push dword [ebx + sym.perl510.dll_PL_sig_name]
push dword [ebp + 0x18]
push edi
call sym.perl510.dll_Perl_hv_common_key_len
add esp, 0x1c
test eax, eax
je 0x2800d8bc
lea ecx, [edi + 0x790]
push 0x602
push ecx
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_setsv_flags
add esp, 0x10
mov ecx, dword [edi + 0x86c]
xor eax, eax
mov dword [ecx + ebx], eax
mov ecx, dword [edi + 0x870]
mov dword [ecx + ebx], eax
mov ecx, dword [edi + 0x290]
mov dword [ebx + ecx], eax
add ebx, 4
cmp ebx, 0x6c
jl 0x2800d87c
jmp 0x2800dd8d
push str.VERLOAD
push ebx
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x2800dd8d
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov ecx, dword [eax + 0x14]
cmp ecx, ebx
jne 0x2800d916
push esi
push edi
call sym.perl510.dll_Perl_gv_HVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [esi]
push ebx
push ebx
push 0x41
or dword [eax + 8], 2
push ebx
push ecx
jmp 0x2800dd84
movsx eax, byte [ebx]
cmp eax, 0x2a
jg 0x2800db2c
je 0x2800daf7
cmp eax, 0x14
jg 0x2800da2b
je 0x2800dd65
cmp eax, 9
jg 0x2800d9a6
je 0x2800dd65
cmp eax, 1
je 0x2800dd65
cmp eax, 2
jle 0x2800dd8d
cmp eax, 6
jle 0x2800dd65
cmp eax, 8
jne 0x2800dd8d
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, ecx
jne 0x2800d990
push esi
push edi
call sym.perl510.dll_Perl_gv_HVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov eax, dword [eax + 0x14]
xor ecx, ecx
push ecx
push ecx
push 0x48
push ecx
push eax
push edi
call sym.perl510.dll_Perl_sv_magic
add esp, 0x18
jmp 0x2800dd65
cmp eax, 0xc
je 0x2800d9e5
cmp eax, 0xd
jle 0x2800dd8d
cmp eax, 0x10
jle 0x2800dd65
cmp eax, 0x13
jne 0x2800dd8d
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
jne 0x2800d9da
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov eax, dword [eax]
or byte [eax + 0xb], 8
jmp 0x2800dd65
mov eax, dword [esi + 0xc]
cmp dword [eax], ecx
jne 0x2800d9f8
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
push 1
push 0x280b1764
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_setpvn
mov eax, dword [esi + 0xc]
add esp, 0x10
cmp dword [eax], 0
jne 0x2800da1e
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov eax, dword [eax]
mov dword [edi + 0x27c], eax
jmp 0x2800dd8d
cmp eax, 0x23
jg 0x2800dad1
je 0x2800daf7
sub eax, 0x16
je 0x2800da93
dec eax
je 0x2800dd65
sub eax, 0xa
jne 0x2800dd8d
mov eax, dword [esi]
or dword [eax + 8], 2
mov eax, dword [esi + 0xc]
cmp dword [eax], ecx
jne 0x2800da68
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
push dword [ebp + 0x14]
push ebx
push 0
push esi
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_magic
add esp, 0x18
cmp dword [ebp + 0x18], 0xc
je 0x2800d38d
cmp dword [ebp + 0x18], 9
jne 0x2800dd8d
jmp 0x2800d38d
mov eax, dword [esi + 0xc]
cmp dword [eax], ecx
jne 0x2800daa6
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
push dword [edi + 0x254]
mov ebx, dword [eax]
push edi
call sym.perl510.dll_Perl_new_version
mov ecx, dword [esi + 0xc]
push ebx
push edi
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
or byte [eax + 0xb], 8
call sym.perl510.dll_Perl_sv_free
add esp, 0x10
jmp 0x2800dd8d
cmp eax, 0x25
je 0x2800dd65
jle 0x2800dd8d
cmp eax, 0x27
jle 0x2800dd42
cmp eax, 0x29
jle 0x2800dd65
jmp 0x2800dd8d
cmp dword [ebp + 0x18], 5
jne 0x2800dd8d
mov ebx, 0x1c02
push ebx
push edi
call sym.perl510.dll_Perl_ckwarn_d
pop ecx
test al, al
pop ecx
je 0x2800dd8d
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
push eax
push str.__c_is_no_longer_supported
push ebx
push edi
call sym.perl510.dll_Perl_warner
jmp 0x2800dac9
cmp eax, 0x3e
jg 0x2800dc79
cmp eax, 0x3c
jge 0x2800dd65
cmp eax, 0x2f
jg 0x2800dc0c
cmp eax, 0x2e
jge 0x2800dd65
sub eax, 0x2b
je 0x2800db63
dec eax
je 0x2800dd65
dec eax
jne 0x2800dd8d
mov eax, dword [esi]
or dword [eax + 8], 2
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x18]
cmp eax, ecx
je 0x2800db77
mov ebx, eax
jmp 0x2800db86
push esi
push edi
call sym.perl510.dll_Perl_gv_AVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
push 0
push 0
push 0x44
mov al, byte [eax]
sub al, 0x2b
neg al
sbb eax, eax
not eax
and eax, ebx
push eax
push ebx
push edi
mov dword [ebp + 0xc], eax
call sym.perl510.dll_Perl_sv_magic
mov eax, dword [esi + 0xc]
add esp, 0x18
cmp dword [eax], 0
jne 0x2800dbbd
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
push dword [ebp + 0x14]
push dword [ebp - 4]
push 0
push esi
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_magic
add esp, 0x18
cmp dword [ebp + 0xc], 0
je 0x2800dbf1
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
jne 0x2800dbeb
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov eax, dword [eax]
or byte [eax + 0xb], 8
or byte [ebx + 0xb], 8
cmp dword [ebp + 0x18], 0xc
je 0x2800dc05
cmp dword [ebp + 0x18], 9
jne 0x2800dd8d
push 0
jmp 0x2800d3b9
cmp eax, 0x31
jl 0x2800dd8d
cmp eax, 0x39
jle 0x2800dd65
cmp eax, 0x3a
je 0x2800dc53
cmp eax, 0x3b
jne 0x2800dd8d
mov eax, dword [esi + 0xc]
cmp dword [eax], ecx
jne 0x2800dc3f
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
push 1
push 0x280b1744
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_setpvn
jmp 0x2800dac9
mov eax, dword [esi + 0xc]
cmp dword [eax], ecx
jne 0x2800dc66
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
push dword [edi + 0xe4]
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_setpv
jmp 0x2800dd3d
cmp eax, 0x5e
jg 0x2800dcf7
je 0x2800dd65
cmp eax, 0x3f
je 0x2800dd65
cmp eax, 0x5a
jle 0x2800dd8d
cmp eax, 0x5c
jle 0x2800dd65
cmp eax, 0x5d
jne 0x2800dd8d
mov eax, dword [esi + 0xc]
cmp dword [eax], ecx
jne 0x2800dcbb
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov ebx, dword [eax]
push str.version
push dword [edi + 0x254]
push edi
call sym.perl510.dll_Perl_sv_derived_from
add esp, 0xc
test al, al
jne 0x2800dce6
push 1
push dword [edi + 0x254]
push edi
call sym.perl510.dll_Perl_upg_version
add esp, 0xc
push dword [edi + 0x254]
push edi
call sym.perl510.dll_Perl_vnumify
jmp 0x2800dab4
sub eax, 0x60
je 0x2800dd42
sub eax, 0x1c
je 0x2800dd0a
dec eax
dec eax
je 0x2800dd65
jmp 0x2800dd8d
mov eax, dword [esi + 0xc]
cmp dword [eax], ecx
jne 0x2800dd1d
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
mov ecx, dword [edi + 0xe0]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
mov cl, byte [ecx + 0x51]
shr ecx, 2
and ecx, 1
push ecx
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_setiv
add esp, 0xc
jmp 0x2800dd65
mov eax, dword [ebp + 0x18]
cmp eax, 0xb
je 0x2800dd8d
cmp eax, 0xc
je 0x2800dd8d
cmp eax, 0xd
je 0x2800dd8d
cmp eax, 0xe
je 0x2800dd8d
cmp eax, 0xf
je 0x2800dd8d
mov byte [edi + 0x26b], 1
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
jne 0x2800dd79
push esi
push edi
call sym.perl510.dll_Perl_gv_SVadd
mov eax, dword [eax + 0xc]
pop ecx
pop ecx
push dword [ebp + 0x14]
push dword [ebp - 4]
push 0
push esi
push dword [eax]
push edi
call sym.perl510.dll_Perl_sv_magic
add esp, 0x18
mov eax, esi
jmp 0x2800dd93
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret