Function at 0x10065470
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push edi
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x10065483
xor eax, eax
pop edi
add esp, 8
ret
push ebx
push 0x51
mov dword [esp + 0xc], 0x50
call dword [sym.libxml2.dll_xmlMallocAtomic]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x100654af
mov eax, str.saving_URI_n
call fcn.10064210
pop ebx
xor eax, eax
pop edi
add esp, 8
ret
mov ecx, dword [esp + 8]
push ebp
mov ebp, dword [edi]
push esi
xor esi, esi
test ebp, ebp
je 0x10065531
cmp byte [ebp], 0
je 0x1006552c
cmp esi, ecx
jl 0x100654fb
cmp ecx, 0x100000
jg 0x100656a8
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax + 1]
push ecx
push ebx
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x100656c6
mov edx, dword [esp + 0x10]
lea ecx, [edx + edx]
mov dword [esp + 0x10], ecx
mov ebx, eax
mov dl, byte [ebp]
mov byte [esi + ebx], dl
inc ebp
inc esi
cmp byte [ebp], 0
jne 0x100654c3
cmp esi, ecx
jl 0x1006552c
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov byte [esi + ebx], 0x3a
inc esi
mov eax, dword [edi + 4]
test eax, eax
je 0x10065700
mov edi, eax
cmp byte [edi], 0
mov dword [esp + 0x14], edi
je 0x10065e1c
lea ebp, [esi + 3]
mov edi, edi
cmp ebp, ecx
jl 0x10065588
cmp ecx, 0x100000
jg 0x100656a8
mov edi, dword [esp + 0x10]
lea eax, [edi + edi + 1]
push eax
push ebx
call dword [sym.libxml2.dll_xmlRealloc]
add esp, 8
test eax, eax
je 0x100656c6
lea ecx, [edi + edi]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov ebx, eax
mov al, byte [edi]
cmp al, 0x3b
je 0x100656e4
cmp al, 0x2f
je 0x100656e4
cmp al, 0x3f
je 0x100656e4
cmp al, 0x3a
je 0x100656e4
cmp al, 0x40
je 0x100656e4
cmp al, 0x26
je 0x100656e4
cmp al, 0x3d
je 0x100656e4
cmp al, 0x2b
je 0x100656e4
cmp al, 0x24
je 0x100656e4
cmp al, 0x2c
je 0x100656e4
cmp al, 0x5b
je 0x100656e4
cmp al, 0x5d
je 0x100656e4
cmp al, 0x61
jl 0x100655f6
cmp al, 0x7a
jle 0x100656e4
cmp al, 0x41
jl 0x10065602
cmp al, 0x5a
jle 0x100656e4
cmp al, 0x30
jl 0x1006560e
cmp al, 0x39
jle 0x100656e4
cmp al, 0x2d
je 0x100656e4
cmp al, 0x5f
je 0x100656e4
cmp al, 0x2e
je 0x100656e4
cmp al, 0x21
je 0x100656e4
cmp al, 0x7e
je 0x100656e4
cmp al, 0x2a
je 0x100656e4
cmp al, 0x27
je 0x100656e4
cmp al, 0x28
je 0x100656e4
cmp al, 0x29
je 0x100656e4
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc edi
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
mov dword [esp + 0x14], edi
jns 0x10065676
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + ebx - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + ebx - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx], al
inc esi
inc ebp
jmp 0x100656ee
mov eax, str.reaching_arbitrary_MAX_URI_LENGTH_limit_n
call fcn.10064210
push ebx
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
add esp, 8
ret
mov eax, str.saving_URI_n
call fcn.10064210
push ebx
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
add esp, 8
ret
mov byte [esi + ebx], al
inc esi
inc ebp
inc edi
mov dword [esp + 0x14], edi
cmp byte [edi], 0
je 0x10065e1c
mov ecx, dword [esp + 0x10]
jmp 0x10065550
cmp dword [edi + 0xc], 0
je 0x10065911
lea edx, [esi + 3]
cmp edx, ecx
jl 0x10065730
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov byte [esi + ebx], 0x2f
inc esi
mov byte [esi + ebx], 0x2f
mov eax, dword [edi + 0x10]
inc esi
test eax, eax
je 0x1006587e
cmp byte [eax], 0
mov dword [esp + 0x14], eax
je 0x10065855
lea ebp, [esi + 3]
cmp ebp, dword [esp + 0x10]
jl 0x10065772
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov edi, dword [esp + 0x14]
mov al, byte [edi]
cmp al, 0x61
jl 0x10065784
cmp al, 0x7a
jle 0x10065842
cmp al, 0x41
jl 0x10065790
cmp al, 0x5a
jle 0x10065842
cmp al, 0x30
jl 0x1006579c
cmp al, 0x39
jle 0x10065842
cmp al, 0x2d
je 0x10065842
cmp al, 0x5f
je 0x10065842
cmp al, 0x2e
je 0x10065842
cmp al, 0x21
je 0x10065842
cmp al, 0x7e
je 0x10065842
cmp al, 0x2a
je 0x10065842
cmp al, 0x27
je 0x10065842
cmp al, 0x28
je 0x10065842
cmp al, 0x29
je 0x10065842
cmp al, 0x3b
je 0x10065842
cmp al, 0x3a
je 0x10065842
cmp al, 0x26
je 0x10065842
cmp al, 0x3d
je 0x10065842
cmp al, 0x2b
je 0x10065842
cmp al, 0x24
je 0x10065842
cmp al, 0x2c
je 0x10065842
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc edi
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
mov dword [esp + 0x14], edi
jns 0x10065810
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + ebx - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + ebx - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx], al
inc esi
inc ebp
jmp 0x1006584c
mov byte [esi + ebx], al
inc esi
inc ebp
inc edi
mov dword [esp + 0x14], edi
cmp byte [edi], 0
jne 0x10065755
lea ecx, [esi + 3]
cmp ecx, dword [esp + 0x10]
jl 0x10065875
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov byte [esi + ebx], 0x40
inc esi
mov edx, dword [esp + 0x1c]
mov ebp, dword [edx + 0xc]
cmp byte [ebp], 0
je 0x100658bd
jmp 0x10065890
cmp esi, ecx
jl 0x100658af
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov al, byte [ebp]
mov byte [esi + ebx], al
inc ebp
inc esi
cmp byte [ebp], 0
jne 0x10065890
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x14], 0
jle 0x10065a93
lea eax, [esi + 0xa]
cmp eax, ecx
jl 0x100658e9
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x14]
mov eax, dword [esp + 0x10]
push edx
push 0x100e0060
sub eax, esi
push eax
lea ecx, [esi + ebx]
push ecx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0x10
add esi, eax
jmp 0x10065a93
cmp dword [edi + 8], 0
je 0x10065a66
lea edx, [esi + 3]
cmp edx, ecx
jl 0x1006593d
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov byte [esi + ebx], 0x2f
inc esi
mov byte [esi + ebx], 0x2f
mov eax, dword [edi + 8]
inc esi
cmp byte [eax], 0
mov dword [esp + 0x14], eax
je 0x10065a93
lea ebp, [esi + 3]
mov edi, eax
lea esp, [esp]
cmp ebp, dword [esp + 0x10]
jl 0x10065981
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov edi, dword [esp + 0x14]
mov ebx, eax
mov al, byte [edi]
cmp al, 0x61
jl 0x1006598f
cmp al, 0x7a
jle 0x10065a51
cmp al, 0x41
jl 0x1006599b
cmp al, 0x5a
jle 0x10065a51
cmp al, 0x30
jl 0x100659a7
cmp al, 0x39
jle 0x10065a51
cmp al, 0x2d
je 0x10065a51
cmp al, 0x5f
je 0x10065a51
cmp al, 0x2e
je 0x10065a51
cmp al, 0x21
je 0x10065a51
cmp al, 0x7e
je 0x10065a51
cmp al, 0x2a
je 0x10065a51
cmp al, 0x27
je 0x10065a51
cmp al, 0x28
je 0x10065a51
cmp al, 0x29
je 0x10065a51
cmp al, 0x24
je 0x10065a51
cmp al, 0x2c
je 0x10065a51
cmp al, 0x3b
je 0x10065a51
cmp al, 0x3a
je 0x10065a51
cmp al, 0x40
je 0x10065a51
cmp al, 0x26
je 0x10065a51
cmp al, 0x3d
je 0x10065a51
cmp al, 0x2b
je 0x10065a51
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc edi
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
mov dword [esp + 0x14], edi
jns 0x10065a1f
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + ebx - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + ebx - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx], al
inc esi
inc ebp
jmp 0x10065a5b
mov byte [esi + ebx], al
inc esi
inc ebp
inc edi
mov dword [esp + 0x14], edi
cmp byte [edi], 0
jne 0x10065960
jmp 0x10065a93
cmp dword [edi], 0
je 0x10065a93
lea edx, [esi + 3]
cmp edx, ecx
jl 0x10065a89
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov byte [esi + ebx], 0x2f
inc esi
mov byte [esi + ebx], 0x2f
inc esi
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 0x18]
test ebp, ebp
je 0x10065c2c
mov ecx, eax
mov ecx, dword [ecx]
mov dword [esp + 0x14], ebp
test ecx, ecx
je 0x10065b1b
cmp byte [ebp], 0x2f
jne 0x10065b1b
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x10065abf
cmp al, 0x7a
jle 0x10065ac7
cmp al, 0x41
jl 0x10065b1b
cmp al, 0x5a
jg 0x10065b1b
cmp byte [ebp + 2], 0x3a
jne 0x10065b1b
push str.file
push ecx
call sym.libxml2.dll_xmlStrEqual
add esp, 8
test eax, eax
je 0x10065b1b
lea edx, [esi + 3]
cmp edx, dword [esp + 0x10]
jl 0x10065aff
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov al, byte [ebp]
mov byte [esi + ebx], al
mov cl, byte [ebp + 1]
inc ebp
inc esi
mov byte [esi + ebx], cl
mov dl, byte [ebp + 1]
inc ebp
inc esi
mov byte [esi + ebx], dl
inc esi
inc ebp
mov dword [esp + 0x14], ebp
cmp byte [ebp], 0
je 0x10065c2c
lea ebp, [esi + 3]
cmp ebp, dword [esp + 0x10]
jl 0x10065b45
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov edi, dword [esp + 0x14]
mov al, byte [edi]
cmp al, 0x61
jl 0x10065b57
cmp al, 0x7a
jle 0x10065c19
cmp al, 0x41
jl 0x10065b63
cmp al, 0x5a
jle 0x10065c19
cmp al, 0x30
jl 0x10065b6f
cmp al, 0x39
jle 0x10065c19
cmp al, 0x2d
je 0x10065c19
cmp al, 0x5f
je 0x10065c19
cmp al, 0x2e
je 0x10065c19
cmp al, 0x21
je 0x10065c19
cmp al, 0x7e
je 0x10065c19
cmp al, 0x2a
je 0x10065c19
cmp al, 0x27
je 0x10065c19
cmp al, 0x28
je 0x10065c19
cmp al, 0x29
je 0x10065c19
cmp al, 0x2f
je 0x10065c19
cmp al, 0x3b
je 0x10065c19
cmp al, 0x40
je 0x10065c19
cmp al, 0x26
je 0x10065c19
cmp al, 0x3d
je 0x10065c19
cmp al, 0x2b
je 0x10065c19
cmp al, 0x24
je 0x10065c19
cmp al, 0x2c
je 0x10065c19
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc edi
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
mov dword [esp + 0x14], edi
jns 0x10065be7
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + ebx - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + ebx - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx], al
inc esi
inc ebp
jmp 0x10065c23
mov byte [esi + ebx], al
inc esi
inc ebp
inc edi
mov dword [esp + 0x14], edi
cmp byte [edi], 0
jne 0x10065b28
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x28], 0
je 0x10065cac
lea ebp, [esi + 1]
cmp ebp, dword [esp + 0x10]
jl 0x10065c56
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov ecx, dword [esp + 0x1c]
mov byte [esi + ebx], 0x3f
mov esi, ebp
mov ebp, dword [ecx + 0x28]
cmp byte [ebp], 0
je 0x10065e1c
lea edx, [esi + 1]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jl 0x10065c95
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov cl, byte [ebp]
inc dword [esp + 0x14]
mov byte [esi + ebx], cl
inc ebp
inc esi
cmp byte [ebp], 0
jne 0x10065c74
jmp 0x10065e1c
cmp dword [eax + 0x1c], 0
je 0x10065e1c
lea edx, [esi + 3]
cmp edx, dword [esp + 0x10]
jl 0x10065cd6
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov byte [esi + ebx], 0x3f
mov eax, dword [eax + 0x1c]
inc esi
cmp byte [eax], 0
mov dword [esp + 0x14], eax
je 0x10065e1c
lea ebp, [esi + 3]
mov edi, eax
cmp ebp, dword [esp + 0x10]
jl 0x10065d15
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov edi, dword [esp + 0x14]
mov ebx, eax
mov al, byte [edi]
cmp al, 0x61
jl 0x10065d23
cmp al, 0x7a
jle 0x10065e09
cmp al, 0x41
jl 0x10065d2f
cmp al, 0x5a
jle 0x10065e09
cmp al, 0x30
jl 0x10065d3b
cmp al, 0x39
jle 0x10065e09
cmp al, 0x2d
je 0x10065e09
cmp al, 0x5f
je 0x10065e09
cmp al, 0x2e
je 0x10065e09
cmp al, 0x21
je 0x10065e09
cmp al, 0x7e
je 0x10065e09
cmp al, 0x2a
je 0x10065e09
cmp al, 0x27
je 0x10065e09
cmp al, 0x28
je 0x10065e09
cmp al, 0x29
je 0x10065e09
cmp al, 0x3b
je 0x10065e09
cmp al, 0x2f
je 0x10065e09
cmp al, 0x3f
je 0x10065e09
cmp al, 0x3a
je 0x10065e09
cmp al, 0x40
je 0x10065e09
cmp al, 0x26
je 0x10065e09
cmp al, 0x3d
je 0x10065e09
cmp al, 0x2b
je 0x10065e09
cmp al, 0x24
je 0x10065e09
cmp al, 0x2c
je 0x10065e09
cmp al, 0x5b
je 0x10065e09
cmp al, 0x5d
je 0x10065e09
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc edi
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
mov dword [esp + 0x14], edi
jns 0x10065dd7
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + ebx - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + ebx - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx], al
inc esi
inc ebp
jmp 0x10065e13
mov byte [esi + ebx], al
inc esi
inc ebp
inc edi
mov dword [esp + 0x14], edi
cmp byte [edi], 0
jne 0x10065cf4
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x20], 0
je 0x10065f94
lea edx, [esi + 3]
cmp edx, dword [esp + 0x10]
jl 0x10065e4a
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov byte [esi + ebx], 0x23
mov eax, dword [eax + 0x20]
inc esi
cmp byte [eax], 0
mov dword [esp + 0x14], eax
je 0x10065f94
lea ebp, [esi + 3]
mov edi, eax
cmp ebp, dword [esp + 0x10]
jl 0x10065e89
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
je 0x10065fab
mov edi, dword [esp + 0x14]
mov ebx, eax
mov al, byte [edi]
cmp al, 0x61
jl 0x10065e97
cmp al, 0x7a
jle 0x10065f81
cmp al, 0x41
jl 0x10065ea3
cmp al, 0x5a
jle 0x10065f81
cmp al, 0x30
jl 0x10065eaf
cmp al, 0x39
jle 0x10065f81
cmp al, 0x2d
je 0x10065f81
cmp al, 0x5f
je 0x10065f81
cmp al, 0x2e
je 0x10065f81
cmp al, 0x21
je 0x10065f81
cmp al, 0x7e
je 0x10065f81
cmp al, 0x2a
je 0x10065f81
cmp al, 0x27
je 0x10065f81
cmp al, 0x28
je 0x10065f81
cmp al, 0x29
je 0x10065f81
cmp al, 0x3b
je 0x10065f81
cmp al, 0x2f
je 0x10065f81
cmp al, 0x3f
je 0x10065f81
cmp al, 0x3a
je 0x10065f81
cmp al, 0x40
je 0x10065f81
cmp al, 0x26
je 0x10065f81
cmp al, 0x3d
je 0x10065f81
cmp al, 0x2b
je 0x10065f81
cmp al, 0x24
je 0x10065f81
cmp al, 0x2c
je 0x10065f81
cmp al, 0x5b
je 0x10065f81
cmp al, 0x5d
je 0x10065f81
movzx ecx, al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
inc edi
sar eax, 4
and ecx, reloc.WS2_32.dll_ntohs
mov dword [esp + 0x14], edi
jns 0x10065f4f
dec ecx
or ecx, 0xfffffff0
inc ecx
inc esi
mov byte [esi + ebx - 1], 0x25
inc ebp
cmp eax, 9
setle dl
dec dl
and dl, 7
add dl, 0x30
add dl, al
inc esi
mov byte [esi + ebx - 1], dl
inc ebp
cmp ecx, 9
setle al
dec al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + ebx], al
inc esi
inc ebp
jmp 0x10065f8b
mov byte [esi + ebx], al
inc esi
inc ebp
inc edi
mov dword [esp + 0x14], edi
cmp byte [edi], 0
jne 0x10065e68
cmp esi, dword [esp + 0x10]
jl 0x10065fc1
push ebx
lea edi, [esp + 0x14]
call fcn.10065420
add esp, 4
test eax, eax
jne 0x10065fbf
push ebx
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
add esp, 8
ret
mov ebx, eax
mov byte [esi + ebx], 0
pop esi
pop ebp
mov eax, ebx
pop ebx
pop edi
add esp, 8
ret