Function at 0x10034970
Capabilities:
Parse credit card information

Disassembly:
mov eax, dword [esp + 4]
sub esp, 8
test eax, eax
jne 0x10034981
xor eax, eax
add esp, 8
ret
push ebx
push esi
push edi
mov ebx, 0x50
push 0x51
mov dword [esp + 0x14], ebx
call dword [0x1013f8b0]
mov edi, eax
add esp, 4
test edi, edi
jne 0x100349c0
call fcn.1002b140
mov esi, eax
call fcn.1002b180
mov eax, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [esi]
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x18]
push ebp
mov ebp, dword [ecx]
xor esi, esi
test ebp, ebp
je 0x10034a2f
cmp byte [ebp], 0
je 0x10034a26
cmp esi, ebx
jl 0x100349f1
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034b89
mov dl, byte [ebp]
mov byte [esi + edi], dl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x100349d3
cmp esi, ebx
mov dword [esp + 0x14], ebx
jl 0x10034a26
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x1c], ebx
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov ecx, dword [esp + 0x1c]
mov byte [esi + edi], 0x3a
inc esi
mov eax, dword [ecx + 4]
test eax, eax
je 0x10034bd0
cmp byte [eax], 0
mov dword [esp + 0x10], eax
je 0x10035263
lea ebp, [esi + 3]
lea ebx, [ebx]
cmp ebp, ebx
jl 0x10034a6e
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x3b
je 0x10034bb0
cmp al, 0x2f
je 0x10034bb0
cmp al, 0x3f
je 0x10034bb0
cmp al, 0x3a
je 0x10034bb0
cmp al, 0x40
je 0x10034bb0
cmp al, 0x26
je 0x10034bb0
cmp al, 0x3d
je 0x10034bb0
cmp al, 0x2b
je 0x10034bb0
cmp al, 0x24
je 0x10034bb0
cmp al, 0x2c
je 0x10034bb0
cmp al, 0x5b
je 0x10034bb0
cmp al, 0x5d
je 0x10034bb0
cmp al, 0x61
jl 0x10034ae0
cmp al, 0x7a
jle 0x10034bb0
cmp al, 0x41
jl 0x10034aec
cmp al, 0x5a
jle 0x10034bb0
cmp al, 0x30
jl 0x10034af8
cmp al, 0x39
jle 0x10034bb0
cmp al, 0x2d
je 0x10034bb0
cmp al, 0x5f
je 0x10034bb0
cmp al, 0x2e
je 0x10034bb0
cmp al, 0x21
je 0x10034bb0
cmp al, 0x7e
je 0x10034bb0
cmp al, 0x2a
je 0x10034bb0
cmp al, 0x27
je 0x10034bb0
cmp al, 0x28
je 0x10034bb0
cmp al, 0x29
je 0x10034bb0
movzx ecx, al
inc dword [esp + 0x10]
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x10034b57
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x10034bbe
mov dword [esp + 0x14], ebx
call fcn.1002b140
mov esi, eax
call fcn.1002b180
mov eax, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push eax
call dword [esi]
add esp, 8
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
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 0x10034a50
jmp 0x10035263
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x10034e33
lea eax, [esi + 3]
cmp eax, ebx
jl 0x10034c00
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
mov dword [esp + 0x1c], ebx
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov eax, dword [esp + 0x1c]
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov eax, dword [eax + 0x10]
inc esi
test eax, eax
je 0x10034d4d
mov ebx, eax
cmp byte [ebx], 0
je 0x10034d1d
lea ebp, [esi + 3]
mov eax, dword [esp + 0x14]
cmp ebp, eax
jl 0x10034c4e
mov ecx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x14], eax
inc eax
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034de9
mov al, byte [ebx]
cmp al, 0x61
jl 0x10034c5c
cmp al, 0x7a
jle 0x10034d0e
cmp al, 0x41
jl 0x10034c68
cmp al, 0x5a
jle 0x10034d0e
cmp al, 0x30
jl 0x10034c74
cmp al, 0x39
jle 0x10034d0e
cmp al, 0x2d
je 0x10034d0e
cmp al, 0x5f
je 0x10034d0e
cmp al, 0x2e
je 0x10034d0e
cmp al, 0x21
je 0x10034d0e
cmp al, 0x7e
je 0x10034d0e
cmp al, 0x2a
je 0x10034d0e
cmp al, 0x27
je 0x10034d0e
cmp al, 0x28
je 0x10034d0e
cmp al, 0x29
je 0x10034d0e
cmp al, 0x3b
je 0x10034d0e
cmp al, 0x3a
je 0x10034d0e
cmp al, 0x26
je 0x10034d0e
cmp al, 0x3d
je 0x10034d0e
cmp al, 0x2b
je 0x10034d0e
cmp al, 0x24
je 0x10034d0e
cmp al, 0x2c
je 0x10034d0e
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, 0x8000000f
jns 0x10034cdc
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x10034d14
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x10034c27
mov eax, dword [esp + 0x14]
lea edx, [esi + 3]
cmp edx, eax
jl 0x10034d44
add eax, eax
mov dword [esp + 0x14], eax
inc eax
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034de9
mov ebx, dword [esp + 0x14]
mov byte [esi + edi], 0x40
inc esi
mov edx, dword [esp + 0x1c]
mov ebp, dword [edx + 0xc]
cmp byte [ebp], 0
je 0x10034d91
lea ebx, [ebx]
cmp esi, ebx
jl 0x10034d7e
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e0c
mov cl, byte [ebp]
mov byte [esi + edi], cl
mov al, byte [ebp + 1]
inc esi
inc ebp
test al, al
jne 0x10034d60
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x10034fb3
lea ecx, [esi + 0xa]
cmp ecx, ebx
jl 0x10034dc5
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
mov dword [esp + 0x1c], ebx
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034b8d
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x14]
push edx
push 0x10063c64
sub ebx, esi
lea eax, [esi + edi]
push ebx
push eax
call dword [sym.imp.MSVCR80.dll__snprintf]
add esp, 0x10
add esi, eax
jmp 0x10034fb3
call fcn.1002b140
mov esi, eax
call fcn.1002b180
mov ecx, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push ecx
call dword [esi]
add esp, 8
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
mov dword [esp + 0x14], ebx
call fcn.1002b140
mov esi, eax
call fcn.1002b180
mov edx, dword [eax]
push str.xmlSaveUri:_out_of_memory_n
push edx
call dword [esi]
add esp, 8
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [ecx + 8]
test eax, eax
je 0x10034f80
lea ecx, [esi + 3]
cmp ecx, ebx
jl 0x10034e5e
lea eax, [ebx + ebx]
mov dword [esp + 0x14], eax
inc eax
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov eax, dword [esp + 0x1c]
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
mov ebx, dword [eax + 8]
mov al, byte [ebx]
inc esi
test al, al
je 0x10034fb3
lea ebp, [esi + 3]
lea esp, [esp]
mov eax, dword [esp + 0x14]
cmp ebp, eax
jl 0x10034ea7
mov ecx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x14], eax
inc eax
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034de9
mov al, byte [ebx]
cmp al, 0x61
jl 0x10034eb5
cmp al, 0x7a
jle 0x10034f6f
cmp al, 0x41
jl 0x10034ec1
cmp al, 0x5a
jle 0x10034f6f
cmp al, 0x30
jl 0x10034ecd
cmp al, 0x39
jle 0x10034f6f
cmp al, 0x2d
je 0x10034f6f
cmp al, 0x5f
je 0x10034f6f
cmp al, 0x2e
je 0x10034f6f
cmp al, 0x21
je 0x10034f6f
cmp al, 0x7e
je 0x10034f6f
cmp al, 0x2a
je 0x10034f6f
cmp al, 0x27
je 0x10034f6f
cmp al, 0x28
je 0x10034f6f
cmp al, 0x29
je 0x10034f6f
cmp al, 0x24
je 0x10034f6f
cmp al, 0x2c
je 0x10034f6f
cmp al, 0x3b
je 0x10034f6f
cmp al, 0x3a
je 0x10034f6f
cmp al, 0x40
je 0x10034f6f
cmp al, 0x26
je 0x10034f6f
cmp al, 0x3d
je 0x10034f6f
cmp al, 0x2b
je 0x10034f6f
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc ebx
sar eax, 4
and ecx, 0x8000000f
jns 0x10034f3d
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x10034f75
mov byte [esi + edi], al
inc esi
inc ebp
inc ebx
cmp byte [ebx], 0
jne 0x10034e80
jmp 0x10034fb3
cmp dword [ecx], 0
je 0x10034fb3
lea edx, [esi + 3]
cmp edx, ebx
jl 0x10034fa9
lea eax, [ebx + ebx]
mov dword [esp + 0x14], eax
inc eax
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034b8d
mov byte [esi + edi], 0x2f
inc esi
mov byte [esi + edi], 0x2f
inc esi
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x100350e6
mov ecx, eax
cmp byte [ecx], 0
mov dword [esp + 0x10], ecx
je 0x100350e6
mov ebx, dword [esp + 0x14]
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x10034ffa
add ebx, ebx
lea edx, [ebx + 1]
push edx
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034de9
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x61
jl 0x10035008
cmp al, 0x7a
jle 0x100350d1
cmp al, 0x41
jl 0x10035014
cmp al, 0x5a
jle 0x100350d1
cmp al, 0x30
jl 0x10035020
cmp al, 0x39
jle 0x100350d1
cmp al, 0x2d
je 0x100350d1
cmp al, 0x5f
je 0x100350d1
cmp al, 0x2e
je 0x100350d1
cmp al, 0x21
je 0x100350d1
cmp al, 0x7e
je 0x100350d1
cmp al, 0x2a
je 0x100350d1
cmp al, 0x27
je 0x100350d1
cmp al, 0x28
je 0x100350d1
cmp al, 0x29
je 0x100350d1
cmp al, 0x2f
je 0x100350d1
cmp al, 0x3b
je 0x100350d1
cmp al, 0x40
je 0x100350d1
cmp al, 0x26
je 0x100350d1
cmp al, 0x3d
je 0x100350d1
cmp al, 0x2b
je 0x100350d1
cmp al, 0x24
je 0x100350d1
cmp al, 0x2c
je 0x100350d1
movzx ecx, al
inc dword [esp + 0x10]
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x1003509b
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov ecx, dword [esp + 0x10]
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x100350db
mov byte [esi + edi], al
inc esi
inc ebp
inc ecx
mov dword [esp + 0x10], ecx
cmp byte [ecx], 0
jne 0x10034fd8
jmp 0x100350ea
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x10035263
lea eax, [esi + 3]
cmp eax, ebx
jl 0x1003511a
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov eax, dword [esp + 0x1c]
mov byte [esi + edi], 0x3f
mov eax, dword [eax + 0x1c]
mov cl, byte [eax]
inc esi
test cl, cl
mov dword [esp + 0x10], eax
je 0x10035263
lea ebp, [esi + 3]
cmp ebp, ebx
jl 0x10035155
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov edx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, 0x61
jl 0x10035167
cmp al, 0x7a
jle 0x10035248
cmp al, 0x41
jl 0x10035173
cmp al, 0x5a
jle 0x10035248
cmp al, 0x30
jl 0x1003517f
cmp al, 0x39
jle 0x10035248
cmp al, 0x2d
je 0x10035248
cmp al, 0x5f
je 0x10035248
cmp al, 0x2e
je 0x10035248
cmp al, 0x21
je 0x10035248
cmp al, 0x7e
je 0x10035248
cmp al, 0x2a
je 0x10035248
cmp al, 0x27
je 0x10035248
cmp al, 0x28
je 0x10035248
cmp al, 0x29
je 0x10035248
cmp al, 0x3b
je 0x10035248
cmp al, 0x2f
je 0x10035248
cmp al, 0x3f
je 0x10035248
cmp al, 0x3a
je 0x10035248
cmp al, 0x40
je 0x10035248
cmp al, 0x26
je 0x10035248
cmp al, 0x3d
je 0x10035248
cmp al, 0x2b
je 0x10035248
cmp al, 0x24
je 0x10035248
cmp al, 0x2c
je 0x10035248
cmp al, 0x5b
je 0x10035248
cmp al, 0x5d
je 0x10035248
movzx ecx, al
inc dword [esp + 0x10]
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x10035216
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x10035256
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 0x10035137
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x100353e0
lea eax, [esi + 3]
cmp eax, ebx
jl 0x10035293
add ebx, ebx
lea ecx, [ebx + 1]
push ecx
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov byte [esi + edi], 0x23
mov eax, dword [ebp + 0x20]
mov cl, byte [eax]
inc esi
test cl, cl
mov dword [esp + 0x10], eax
je 0x100353e0
lea ebp, [esi + 3]
lea esp, [esp]
cmp ebp, ebx
jl 0x100352ce
add ebx, ebx
lea eax, [ebx + 1]
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034e10
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x61
jl 0x100352e0
cmp al, 0x7a
jle 0x100353c5
cmp al, 0x41
jl 0x100352ec
cmp al, 0x5a
jle 0x100353c5
cmp al, 0x30
jl 0x100352f8
cmp al, 0x39
jle 0x100353c5
cmp al, 0x2d
je 0x100353c5
cmp al, 0x5f
je 0x100353c5
cmp al, 0x2e
je 0x100353c5
cmp al, 0x21
je 0x100353c5
cmp al, 0x7e
je 0x100353c5
cmp al, 0x2a
je 0x100353c5
cmp al, 0x27
je 0x100353c5
cmp al, 0x28
je 0x100353c5
cmp al, 0x29
je 0x100353c5
cmp al, 0x3b
je 0x100353c5
cmp al, 0x2f
je 0x100353c5
cmp al, 0x3f
je 0x100353c5
cmp al, 0x3a
je 0x100353c5
cmp al, 0x40
je 0x100353c5
cmp al, 0x26
je 0x100353c5
cmp al, 0x3d
je 0x100353c5
cmp al, 0x2b
je 0x100353c5
cmp al, 0x24
je 0x100353c5
cmp al, 0x2c
je 0x100353c5
cmp al, 0x5b
je 0x100353c5
cmp al, 0x5d
je 0x100353c5
movzx ecx, al
inc dword [esp + 0x10]
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and ecx, 0x8000000f
jns 0x10035393
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
inc ebp
cmp eax, 9
setle dl
mov byte [esi + edi - 1], 0x25
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + edi - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi], al
inc esi
inc ebp
jmp 0x100353d3
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 0x100352b0
cmp esi, ebx
jl 0x100353fd
lea eax, [ebx + ebx + 1]
push eax
push edi
call dword [0x1013f8b4]
mov edi, eax
add esp, 8
test edi, edi
je 0x10034de9
pop ebp
mov byte [esi + edi], 0
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 8
ret