Function at 0x42a7d0
Capabilities:
Parse credit card information

Disassembly:
push ecx
mov eax, dword [esp + 8]
push ebx
push ebp
push esi
test eax, eax
push edi
je 0x42b293
mov ebx, 0x50
push 0x51
mov dword [esp + 0x14], ebx
call dword [0x44ac60]
mov edi, eax
add esp, 4
test edi, edi
jne 0x42a817
mov eax, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, dword [esp + 0x18]
xor esi, esi
mov ebp, dword [ecx]
test ebp, ebp
je 0x42a8c2
cmp byte [ebp], 0
je 0x42a8b9
cmp esi, ebx
jl 0x42a84b
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42a899
mov dl, byte [ebp]
mov byte [esi + edi], dl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x42a831
cmp esi, ebx
mov dword [esp + 0x10], ebx
jl 0x42a8b9
add ebx, ebx
mov dword [esp + 0x10], ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42a8b9
mov edx, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov eax, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push eax
mov dword [esp + 0x18], ebx
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, dword [esp + 0x18]
mov byte [esi + edi], 0x3a
inc esi
mov eax, dword [ecx + 4]
test eax, eax
je 0x42aa1a
mov cl, byte [eax]
mov dword [esp + 0x10], eax
test cl, cl
je 0x42b0cd
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x42a8f8
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42a87c
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x3b
je 0x42a9fa
cmp al, 0x2f
je 0x42a9fa
cmp al, 0x3f
je 0x42a9fa
cmp al, 0x3a
je 0x42a9fa
cmp al, 0x40
je 0x42a9fa
cmp al, 0x26
je 0x42a9fa
cmp al, 0x3d
je 0x42a9fa
cmp al, 0x2b
je 0x42a9fa
cmp al, 0x24
je 0x42a9fa
cmp al, 0x2c
je 0x42a9fa
cmp al, 0x5b
je 0x42a9fa
cmp al, 0x5d
je 0x42a9fa
cmp al, 0x61
jl 0x42a96a
cmp al, 0x7a
jle 0x42a9fa
cmp al, 0x41
jl 0x42a976
cmp al, 0x5a
jle 0x42a9fa
cmp al, 0x30
jl 0x42a97e
cmp al, 0x39
jle 0x42a9fa
cmp al, 0x2d
je 0x42a9fa
cmp al, 0x5f
je 0x42a9fa
cmp al, 0x2e
je 0x42a9fa
cmp al, 0x21
je 0x42a9fa
cmp al, 0x7e
je 0x42a9fa
cmp al, 0x2a
je 0x42a9fa
cmp al, 0x27
je 0x42a9fa
cmp al, 0x28
je 0x42a9fa
cmp al, 0x29
je 0x42a9fa
and eax, 0xff
mov ecx, eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42a9ca
dec ecx
or ecx, 0xfffffff0
inc ecx
mov byte [esi + edi], 0x25
inc esi
inc ebp
cmp eax, 9
setle dl
dec edx
and edx, 7
add edx, 0x30
add dl, al
mov byte [esi + edi], dl
inc esi
inc ebp
cmp ecx, 9
setle al
dec eax
and eax, 7
add eax, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x42aa08
mov byte [esi + edi], al
mov eax, dword [esp + 0x10]
inc esi
inc ebp
inc eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0
jne 0x42a8de
jmp 0x42b0cd
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x42ac7b
lea eax, [esi + 3]
cmp eax, ebx
jl 0x42aa63
add ebx, ebx
mov dword [esp + 0x10], ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42aa63
mov edx, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov eax, dword [esp + 0x18]
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov eax, dword [eax + 0x10]
inc esi
test eax, eax
je 0x42abb0
mov ebx, eax
cmp byte [ebx], 0
je 0x42ab80
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x42aab1
mov ecx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42b27e
mov al, byte [ebx]
cmp al, 0x61
jl 0x42aabf
cmp al, 0x7a
jle 0x42ab71
cmp al, 0x41
jl 0x42aacb
cmp al, 0x5a
jle 0x42ab71
cmp al, 0x30
jl 0x42aad7
cmp al, 0x39
jle 0x42ab71
cmp al, 0x2d
je 0x42ab71
cmp al, 0x5f
je 0x42ab71
cmp al, 0x2e
je 0x42ab71
cmp al, 0x21
je 0x42ab71
cmp al, 0x7e
je 0x42ab71
cmp al, 0x2a
je 0x42ab71
cmp al, 0x27
je 0x42ab71
cmp al, 0x28
je 0x42ab71
cmp al, 0x29
je 0x42ab71
cmp al, 0x3b
je 0x42ab71
cmp al, 0x3a
je 0x42ab71
cmp al, 0x26
je 0x42ab71
cmp al, 0x3d
je 0x42ab71
cmp al, 0x2b
je 0x42ab71
cmp al, 0x24
je 0x42ab71
cmp al, 0x2c
je 0x42ab71
and eax, 0xff
inc ebx
mov ecx, eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42ab41
dec ecx
or ecx, 0xfffffff0
inc ecx
mov byte [esi + edi], 0x25
inc esi
inc ebp
cmp eax, 9
setle dl
dec edx
and edx, 7
add edx, 0x30
add dl, al
mov byte [esi + edi], dl
inc esi
inc ebp
cmp ecx, 9
setle al
dec eax
and eax, 7
add eax, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x42ab77
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x42aa8a
mov eax, dword [esp + 0x10]
lea edx, [esi + 3]
cmp edx, eax
jl 0x42aba7
add eax, eax
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42b27e
mov ebx, dword [esp + 0x10]
mov byte [esi + edi], 0x40
inc esi
mov edx, dword [esp + 0x18]
mov ebp, dword [edx + 0xc]
cmp byte [ebp], 0
je 0x42abea
cmp esi, ebx
jl 0x42abd7
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42ac36
mov cl, byte [ebp]
mov byte [esi + edi], cl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x42abbd
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x42ae2b
lea ecx, [esi + 0xa]
cmp ecx, ebx
jl 0x42ac57
add ebx, ebx
mov dword [esp + 0x10], ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42ac57
mov eax, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov edx, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push edx
mov dword [esp + 0x18], ebx
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, dword [esp + 0x18]
sub ebx, esi
lea eax, [esi + edi]
mov edx, dword [ecx + 0x14]
push edx
push 0x44cb00
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x10
add esi, eax
jmp 0x42ae2b
mov eax, dword [ecx + 8]
test eax, eax
je 0x42ade0
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x42acc3
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42acc3
mov edx, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov eax, dword [esp + 0x18]
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov ebx, dword [eax + 8]
inc esi
cmp byte [ebx], 0
je 0x42ae2b
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x42ad07
mov ecx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42b27e
mov al, byte [ebx]
cmp al, 0x61
jl 0x42ad15
cmp al, 0x7a
jle 0x42adcf
cmp al, 0x41
jl 0x42ad21
cmp al, 0x5a
jle 0x42adcf
cmp al, 0x30
jl 0x42ad2d
cmp al, 0x39
jle 0x42adcf
cmp al, 0x2d
je 0x42adcf
cmp al, 0x5f
je 0x42adcf
cmp al, 0x2e
je 0x42adcf
cmp al, 0x21
je 0x42adcf
cmp al, 0x7e
je 0x42adcf
cmp al, 0x2a
je 0x42adcf
cmp al, 0x27
je 0x42adcf
cmp al, 0x28
je 0x42adcf
cmp al, 0x29
je 0x42adcf
cmp al, 0x24
je 0x42adcf
cmp al, 0x2c
je 0x42adcf
cmp al, 0x3b
je 0x42adcf
cmp al, 0x3a
je 0x42adcf
cmp al, 0x40
je 0x42adcf
cmp al, 0x26
je 0x42adcf
cmp al, 0x3d
je 0x42adcf
cmp al, 0x2b
je 0x42adcf
and eax, 0xff
inc ebx
mov ecx, eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42ad9f
dec ecx
or ecx, 0xfffffff0
inc ecx
mov byte [esi + edi], 0x25
inc esi
inc ebp
cmp eax, 9
setle dl
dec edx
and edx, 7
add edx, 0x30
add dl, al
mov byte [esi + edi], dl
inc esi
inc ebp
cmp ecx, 9
setle al
dec eax
and eax, 7
add eax, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x42add5
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x42ace0
jmp 0x42ae2b
cmp dword [ecx], 0
je 0x42ae2b
lea edx, [esi + 3]
cmp edx, ebx
jl 0x42ae21
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42ae21
mov eax, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
inc esi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42af46
mov ebx, eax
cmp byte [ebx], 0
je 0x42af46
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x42ae6f
mov edx, eax
lea eax, [edx + edx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42b27e
mov al, byte [ebx]
cmp al, 0x61
jl 0x42ae7d
cmp al, 0x7a
jle 0x42af37
cmp al, 0x41
jl 0x42ae89
cmp al, 0x5a
jle 0x42af37
cmp al, 0x30
jl 0x42ae95
cmp al, 0x39
jle 0x42af37
cmp al, 0x2d
je 0x42af37
cmp al, 0x5f
je 0x42af37
cmp al, 0x2e
je 0x42af37
cmp al, 0x21
je 0x42af37
cmp al, 0x7e
je 0x42af37
cmp al, 0x2a
je 0x42af37
cmp al, 0x27
je 0x42af37
cmp al, 0x28
je 0x42af37
cmp al, 0x29
je 0x42af37
cmp al, 0x2f
je 0x42af37
cmp al, 0x3b
je 0x42af37
cmp al, 0x40
je 0x42af37
cmp al, 0x26
je 0x42af37
cmp al, 0x3d
je 0x42af37
cmp al, 0x2b
je 0x42af37
cmp al, 0x24
je 0x42af37
cmp al, 0x2c
je 0x42af37
and eax, 0xff
inc ebx
mov ecx, eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42af07
dec ecx
or ecx, 0xfffffff0
inc ecx
mov byte [esi + edi], 0x25
inc esi
inc ebp
cmp eax, 9
setle dl
dec edx
and edx, 7
add edx, 0x30
add dl, al
mov byte [esi + edi], dl
inc esi
inc ebp
cmp ecx, 9
setle al
dec eax
and eax, 7
add eax, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x42af3d
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x42ae48
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x42b0cd
lea edx, [esi + 3]
cmp edx, ebx
jl 0x42af7a
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42b27e
mov byte [esi + edi], 0x3f
mov eax, dword [ebp + 0x1c]
inc esi
mov dword [esp + 0x10], eax
cmp byte [eax], 0
je 0x42b0cd
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x42afb0
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42b0f9
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jl 0x42afc2
cmp al, 0x7a
jle 0x42b0b2
cmp al, 0x41
jl 0x42afce
cmp al, 0x5a
jle 0x42b0b2
cmp al, 0x30
jl 0x42afda
cmp al, 0x39
jle 0x42b0b2
cmp al, 0x2d
je 0x42b0b2
cmp al, 0x5f
je 0x42b0b2
cmp al, 0x2e
je 0x42b0b2
cmp al, 0x21
je 0x42b0b2
cmp al, 0x7e
je 0x42b0b2
cmp al, 0x2a
je 0x42b0b2
cmp al, 0x27
je 0x42b0b2
cmp al, 0x28
je 0x42b0b2
cmp al, 0x29
je 0x42b0b2
cmp al, 0x3b
je 0x42b0b2
cmp al, 0x2f
je 0x42b0b2
cmp al, 0x3f
je 0x42b0b2
cmp al, 0x3a
je 0x42b0b2
cmp al, 0x40
je 0x42b0b2
cmp al, 0x26
je 0x42b0b2
cmp al, 0x3d
je 0x42b0b2
cmp al, 0x2b
je 0x42b0b2
cmp al, 0x24
je 0x42b0b2
cmp al, 0x2c
je 0x42b0b2
cmp al, 0x5b
je 0x42b0b2
cmp al, 0x5d
je 0x42b0b2
and eax, 0xff
mov ecx, eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42b082
dec ecx
or ecx, 0xfffffff0
inc ecx
mov byte [esi + edi], 0x25
inc esi
inc ebp
cmp eax, 9
setle dl
dec edx
and edx, 7
add edx, 0x30
add dl, al
mov byte [esi + edi], dl
inc esi
inc ebp
cmp ecx, 9
setle al
dec eax
and eax, 7
add eax, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x42b0c0
mov byte [esi + edi], al
mov eax, dword [esp + 0x10]
inc esi
inc ebp
inc eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0
jne 0x42af92
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x42b265
lea eax, [esi + 3]
cmp eax, ebx
jl 0x42b116
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42b116
mov edx, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x44ac90]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov byte [esi + edi], 0x23
mov eax, dword [ebp + 0x20]
inc esi
mov dword [esp + 0x10], eax
cmp byte [eax], 0
je 0x42b265
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x42b148
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
je 0x42b0f9
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x61
jl 0x42b15a
cmp al, 0x7a
jle 0x42b24a
cmp al, 0x41
jl 0x42b166
cmp al, 0x5a
jle 0x42b24a
cmp al, 0x30
jl 0x42b172
cmp al, 0x39
jle 0x42b24a
cmp al, 0x2d
je 0x42b24a
cmp al, 0x5f
je 0x42b24a
cmp al, 0x2e
je 0x42b24a
cmp al, 0x21
je 0x42b24a
cmp al, 0x7e
je 0x42b24a
cmp al, 0x2a
je 0x42b24a
cmp al, 0x27
je 0x42b24a
cmp al, 0x28
je 0x42b24a
cmp al, 0x29
je 0x42b24a
cmp al, 0x3b
je 0x42b24a
cmp al, 0x2f
je 0x42b24a
cmp al, 0x3f
je 0x42b24a
cmp al, 0x3a
je 0x42b24a
cmp al, 0x40
je 0x42b24a
cmp al, 0x26
je 0x42b24a
cmp al, 0x3d
je 0x42b24a
cmp al, 0x2b
je 0x42b24a
cmp al, 0x24
je 0x42b24a
cmp al, 0x2c
je 0x42b24a
cmp al, 0x5b
je 0x42b24a
cmp al, 0x5d
je 0x42b24a
and eax, 0xff
mov ecx, eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42b21a
dec ecx
or ecx, 0xfffffff0
inc ecx
mov byte [esi + edi], 0x25
inc esi
inc ebp
cmp eax, 9
setle dl
dec edx
and edx, 7
add edx, 0x30
add dl, al
mov byte [esi + edi], dl
inc esi
inc ebp
cmp ecx, 9
setle al
dec eax
and eax, 7
add eax, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x42b258
mov byte [esi + edi], al
mov eax, dword [esp + 0x10]
inc esi
inc ebp
inc eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0
jne 0x42b12e
cmp esi, ebx
jl 0x42b29b
lea eax, [ebx + ebx + 1]
push eax
push edi
call dword [0x44ac64]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42b29b
mov ecx, dword [0x450ebc]
push str.xmlSaveUri:_out_of_memory_n
push ecx
call dword [0x44ac90]
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
mov byte [esi + edi], 0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret