Function at 0x45366c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], edx
or eax, 0xffffffff
test edx, edx
je 0x4539e7
mov esi, dword [edx]
mov edx, dword [ebp - 0x20]
mov ebx, esi
jmp 0x453699
cmp al, 0x25
jne 0x453698
add ebx, 3
jmp 0x453699
inc ebx
mov al, byte [ebx]
lea ecx, [eax - 0x41]
cmp cl, 0x19
jbe 0x45368f
lea ecx, [eax - 0x61]
cmp cl, 0x19
jbe 0x45368f
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x45368f
cmp al, 0x5f
je 0x45368f
cmp al, 0x2d
je 0x45368f
cmp al, 0x2e
je 0x453698
cmp al, 0x21
je 0x453698
cmp al, 0x7e
je 0x453698
cmp al, 0x2a
je 0x453698
cmp al, 0x27
je 0x453698
cmp al, 0x28
je 0x453698
cmp al, 0x29
je 0x453698
cmp al, 0x25
jne 0x453735
mov cl, byte [ebx + 1]
mov byte [ebp - 0x1c], cl
lea edi, [ecx - 0x61]
mov ecx, edi
cmp cl, 5
jbe 0x453703
mov cl, byte [ebp - 0x1c]
lea edi, [ecx - 0x30]
mov ecx, edi
cmp cl, 9
jbe 0x453703
mov cl, byte [ebp - 0x1c]
sub ecx, 0x41
cmp cl, 5
ja 0x45376d
mov cl, byte [ebx + 2]
mov byte [ebp - 0x1c], cl
lea edi, [ecx - 0x61]
mov ecx, edi
cmp cl, 5
jbe 0x453693
mov cl, byte [ebp - 0x1c]
lea edi, [ecx - 0x30]
mov ecx, edi
cmp cl, 9
jbe 0x453693
mov cl, byte [ebp - 0x1c]
sub ecx, 0x41
cmp cl, 5
jbe 0x453693
jmp 0x45376d
cmp al, 0x3a
je 0x453698
cmp al, 0x40
je 0x453698
cmp al, 0x26
je 0x453698
cmp al, 0x3d
je 0x453698
cmp al, 0x2b
je 0x453698
cmp al, 0x24
je 0x453698
cmp al, 0x2c
je 0x453698
test edx, edx
je 0x4538ec
test byte [edx + 0x24], 1
je 0x4538ec
cmp al, 0x7d
je 0x45368f
cmp al, 0x7b
je 0x45368f
cmp al, 0x7c
je 0x453698
cmp al, 0x5c
je 0x453698
cmp al, 0x5e
je 0x453698
cmp al, 0x5b
je 0x453698
cmp al, 0x5d
je 0x453698
cmp al, 0x60
je 0x453698
jmp 0x4538ec
cmp al, 0x25
jne 0x4537cd
add ebx, 3
jmp 0x4537ce
inc ebx
mov al, byte [ebx]
lea ecx, [eax - 0x41]
cmp cl, 0x19
jbe 0x4537c4
lea ecx, [eax - 0x61]
cmp cl, 0x19
jbe 0x4537c4
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x4537c4
cmp al, 0x5f
je 0x4537c4
cmp al, 0x2d
je 0x4537c4
cmp al, 0x2e
je 0x4537cd
cmp al, 0x21
je 0x4537cd
cmp al, 0x7e
je 0x4537cd
cmp al, 0x2a
je 0x4537cd
cmp al, 0x27
je 0x4537cd
cmp al, 0x28
je 0x4537cd
cmp al, 0x29
je 0x4537cd
cmp al, 0x25
jne 0x45386a
mov cl, byte [ebx + 1]
mov byte [ebp - 0x1c], cl
lea edi, [ecx - 0x61]
mov ecx, edi
cmp cl, 5
jbe 0x453838
mov cl, byte [ebp - 0x1c]
lea edi, [ecx - 0x30]
mov ecx, edi
cmp cl, 9
jbe 0x453838
mov cl, byte [ebp - 0x1c]
sub ecx, 0x41
cmp cl, 5
ja 0x4538a2
mov cl, byte [ebx + 2]
mov byte [ebp - 0x1c], cl
lea edi, [ecx - 0x61]
mov ecx, edi
cmp cl, 5
jbe 0x4537c8
mov cl, byte [ebp - 0x1c]
lea edi, [ecx - 0x30]
mov ecx, edi
cmp cl, 9
jbe 0x4537c8
mov cl, byte [ebp - 0x1c]
sub ecx, 0x41
cmp cl, 5
jbe 0x4537c8
jmp 0x4538a2
cmp al, 0x3a
je 0x4537cd
cmp al, 0x40
je 0x4537cd
cmp al, 0x26
je 0x4537cd
cmp al, 0x3d
je 0x4537cd
cmp al, 0x2b
je 0x4537cd
cmp al, 0x24
je 0x4537cd
cmp al, 0x2c
je 0x4537cd
test edx, edx
je 0x4538ec
test byte [edx + 0x24], 1
je 0x4538ec
cmp al, 0x7d
je 0x4537c4
cmp al, 0x7b
je 0x4537c4
cmp al, 0x7c
je 0x4537cd
cmp al, 0x5c
je 0x4537cd
cmp al, 0x5e
je 0x4537cd
cmp al, 0x5b
je 0x4537cd
cmp al, 0x5d
je 0x4537cd
cmp al, 0x60
je 0x4537cd
mov al, byte [ebx]
cmp al, 0x3b
je 0x4537cd
cmp al, 0x2f
je 0x453698
cmp dword [ebp - 0x20], 0
je 0x4539e0
mov edi, ebx
mov eax, dword [ebp - 0x20]
sub edi, esi
mov dword [ebp - 0x1c], 0
lea edx, [edi + 1]
mov edi, dword [eax + 0x18]
test edi, edi
je 0x45392f
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x1c], ecx
add edx, ecx
inc edx
mov dword [esp], edx
call dword [0x5dd278]
mov edx, eax
test eax, eax
jne 0x453962
mov eax, dword [0x696e30]
mov dword [esp + 4], str.xmlParseURIPathSegments:_out_of_memory_n
mov dword [esp], eax
call dword [0x5dd298]
mov ecx, dword [ebp - 0x24]
or eax, 0xffffffff
mov dword [ecx], ebx
jmp 0x4539e7
mov edi, dword [ebp - 0x20]
mov esi, dword [edi + 0x18]
test esi, esi
je 0x453973
mov edi, eax
mov ecx, dword [ebp - 0x1c]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x1c]
mov byte [edx + eax], 0x2f
mov ecx, dword [ebp - 0x1c]
lea eax, [edx + ecx + 1]
mov ecx, ebx
mov byte [eax], 0
mov edi, dword [ebp - 0x24]
mov esi, dword [edi]
sub ecx, esi
test ecx, ecx
jle 0x4539c1
mov edi, dword [ebp - 0x20]
test byte [edi + 0x24], 2
je 0x4539ab
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x24]
mov ecx, ebx
sub ecx, dword [esi]
mov byte [eax + ecx], 0
jmp 0x4539c1
mov dword [ebp - 0x28], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.004522b2
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4539da
mov dword [ebp - 0x28], edx
mov dword [esp], eax
call dword [0x5dd270]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov dword [ecx], ebx
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret