Function at 0x65244f79
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x44
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], 0
jmp 0x65244f9c
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
add dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x3e
je 0x65244f8f
cmp dword [ebp - 0x14], 0
je 0x65244fb6
mov eax, dword [0x6526e01c]
cmp dword [ebp - 0x14], eax
jbe 0x65244fd7
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_check_mem
cmp eax, 0xffffffff
jne 0x65244fd7
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x14]
mov dword [0x6526e01c], eax
cmp dword [ebp - 0x14], 0
je 0x6524514d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x6524500f
mov dword [esp + 4], 0x65268348
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magerror
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
test eax, eax
jne 0x65245036
mov dword [esp + 4], str.Continuations_present_with_0_count
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magerror
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
imul eax, eax, 0x178
sub eax, 0x178
add eax, edx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
movzx eax, word [eax]
movzx eax, ax
sub edx, eax
mov eax, edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jle 0x65245091
mov eax, dword [ebp - 0x10]
movzx eax, word [eax]
movzx eax, ax
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], str.New_continuation_level__u_is_more_than_one_larger_than_current_level__u
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
cmp edx, eax
jne 0x65245103
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
add eax, 0xa
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
imul edx, eax, 0x178
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._realloc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x652450f2
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x178
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_oomem
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x24]
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x20]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
lea ecx, [eax + 1]
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], ecx
imul eax, eax, 0x178
add eax, ebx
mov dword [ebp - 0x10], eax
mov dword [esp + 8], 0x178
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp - 0x14]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov word [eax], dx
jmp 0x652451da
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x65245160
mov eax, 1
jmp 0x65245d35
mov eax, dword [0x65269060]
mov dword [esp], eax
call sym._malloc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x65245194
mov eax, dword [0x65269060]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_oomem
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], 0xa
mov dword [esp + 8], 0x178
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp - 0x10]
mov byte [eax + 0xb], 0
mov eax, dword [ebp - 0x10]
mov word [eax], 0
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x26
jne 0x65245208
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
or eax, 2
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x28
jne 0x65245278
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
or eax, 1
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
movzx eax, al
and eax, 2
test eax, eax
je 0x65245253
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
and eax, 0xfffffff9
or eax, 4
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x26
jne 0x65245278
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
or eax, 2
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x10]
movzx eax, word [eax]
test ax, ax
jne 0x652452be
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
movzx eax, al
and eax, 6
test eax, eax
je 0x652452be
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x652452b4
mov dword [esp + 4], str.relative_offset_at_level_0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x652452e3
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
or eax, 0xffffff80
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
lea edx, [ebp - 0x30]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strtol
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xc], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
cmp edx, eax
jne 0x6524533e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x65245334
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.offset___s_invalid
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
movzx eax, al
and eax, 1
test eax, eax
je 0x652455da
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 4
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 8], 0
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x2e
je 0x65245389
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x2c
jne 0x6524547d
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x2c
jne 0x652453a5
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 8]
or eax, 0x20
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 8], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movsx eax, al
sub eax, 0x42
cmp eax, 0x31
ja case.0x652453c6.68
mov eax, dword [eax*4 + 0x65268518]
jmp eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0xb
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 8
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0x17
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0xa
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 7
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 1
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0x26
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0x25
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0x28
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0x27
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0x19
jmp 0x65245474
mov eax, dword [ebp - 0x10]
mov byte [eax + 7], 0x1a
jmp 0x65245474
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x6524546a
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movsx eax, al
mov dword [esp + 8], eax
mov dword [esp + 4], str.indirect_offset_type___c_invalid
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x7e
jne 0x652454a2
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 8]
or eax, 0x40
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 8], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movsx eax, al
mov dword [esp], eax
call sym._get_op
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x652454db
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 8]
mov edx, eax
mov eax, dword [ebp - 0x28]
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 8], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x28
jne 0x65245500
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 8]
or eax, 0xffffff80
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 8], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
cmp eax, 9
jbe 0x6524551b
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x6524557c
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
lea edx, [ebp - 0x30]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strtol
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x10], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
cmp edx, eax
jne 0x65245576
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x6524556c
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.in_offset___s_invalid
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
lea edx, [eax + 1]
mov dword [ebp - 0x2c], edx
movzx eax, byte [eax]
cmp al, 0x29
jne 0x652455a7
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 8]
test al, al
jns 0x652455da
mov eax, dword [ebp - 0x2c]
lea edx, [eax + 1]
mov dword [ebp - 0x2c], edx
movzx eax, byte [eax]
cmp al, 0x29
je 0x652455da
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x652455c7
mov dword [esp + 4], str.missing___in_indirect_offset
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test al, al
js 0x652455fb
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_isspace]
call eax
test eax, eax
jne 0x652455d1
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x2c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._get_cond
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 0xa], dl
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0xa]
movzx eax, al
mov edx, dword [ebp - 0x14]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._check_cond
cmp eax, 0xffffffff
jne 0x6524564d
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test al, al
js 0x6524566e
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_isspace]
call eax
test eax, eax
jne 0x65245644
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x75
jne 0x652456e8
mov eax, dword [ebp - 0x2c]
lea edx, [eax + 1]
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], str.invalid
call sym._get_type
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 6], dl
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
test al, al
jne 0x652456c2
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x2c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._get_standard_integer_type
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 6], dl
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
test al, al
je 0x6524576f
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
or eax, 8
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
jmp 0x6524576f
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x2c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str.invalid
call sym._get_type
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 6], dl
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
test al, al
jne 0x6524576f
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x64
jne 0x6524573b
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x2c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._get_standard_integer_type
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 6], dl
jmp 0x6524576f
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x73
jne 0x6524576f
mov eax, dword [ebp - 0x2c]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_isalpha]
call eax
test eax, eax
jne 0x6524576f
mov eax, dword [ebp - 0x10]
mov byte [eax + 6], 5
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
test al, al
jne 0x6524579c
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x2c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0x652678c0
call sym._get_type
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 6], dl
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
test al, al
jne 0x652457d8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x652457ce
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.type___s_invalid
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x2d
jne 0x6524581a
cmp dword [ebp - 0x14], 0
je 0x6524581a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x65245810
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], str._name_s_entries_can_only_be_declared_at_top_level
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x10]
mov byte [eax + 9], 0
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x7e
jne 0x652458cf
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 5
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0xd
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x12
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x13
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x11
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x14
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x29
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x2d
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x2e
je 0x652458a6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 9]
or eax, 0x40
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 9], dl
jmp 0x652458c6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x652458c6
mov dword [esp + 4], str._invalid_for_string_types
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x18], 0
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0xd
jne 0x652458eb
mov edx, pe_nt_image_headers32
jmp 0x652458f0
mov edx, 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movsx eax, al
mov dword [esp], eax
call sym._get_op
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x65245a3b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 5
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0xd
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x12
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x13
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x11
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x14
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x29
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x2d
je 0x6524597b
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x2e
jne 0x65245a0d
cmp dword [ebp - 0x28], 6
je 0x652459b8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x652459ae
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
movsx eax, al
mov dword [esp + 8], eax
mov dword [esp + 4], str.invalid_string_indirect_op:___c
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 6]
cmp al, 0x29
jne 0x652459e1
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._parse_indirect_modifier
mov dword [ebp - 0x18], eax
jmp 0x652459fd
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._parse_string_modifier
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x65245a2f
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._parse_op_modifier
jmp 0x65245a3b
nop
jmp 0x65245a3b
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test al, al
js 0x65245a5c
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_isspace]
call eax
test eax, eax
jne 0x65245a32
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movsx eax, al
cmp eax, 0x3e
jg 0x65245a88
cmp eax, 0x21
jl case.0x65245a86.34
sub eax, 0x21
cmp eax, 0x1d
ja case.0x65245a86.34
mov eax, dword [eax*4 + 0x652685e0]
jmp eax
cmp eax, 0x5e
je case.0x65245a86.38
jmp case.0x65245a86.34
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x3d
jne 0x65245ba4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x65245aef
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 4]
movzx eax, al
mov dword [esp + 8], eax
mov dword [esp + 4], str._c_not_supported
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x65245ba4
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x3d
jne 0x65245ba7
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x65245ba7
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x65245bab
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], 0x3d
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x78
jne 0x65245baa
mov eax, dword [ebp - 0x2c]
add eax, 1
movzx eax, byte [eax]
test al, al
js 0x65245b7e
mov eax, dword [ebp - 0x2c]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_isspace]
call eax
test eax, eax
jne 0x65245b8b
mov eax, dword [ebp - 0x2c]
add eax, 1
movzx eax, byte [eax]
test al, al
jne 0x65245baa
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], dl
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x65245baa
nop
jmp 0x65245bab
nop
jmp 0x65245bab
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 4]
cmp al, 0x78
je 0x65245bed
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._getvalue
test eax, eax
je 0x65245bed
mov eax, 0xffffffff
jmp 0x65245d35
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test al, al
js 0x65245c0e
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movzx eax, al
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_isspace]
call eax
test eax, eax
jne 0x65245be4
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 8
jne 0x65245c35
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
or eax, 0x10
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
jmp 0x65245c70
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x65245c70
mov eax, dword [ebp - 0x2c]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x62
jne 0x65245c70
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 2]
or eax, 0x10
mov edx, eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 2], dl
mov dword [ebp - 0xc], 0
jmp 0x65245c7a
nop
mov edx, dword [ebp - 0x2c]
lea eax, [edx + 1]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
lea ecx, [eax + 1]
mov dword [ebp - 0xc], ecx
movzx ecx, byte [edx]
mov edx, dword [ebp - 0x10]
mov byte [edx + eax + 0xa0], cl
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + eax + 0xa0]
test al, al
je 0x65245cae
cmp dword [ebp - 0xc], 0x3f
jbe 0x65245c79
cmp dword [ebp - 0xc], 0x40
jne 0x65245cea
mov eax, dword [ebp - 0x10]
mov byte [eax + 0xdf], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x65245cea
mov eax, dword [ebp - 0x10]
add eax, 0xa0
mov dword [esp + 8], eax
mov dword [esp + 4], str.description___s_truncated
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libmagic_1.dll_file_magwarn
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
and eax, 0x40
test eax, eax
je 0x65245d15
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._check_format
cmp eax, 0xffffffff
jne 0x65245d15
mov eax, 0xffffffff
jmp 0x65245d35
cmp dword [ebp + 0x18], 1
jne 0x65245d26
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym.libmagic_1.dll_file_mdump
mov eax, dword [ebp - 0x10]
mov byte [eax + 0xe0], 0
mov eax, 0
add esp, 0x44
pop ebx
pop ebp
ret