Function at 0x42c420
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 0x42cee3
mov ebx, 0x50
push 0x51
mov dword [esp + 0x14], ebx
call dword [0x447948]
mov edi, eax
add esp, 4
test edi, edi
jne 0x42c467
mov eax, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [0x447978]
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 0x42c512
cmp byte [ebp], 0
je 0x42c509
cmp esi, ebx
jl 0x42c49b
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42c4e9
mov dl, byte [ebp]
mov byte [esi + edi], dl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x42c481
cmp esi, ebx
mov dword [esp + 0x10], ebx
jl 0x42c509
add ebx, ebx
mov dword [esp + 0x10], ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42c509
mov edx, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x447978]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov eax, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push eax
mov dword [esp + 0x18], ebx
call dword [0x447978]
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 0x42c66a
mov cl, byte [eax]
mov dword [esp + 0x10], eax
test cl, cl
je 0x42cd1d
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x42c548
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42c4cc
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x3b
je 0x42c64a
cmp al, 0x2f
je 0x42c64a
cmp al, 0x3f
je 0x42c64a
cmp al, 0x3a
je 0x42c64a
cmp al, 0x40
je 0x42c64a
cmp al, 0x26
je 0x42c64a
cmp al, 0x3d
je 0x42c64a
cmp al, 0x2b
je 0x42c64a
cmp al, 0x24
je 0x42c64a
cmp al, 0x2c
je 0x42c64a
cmp al, 0x5b
je 0x42c64a
cmp al, 0x5d
je 0x42c64a
cmp al, 0x61
jl 0x42c5ba
cmp al, 0x7a
jle 0x42c64a
cmp al, 0x41
jl 0x42c5c6
cmp al, 0x5a
jle 0x42c64a
cmp al, 0x30
jl 0x42c5ce
cmp al, 0x39
jle 0x42c64a
cmp al, 0x2d
je 0x42c64a
cmp al, 0x5f
je 0x42c64a
cmp al, 0x2e
je 0x42c64a
cmp al, 0x21
je 0x42c64a
cmp al, 0x7e
je 0x42c64a
cmp al, 0x2a
je 0x42c64a
cmp al, 0x27
je 0x42c64a
cmp al, 0x28
je 0x42c64a
cmp al, 0x29
je 0x42c64a
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 0x42c61a
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 0x42c658
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 0x42c52e
jmp 0x42cd1d
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x42c8cb
lea eax, [esi + 3]
cmp eax, ebx
jl 0x42c6b3
add ebx, ebx
mov dword [esp + 0x10], ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42c6b3
mov edx, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x447978]
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 0x42c800
mov ebx, eax
cmp byte [ebx], 0
je 0x42c7d0
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x42c701
mov ecx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42cece
mov al, byte [ebx]
cmp al, 0x61
jl 0x42c70f
cmp al, 0x7a
jle 0x42c7c1
cmp al, 0x41
jl 0x42c71b
cmp al, 0x5a
jle 0x42c7c1
cmp al, 0x30
jl 0x42c727
cmp al, 0x39
jle 0x42c7c1
cmp al, 0x2d
je 0x42c7c1
cmp al, 0x5f
je 0x42c7c1
cmp al, 0x2e
je 0x42c7c1
cmp al, 0x21
je 0x42c7c1
cmp al, 0x7e
je 0x42c7c1
cmp al, 0x2a
je 0x42c7c1
cmp al, 0x27
je 0x42c7c1
cmp al, 0x28
je 0x42c7c1
cmp al, 0x29
je 0x42c7c1
cmp al, 0x3b
je 0x42c7c1
cmp al, 0x3a
je 0x42c7c1
cmp al, 0x26
je 0x42c7c1
cmp al, 0x3d
je 0x42c7c1
cmp al, 0x2b
je 0x42c7c1
cmp al, 0x24
je 0x42c7c1
cmp al, 0x2c
je 0x42c7c1
and eax, 0xff
inc ebx
mov ecx, eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42c791
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 0x42c7c7
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x42c6da
mov eax, dword [esp + 0x10]
lea edx, [esi + 3]
cmp edx, eax
jl 0x42c7f7
add eax, eax
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42cece
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 0x42c83a
cmp esi, ebx
jl 0x42c827
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42c886
mov cl, byte [ebp]
mov byte [esi + edi], cl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x42c80d
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x42ca7b
lea ecx, [esi + 0xa]
cmp ecx, ebx
jl 0x42c8a7
add ebx, ebx
mov dword [esp + 0x10], ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42c8a7
mov eax, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [0x447978]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov edx, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push edx
mov dword [esp + 0x18], ebx
call dword [0x447978]
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 0x449968
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x10
add esi, eax
jmp 0x42ca7b
mov eax, dword [ecx + 8]
test eax, eax
je 0x42ca30
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x42c913
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42c913
mov edx, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x447978]
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 0x42ca7b
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x42c957
mov ecx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42cece
mov al, byte [ebx]
cmp al, 0x61
jl 0x42c965
cmp al, 0x7a
jle 0x42ca1f
cmp al, 0x41
jl 0x42c971
cmp al, 0x5a
jle 0x42ca1f
cmp al, 0x30
jl 0x42c97d
cmp al, 0x39
jle 0x42ca1f
cmp al, 0x2d
je 0x42ca1f
cmp al, 0x5f
je 0x42ca1f
cmp al, 0x2e
je 0x42ca1f
cmp al, 0x21
je 0x42ca1f
cmp al, 0x7e
je 0x42ca1f
cmp al, 0x2a
je 0x42ca1f
cmp al, 0x27
je 0x42ca1f
cmp al, 0x28
je 0x42ca1f
cmp al, 0x29
je 0x42ca1f
cmp al, 0x24
je 0x42ca1f
cmp al, 0x2c
je 0x42ca1f
cmp al, 0x3b
je 0x42ca1f
cmp al, 0x3a
je 0x42ca1f
cmp al, 0x40
je 0x42ca1f
cmp al, 0x26
je 0x42ca1f
cmp al, 0x3d
je 0x42ca1f
cmp al, 0x2b
je 0x42ca1f
and eax, 0xff
inc ebx
mov ecx, eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42c9ef
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 0x42ca25
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x42c930
jmp 0x42ca7b
cmp dword [ecx], 0
je 0x42ca7b
lea edx, [esi + 3]
cmp edx, ebx
jl 0x42ca71
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42ca71
mov eax, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [0x447978]
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 0x42cb96
mov ebx, eax
cmp byte [ebx], 0
je 0x42cb96
lea ebp, [esi + 3]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jl 0x42cabf
mov edx, eax
lea eax, [edx + edx]
mov dword [esp + 0x10], eax
inc eax
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42cece
mov al, byte [ebx]
cmp al, 0x61
jl 0x42cacd
cmp al, 0x7a
jle 0x42cb87
cmp al, 0x41
jl 0x42cad9
cmp al, 0x5a
jle 0x42cb87
cmp al, 0x30
jl 0x42cae5
cmp al, 0x39
jle 0x42cb87
cmp al, 0x2d
je 0x42cb87
cmp al, 0x5f
je 0x42cb87
cmp al, 0x2e
je 0x42cb87
cmp al, 0x21
je 0x42cb87
cmp al, 0x7e
je 0x42cb87
cmp al, 0x2a
je 0x42cb87
cmp al, 0x27
je 0x42cb87
cmp al, 0x28
je 0x42cb87
cmp al, 0x29
je 0x42cb87
cmp al, 0x2f
je 0x42cb87
cmp al, 0x3b
je 0x42cb87
cmp al, 0x40
je 0x42cb87
cmp al, 0x26
je 0x42cb87
cmp al, 0x3d
je 0x42cb87
cmp al, 0x2b
je 0x42cb87
cmp al, 0x24
je 0x42cb87
cmp al, 0x2c
je 0x42cb87
and eax, 0xff
inc ebx
mov ecx, eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x42cb57
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 0x42cb8d
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x42ca98
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x42cd1d
lea edx, [esi + 3]
cmp edx, ebx
jl 0x42cbca
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42cece
mov byte [esi + edi], 0x3f
mov eax, dword [ebp + 0x1c]
inc esi
mov dword [esp + 0x10], eax
cmp byte [eax], 0
je 0x42cd1d
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x42cc00
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42cd49
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jl 0x42cc12
cmp al, 0x7a
jle 0x42cd02
cmp al, 0x41
jl 0x42cc1e
cmp al, 0x5a
jle 0x42cd02
cmp al, 0x30
jl 0x42cc2a
cmp al, 0x39
jle 0x42cd02
cmp al, 0x2d
je 0x42cd02
cmp al, 0x5f
je 0x42cd02
cmp al, 0x2e
je 0x42cd02
cmp al, 0x21
je 0x42cd02
cmp al, 0x7e
je 0x42cd02
cmp al, 0x2a
je 0x42cd02
cmp al, 0x27
je 0x42cd02
cmp al, 0x28
je 0x42cd02
cmp al, 0x29
je 0x42cd02
cmp al, 0x3b
je 0x42cd02
cmp al, 0x2f
je 0x42cd02
cmp al, 0x3f
je 0x42cd02
cmp al, 0x3a
je 0x42cd02
cmp al, 0x40
je 0x42cd02
cmp al, 0x26
je 0x42cd02
cmp al, 0x3d
je 0x42cd02
cmp al, 0x2b
je 0x42cd02
cmp al, 0x24
je 0x42cd02
cmp al, 0x2c
je 0x42cd02
cmp al, 0x5b
je 0x42cd02
cmp al, 0x5d
je 0x42cd02
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 0x42ccd2
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 0x42cd10
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 0x42cbe2
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x42ceb5
lea eax, [esi + 3]
cmp eax, ebx
jl 0x42cd66
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42cd66
mov edx, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [0x447978]
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 0x42ceb5
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x42cd98
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
je 0x42cd49
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x61
jl 0x42cdaa
cmp al, 0x7a
jle 0x42ce9a
cmp al, 0x41
jl 0x42cdb6
cmp al, 0x5a
jle 0x42ce9a
cmp al, 0x30
jl 0x42cdc2
cmp al, 0x39
jle 0x42ce9a
cmp al, 0x2d
je 0x42ce9a
cmp al, 0x5f
je 0x42ce9a
cmp al, 0x2e
je 0x42ce9a
cmp al, 0x21
je 0x42ce9a
cmp al, 0x7e
je 0x42ce9a
cmp al, 0x2a
je 0x42ce9a
cmp al, 0x27
je 0x42ce9a
cmp al, 0x28
je 0x42ce9a
cmp al, 0x29
je 0x42ce9a
cmp al, 0x3b
je 0x42ce9a
cmp al, 0x2f
je 0x42ce9a
cmp al, 0x3f
je 0x42ce9a
cmp al, 0x3a
je 0x42ce9a
cmp al, 0x40
je 0x42ce9a
cmp al, 0x26
je 0x42ce9a
cmp al, 0x3d
je 0x42ce9a
cmp al, 0x2b
je 0x42ce9a
cmp al, 0x24
je 0x42ce9a
cmp al, 0x2c
je 0x42ce9a
cmp al, 0x5b
je 0x42ce9a
cmp al, 0x5d
je 0x42ce9a
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 0x42ce6a
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 0x42cea8
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 0x42cd7e
cmp esi, ebx
jl 0x42ceeb
lea eax, [ebx + ebx + 1]
push eax
push edi
call dword [0x44794c]
mov edi, eax
add esp, 8
test edi, edi
jne 0x42ceeb
mov ecx, dword [0x44dcf4]
push str.xmlSaveUri:_out_of_memory_n
push ecx
call dword [0x447978]
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