Function at 0x100366b0
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0x10]
test ebx, ebx
push esi
mov esi, dword [esp + 0x10]
jne 0x100366c6
pop esi
or eax, 0xffffffff
pop ebx
pop ecx
ret
push ebp
mov ebp, dword [ebx]
push edi
mov edi, ebp
mov dword [esp + 0x10], edi
mov dl, 1
mov al, byte [edi]
cmp al, 0x61
jl 0x100366e0
cmp al, 0x7a
jle 0x100367cb
cmp al, 0x41
jl 0x100366ec
cmp al, 0x5a
jle 0x100367cb
cmp al, 0x30
jl 0x100366f8
cmp al, 0x39
jle 0x100367cb
cmp al, 0x2d
je 0x100367cb
cmp al, 0x5f
je 0x100367cb
cmp al, 0x2e
je 0x100367cb
cmp al, 0x21
je 0x100367cb
cmp al, 0x7e
je 0x100367cb
cmp al, 0x2a
je 0x100367cb
cmp al, 0x27
je 0x100367cb
cmp al, 0x28
je 0x100367cb
cmp al, 0x29
je 0x100367cb
cmp al, 0x25
jne 0x10036786
mov cl, byte [edi + 1]
cmp cl, 0x30
jl 0x10036751
cmp cl, 0x39
jle 0x10036765
cmp cl, 0x61
jl 0x1003675b
cmp cl, 0x66
jle 0x10036765
cmp cl, 0x41
jl 0x10036786
cmp cl, 0x46
jg 0x10036786
mov cl, byte [edi + 2]
cmp cl, 0x30
jl 0x10036772
cmp cl, 0x39
jle 0x100367cb
cmp cl, 0x61
jl 0x1003677c
cmp cl, 0x66
jle 0x100367cb
cmp cl, 0x41
jl 0x10036786
cmp cl, 0x46
jle 0x100367cb
cmp al, 0x3a
je 0x100367cb
cmp al, 0x40
je 0x100367cb
cmp al, 0x26
je 0x100367cb
cmp al, 0x3d
je 0x100367cb
cmp al, 0x2b
je 0x100367cb
cmp al, 0x24
je 0x100367cb
cmp al, 0x2c
je 0x100367cb
test esi, esi
je 0x100367db
test byte [esi + 0x24], dl
je 0x100367db
cmp al, 0x7b
je 0x100367cb
cmp al, 0x7d
je 0x100367cb
cmp al, 0x7c
je 0x100367cb
cmp al, 0x5c
je 0x100367cb
cmp al, 0x5e
je 0x100367cb
cmp al, 0x5b
je 0x100367cb
cmp al, 0x5d
je 0x100367cb
cmp al, 0x60
jne 0x100367db
cmp al, 0x25
jne 0x100368fc
add edi, 3
jmp 0x100366d2
cmp byte [edi], 0x3b
jne 0x100368f7
inc edi
mov al, byte [edi]
cmp al, 0x61
jl 0x100367f3
cmp al, 0x7a
jle 0x100368de
cmp al, 0x41
jl 0x100367ff
cmp al, 0x5a
jle 0x100368de
cmp al, 0x30
jl 0x1003680b
cmp al, 0x39
jle 0x100368de
cmp al, 0x2d
je 0x100368de
cmp al, 0x5f
je 0x100368de
cmp al, 0x2e
je 0x100368de
cmp al, 0x21
je 0x100368de
cmp al, 0x7e
je 0x100368de
cmp al, 0x2a
je 0x100368de
cmp al, 0x27
je 0x100368de
cmp al, 0x28
je 0x100368de
cmp al, 0x29
je 0x100368de
cmp al, 0x25
jne 0x10036899
mov cl, byte [edi + 1]
cmp cl, 0x30
jl 0x10036864
cmp cl, 0x39
jle 0x10036878
cmp cl, 0x61
jl 0x1003686e
cmp cl, 0x66
jle 0x10036878
cmp cl, 0x41
jl 0x10036899
cmp cl, 0x46
jg 0x10036899
mov cl, byte [edi + 2]
cmp cl, 0x30
jl 0x10036885
cmp cl, 0x39
jle 0x100368de
cmp cl, 0x61
jl 0x1003688f
cmp cl, 0x66
jle 0x100368de
cmp cl, 0x41
jl 0x10036899
cmp cl, 0x46
jle 0x100368de
cmp al, 0x3a
je 0x100368de
cmp al, 0x40
je 0x100368de
cmp al, 0x26
je 0x100368de
cmp al, 0x3d
je 0x100368de
cmp al, 0x2b
je 0x100368de
cmp al, 0x24
je 0x100368de
cmp al, 0x2c
je 0x100368de
test esi, esi
je 0x100368ee
test byte [esi + 0x24], dl
je 0x100368ee
cmp al, 0x7b
je 0x100368de
cmp al, 0x7d
je 0x100368de
cmp al, 0x7c
je 0x100368de
cmp al, 0x5c
je 0x100368de
cmp al, 0x5e
je 0x100368de
cmp al, 0x5b
je 0x100368de
cmp al, 0x5d
je 0x100368de
cmp al, 0x60
jne 0x100368ee
cmp al, 0x25
jne 0x100367e4
add edi, 3
jmp 0x100367e5
cmp byte [edi], 0x3b
je 0x100367e4
cmp byte [edi], 0x2f
jne 0x10036902
inc edi
jmp 0x100366d2
test esi, esi
mov dword [esp + 0x10], edi
je 0x10036a0b
mov ecx, dword [esp + 0x20]
mov eax, edi
xor ebx, ebx
sub eax, ebp
test ecx, ecx
je 0x1003691d
inc eax
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x1003693b
mov ebx, ecx
lea edx, [ebx + 1]
lea esp, [esp]
mov cl, byte [ebx]
inc ebx
test cl, cl
jne 0x10036930
sub ebx, edx
add eax, ebx
inc eax
push eax
call dword [0x1013f8b0]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x10036974
call fcn.1002b140
mov esi, eax
call fcn.1002b180
mov eax, dword [eax]
push str.xmlParseURIPathSegments:_out_of_memory_n
push eax
call dword [esi]
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [ecx], edi
pop edi
pop ebp
pop esi
or eax, 0xffffffff
pop ebx
pop ecx
ret
mov esi, dword [esi + 0x18]
test esi, esi
je 0x1003698d
mov ecx, ebx
mov edx, ecx
shr ecx, 2
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1003699a
mov byte [ebx + ebp], 0x2f
inc ebx
mov eax, dword [esp + 0x1c]
lea edi, [ebx + ebp]
mov byte [edi], 0
mov esi, dword [eax]
mov eax, dword [esp + 0x10]
mov ecx, eax
sub ecx, esi
test ecx, ecx
jle 0x100369e7
mov edx, dword [esp + 0x18]
test byte [edx + 0x24], 2
je 0x100369dc
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [edx]
mov ecx, ebp
sub ecx, esi
add ecx, ebx
mov byte [ecx + eax], 0
jmp 0x100369e7
push edi
push ecx
push esi
call fcn.100356e0
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100369fc
push eax
call dword [0x1013f8a8]
add esp, 4
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov dword [ecx + 0x18], ebp
mov dword [ebx], edi
pop edi
pop ebp
pop esi
xor eax, eax
pop ebx
pop ecx
ret