Function at 0x100ef590
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x100ef5a3
xor eax, eax
pop ebp
add esp, 8
ret
push ebx
push edi
mov edi, 0x50
push 0x51
mov dword [esp + 0x10], edi
call dword [0x1030d45c]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x100ef5f0
push str.saving_URI_n
push str.Memory_allocation_failed_:__s_n
push eax
push eax
push eax
push eax
push str.saving_URI_n
push eax
push eax
push 3
push 2
push 0x1e
push eax
push eax
push eax
push eax
push eax
call fcn.100db7e0
add esp, 0x44
xor eax, eax
pop edi
pop ebx
pop ebp
add esp, 8
ret
mov ebp, dword [ebp]
push esi
xor esi, esi
test ebp, ebp
je 0x100ef661
cmp byte [ebp], 0
je 0x100ef65c
cmp esi, edi
jl 0x100ef62e
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100ef600
cmp esi, edi
jl 0x100ef65c
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
mov byte [esi + ebx], 0x3a
inc esi
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 4]
test ebp, ebp
je 0x100ef816
cmp byte [ebp], 0
je 0x100efec7
nop word [eax + eax]
lea eax, [esi + 3]
cmp eax, edi
jl 0x100ef6b1
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
cmp al, 0x3b
je 0x100ef774
cmp al, 0x2f
je 0x100ef774
cmp al, 0x3f
je 0x100ef774
cmp al, 0x3a
je 0x100ef774
cmp al, 0x40
je 0x100ef774
cmp al, 0x26
je 0x100ef774
cmp al, 0x3d
je 0x100ef774
cmp al, 0x2b
je 0x100ef774
cmp al, 0x24
je 0x100ef774
cmp al, 0x2c
je 0x100ef774
cmp al, 0x5b
je 0x100ef774
cmp al, 0x5d
je 0x100ef774
cmp al, 0x61
jl 0x100ef70c
cmp al, 0x7a
jle 0x100ef774
cmp al, 0x41
jl 0x100ef714
cmp al, 0x5a
jle 0x100ef774
cmp al, 0x30
jl 0x100ef71c
cmp al, 0x39
jle 0x100ef774
cmp al, 0x2d
je 0x100ef774
cmp al, 0x5f
je 0x100ef774
cmp al, 0x2e
je 0x100ef774
cmp al, 0x21
je 0x100ef774
cmp al, 0x7e
je 0x100ef774
cmp al, 0x2a
je 0x100ef774
cmp al, 0x27
je 0x100ef774
cmp al, 0x28
je 0x100ef774
cmp al, 0x29
je 0x100ef774
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100ef680
jmp 0x100efec7
push str.saving_URI_n
push str.Memory_allocation_failed_:__s_n
push 0
push 0
push 0
push 0
push str.saving_URI_n
push 0
push 0
push 3
push 2
push 0x1e
push 0
push 0
push 0
push 0
push 0
call fcn.100db7e0
add esp, 0x44
push ebx
call dword [0x1030d464]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret
push str.reaching_arbitrary_MAX_URI_LENGTH_limit_n
push str.Memory_allocation_failed_:__s_n
push 0
push 0
push 0
push 0
push str.reaching_arbitrary_MAX_URI_LENGTH_limit_n
push 0
push 0
push 3
push 2
push 0x1e
push 0
push 0
push 0
push 0
push 0
call fcn.100db7e0
add esp, 0x44
push ebx
call dword [0x1030d464]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret
mov ebp, dword [esp + 0x1c]
cmp dword [ebp + 0xc], 0
jne 0x100ef98b
cmp dword [ebp + 0x14], 0xffffffff
je 0x100ef98b
cmp dword [ebp + 8], 0
je 0x100ef955
lea eax, [esi + 3]
cmp eax, edi
jl 0x100ef85b
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
mov word [esi + ebx], 0x2f2f
add esi, 2
mov ebp, dword [ebp + 8]
cmp byte [ebp], 0
je 0x100ef94c
lea eax, [esi + 3]
cmp eax, edi
jl 0x100ef8a2
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x100ef8b1
cmp al, 0x7a
jle 0x100ef93d
cmp al, 0x41
jl 0x100ef8bd
cmp al, 0x5a
jle 0x100ef93d
cmp al, 0x30
jl 0x100ef8c5
cmp al, 0x39
jle 0x100ef93d
cmp al, 0x2d
je 0x100ef93d
cmp al, 0x5f
je 0x100ef93d
cmp al, 0x2e
je 0x100ef93d
cmp al, 0x21
je 0x100ef93d
cmp al, 0x7e
je 0x100ef93d
cmp al, 0x2a
je 0x100ef93d
cmp al, 0x27
je 0x100ef93d
cmp al, 0x28
je 0x100ef93d
cmp al, 0x29
je 0x100ef93d
cmp al, 0x24
je 0x100ef93d
cmp al, 0x2c
je 0x100ef93d
cmp al, 0x3b
je 0x100ef93d
cmp al, 0x3a
je 0x100ef93d
cmp al, 0x40
je 0x100ef93d
cmp al, 0x26
je 0x100ef93d
cmp al, 0x3d
je 0x100ef93d
cmp al, 0x2b
je 0x100ef93d
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100ef871
mov ebp, dword [esp + 0x1c]
jmp 0x100efb6a
cmp dword [ebp], 0
je 0x100efb6a
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efb6a
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
jmp 0x100efb6a
lea eax, [esi + 3]
cmp eax, edi
jl 0x100ef9ae
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
mov word [esi + ebx], 0x2f2f
add esi, 2
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x100efacb
cmp byte [ebp], 0
je 0x100efaa3
nop dword [eax]
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efa01
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x100efa10
cmp al, 0x7a
jle 0x100efa94
cmp al, 0x41
jl 0x100efa18
cmp al, 0x5a
jle 0x100efa94
cmp al, 0x30
jl 0x100efa20
cmp al, 0x39
jle 0x100efa94
cmp al, 0x2d
je 0x100efa94
cmp al, 0x5f
je 0x100efa94
cmp al, 0x2e
je 0x100efa94
cmp al, 0x21
je 0x100efa94
cmp al, 0x7e
je 0x100efa94
cmp al, 0x2a
je 0x100efa94
cmp al, 0x27
je 0x100efa94
cmp al, 0x28
je 0x100efa94
cmp al, 0x29
je 0x100efa94
cmp al, 0x3b
je 0x100efa94
cmp al, 0x3a
je 0x100efa94
cmp al, 0x26
je 0x100efa94
cmp al, 0x3d
je 0x100efa94
cmp al, 0x2b
je 0x100efa94
cmp al, 0x24
je 0x100efa94
cmp al, 0x2c
je 0x100efa94
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100ef9d0
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efac6
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
mov byte [esi + ebx], 0x40
inc esi
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 0xc]
test ebp, ebp
je 0x100efb68
cmp byte [ebp], 0
je 0x100efb1c
cmp esi, edi
jl 0x100efb0e
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100efae0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jle 0x100efb6a
lea eax, [esi + 0xa]
cmp eax, edi
jl 0x100efb4d
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov ecx, dword [ebp + 0x14]
mov ebx, eax
mov edi, dword [esp + 0x10]
push ecx
mov eax, edi
sub eax, esi
push 0x10275ef8
push eax
lea eax, [esi + ebx]
push eax
call fcn.1000e762
add esp, 0x10
add esi, eax
jmp 0x100efb6a
mov ebp, eax
mov ebp, dword [ebp + 0x18]
test ebp, ebp
je 0x100efceb
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x100efbff
cmp byte [ebp], 0x2f
jne 0x100efbff
lea eax, [ebp + 1]
mov dword [esp + 0x14], eax
mov al, byte [eax]
cmp al, 0x61
jl 0x100efb9a
cmp al, 0x7a
jle 0x100efba0
sub al, 0x41
cmp al, 0x19
ja 0x100efbff
cmp byte [ebp + 2], 0x3a
jne 0x100efbff
push str.file
push ecx
call fcn.100e2e30
add esp, 8
test eax, eax
je 0x100efbff
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efbde
lea eax, [esp + 0x10]
push eax
push ebx
lfence
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
movzx eax, byte [ebp]
mov ebp, dword [esp + 0x14]
mov byte [esi + ebx], al
movzx eax, byte [ebp]
mov byte [esi + ebx + 1], al
movzx eax, byte [ebp + 1]
mov byte [esi + ebx + 2], al
add esi, 3
add ebp, 2
cmp byte [ebp], 0
je 0x100efceb
nop dword [eax]
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efc41
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x100efc50
cmp al, 0x7a
jle 0x100efcdc
cmp al, 0x41
jl 0x100efc5c
cmp al, 0x5a
jle 0x100efcdc
cmp al, 0x30
jl 0x100efc64
cmp al, 0x39
jle 0x100efcdc
cmp al, 0x2d
je 0x100efcdc
cmp al, 0x5f
je 0x100efcdc
cmp al, 0x2e
je 0x100efcdc
cmp al, 0x21
je 0x100efcdc
cmp al, 0x7e
je 0x100efcdc
cmp al, 0x2a
je 0x100efcdc
cmp al, 0x27
je 0x100efcdc
cmp al, 0x28
je 0x100efcdc
cmp al, 0x29
je 0x100efcdc
cmp al, 0x2f
je 0x100efcdc
cmp al, 0x3b
je 0x100efcdc
cmp al, 0x40
je 0x100efcdc
cmp al, 0x26
je 0x100efcdc
cmp al, 0x3d
je 0x100efcdc
cmp al, 0x2b
je 0x100efcdc
cmp al, 0x24
je 0x100efcdc
cmp al, 0x2c
je 0x100efcdc
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100efc10
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x28], 0
je 0x100efd8a
lea ebp, [esi + 1]
cmp ebp, edi
jl 0x100efd1f
lea eax, [esp + 0x10]
push eax
push ebx
lfence
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
mov byte [esi + ebx], 0x3f
mov esi, ebp
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x28]
cmp byte [ebp], 0
je 0x100efec7
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
nop dword [eax]
cmp eax, edi
jl 0x100efd6e
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + ebx], al
inc esi
mov eax, dword [esp + 0x14]
inc eax
cmp byte [ebp], 0
mov dword [esp + 0x14], eax
jne 0x100efd40
jmp 0x100efec7
cmp dword [ecx + 0x1c], 0
je 0x100efecb
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efdbe
lea eax, [esp + 0x10]
push eax
push ebx
lfence
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
mov ecx, dword [esp + 0x1c]
mov byte [esi + ebx], 0x3f
inc esi
mov ebp, dword [ecx + 0x1c]
cmp byte [ebp], 0
je 0x100efecb
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efe01
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x100efe10
cmp al, 0x7a
jle 0x100efeb8
cmp al, 0x41
jl 0x100efe1c
cmp al, 0x5a
jle 0x100efeb8
cmp al, 0x30
jl 0x100efe28
cmp al, 0x39
jle 0x100efeb8
cmp al, 0x2d
je 0x100efeb8
cmp al, 0x5f
je 0x100efeb8
cmp al, 0x2e
je 0x100efeb8
cmp al, 0x21
je 0x100efeb8
cmp al, 0x7e
je 0x100efeb8
cmp al, 0x2a
je 0x100efeb8
cmp al, 0x27
je 0x100efeb8
cmp al, 0x28
je 0x100efeb8
cmp al, 0x29
je 0x100efeb8
cmp al, 0x3b
je 0x100efeb8
cmp al, 0x2f
je 0x100efeb8
cmp al, 0x3f
je 0x100efeb8
cmp al, 0x3a
je 0x100efeb8
cmp al, 0x40
je 0x100efeb8
cmp al, 0x26
je 0x100efeb8
cmp al, 0x3d
je 0x100efeb8
cmp al, 0x2b
je 0x100efeb8
cmp al, 0x24
je 0x100efeb8
cmp al, 0x2c
je 0x100efeb8
cmp al, 0x5b
je 0x100efeb8
cmp al, 0x5d
je 0x100efeb8
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100efdd0
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x20], 0
je 0x100f0008
lea eax, [esi + 3]
cmp eax, edi
jl 0x100efefb
lea eax, [esp + 0x10]
push eax
push ebx
lfence
call fcn.100f0050
add esp, 8
test eax, eax
je 0x100f0021
mov edi, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov byte [esi + ebx], 0x23
inc esi
mov ebp, dword [eax + 0x20]
cmp byte [ebp], 0
je 0x100f0008
lea eax, [esi + 3]
cmp eax, edi
jl 0x100eff42
cmp edi, 0x100000
jg 0x100ef7cf
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x1030d460]
add esp, 8
test eax, eax
je 0x100ef788
mov dword [esp + 0x10], edi
mov ebx, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x100eff51
cmp al, 0x7a
jle 0x100efff9
cmp al, 0x41
jl 0x100eff5d
cmp al, 0x5a
jle 0x100efff9
cmp al, 0x30
jl 0x100eff69
cmp al, 0x39
jle 0x100efff9
cmp al, 0x2d
je 0x100efff9
cmp al, 0x5f
je 0x100efff9
cmp al, 0x2e
je 0x100efff9
cmp al, 0x21
je 0x100efff9
cmp al, 0x7e
je 0x100efff9
cmp al, 0x2a
je 0x100efff9
cmp al, 0x27
je 0x100efff9
cmp al, 0x28
je 0x100efff9
cmp al, 0x29
je 0x100efff9
cmp al, 0x3b
je 0x100efff9
cmp al, 0x2f
je 0x100efff9
cmp al, 0x3f
je 0x100efff9
cmp al, 0x3a
je 0x100efff9
cmp al, 0x40
je 0x100efff9
cmp al, 0x26
je 0x100efff9
cmp al, 0x3d
je 0x100efff9
cmp al, 0x2b
je 0x100efff9
cmp al, 0x24
je 0x100efff9
cmp al, 0x2c
je 0x100efff9
cmp al, 0x5b
je 0x100efff9
cmp al, 0x5d
je 0x100efff9
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + ebx], al
inc esi
cmp byte [ebp], 0
jne 0x100eff11
cmp esi, edi
jl 0x100f0037
lea eax, [esp + 0x10]
push eax
push ebx
lfence
call fcn.100f0050
add esp, 8
test eax, eax
jne 0x100f0035
push ebx
call dword [0x1030d464]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret
mov ebx, eax
mov byte [esi + ebx], 0
mov eax, ebx
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret