Function at 0x470260
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0x10]
test ebx, ebx
jne 0x470270
or eax, 0xffffffff
pop ebx
pop ecx
ret
push esi
mov esi, dword [ebx]
mov edx, esi
mov dword [esp + 8], edx
lea esp, [esp]
mov al, byte [edx]
cmp al, 0x61
jl 0x47028e
cmp al, 0x7a
jle 0x470330
cmp al, 0x41
jl 0x47029a
cmp al, 0x5a
jle 0x470330
cmp al, 0x30
jl 0x4702a6
cmp al, 0x39
jle 0x470330
cmp al, 0x2d
je 0x470330
cmp al, 0x5f
je 0x470330
cmp al, 0x2e
je 0x470330
cmp al, 0x21
je 0x470330
cmp al, 0x7e
je 0x470330
cmp al, 0x2a
je 0x470330
cmp al, 0x27
je 0x470330
cmp al, 0x28
je 0x470330
cmp al, 0x29
je 0x470330
cmp al, 0x25
jne 0x470314
mov cl, byte [edx + 1]
cmp cl, 0x30
jl 0x4702df
cmp cl, 0x39
jle 0x4702f3
cmp cl, 0x61
jl 0x4702e9
cmp cl, 0x66
jle 0x4702f3
cmp cl, 0x41
jl 0x470314
cmp cl, 0x46
jg 0x470314
mov cl, byte [edx + 2]
cmp cl, 0x30
jl 0x470300
cmp cl, 0x39
jle 0x470330
cmp cl, 0x61
jl 0x47030a
cmp cl, 0x66
jle 0x470330
cmp cl, 0x41
jl 0x470314
cmp cl, 0x46
jle 0x470330
cmp al, 0x3a
je 0x470330
cmp al, 0x40
je 0x470330
cmp al, 0x26
je 0x470330
cmp al, 0x3d
je 0x470330
cmp al, 0x2b
je 0x470330
cmp al, 0x24
je 0x470330
cmp al, 0x2c
jne 0x470340
cmp al, 0x25
jne 0x470415
add edx, 3
jmp 0x470280
cmp byte [edx], 0x3b
jne 0x470410
inc edx
lea ebx, [ebx]
mov al, byte [edx]
cmp al, 0x61
jl 0x47035e
cmp al, 0x7a
jle 0x470400
cmp al, 0x41
jl 0x47036a
cmp al, 0x5a
jle 0x470400
cmp al, 0x30
jl 0x470376
cmp al, 0x39
jle 0x470400
cmp al, 0x2d
je 0x470400
cmp al, 0x5f
je 0x470400
cmp al, 0x2e
je 0x470400
cmp al, 0x21
je 0x470400
cmp al, 0x7e
je 0x470400
cmp al, 0x2a
je 0x470400
cmp al, 0x27
je 0x470400
cmp al, 0x28
je 0x470400
cmp al, 0x29
je 0x470400
cmp al, 0x25
jne 0x4703e4
mov cl, byte [edx + 1]
cmp cl, 0x30
jl 0x4703af
cmp cl, 0x39
jle 0x4703c3
cmp cl, 0x61
jl 0x4703b9
cmp cl, 0x66
jle 0x4703c3
cmp cl, 0x41
jl 0x4703e4
cmp cl, 0x46
jg 0x4703e4
mov cl, byte [edx + 2]
cmp cl, 0x30
jl 0x4703d0
cmp cl, 0x39
jle 0x470400
cmp cl, 0x61
jl 0x4703da
cmp cl, 0x66
jle 0x470400
cmp cl, 0x41
jl 0x4703e4
cmp cl, 0x46
jle 0x470400
cmp al, 0x3a
je 0x470400
cmp al, 0x40
je 0x470400
cmp al, 0x26
je 0x470400
cmp al, 0x3d
je 0x470400
cmp al, 0x2b
je 0x470400
cmp al, 0x24
je 0x470400
cmp al, 0x2c
jne 0x470410
cmp al, 0x25
jne 0x470349
add edx, 3
jmp 0x470350
cmp byte [edx], 0x2f
jne 0x47041b
inc edx
jmp 0x470280
push ebp
push edi
mov edi, dword [esp + 0x18]
test edi, edi
mov dword [esp + 0x10], edx
je 0x4704f1
mov eax, dword [esp + 0x20]
mov ecx, edx
xor ebx, ebx
sub ecx, esi
test eax, eax
je 0x47043c
inc ecx
mov eax, dword [edi + 0x18]
test eax, eax
je 0x470453
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x470446
sub eax, esi
mov ebx, eax
add ecx, ebx
inc ecx
push ecx
call dword [0x490c9c]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x47048b
mov eax, dword [0x4a4528]
push str.xmlParseURIPathSegments:_out_of_memory_n
push eax
call dword [0x490ca8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
add esp, 8
pop edi
pop ebp
pop esi
mov dword [edx], ecx
or eax, 0xffffffff
pop ebx
pop ecx
ret
mov esi, dword [edi + 0x18]
test esi, esi
je 0x4704a8
mov ecx, ebx
mov eax, ecx
shr ecx, 2
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4704b5
mov byte [ebx + ebp], 0x2f
inc ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ebx, ebp
mov byte [ebx], 0
mov ecx, dword [ecx]
sub eax, ecx
test eax, eax
jle 0x4704d5
push ebx
push eax
push ecx
call fcn.0046f6f0
add esp, 0xc
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4704e6
push eax
call dword [0x490c98]
add esp, 4
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [edi + 0x18], ebp
pop edi
pop ebp
pop esi
mov dword [ebx], edx
xor eax, eax
pop ebx
pop ecx
ret