Function at 0x486b60
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [ebp + 8], 0
jne 0x486b72
xor eax, eax
mov esp, ebp
pop ebp
ret
push ebx
push edi
mov edi, 0x50
push 0x51
mov dword [ebp - 4], edi
call dword [0x5351d4]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x486bbd
push str.saving_URI_n
push str.Memory_allocation_failed_:__s_n
push eax
push eax
push eax
push eax
push str.saving_URI_n
push eax
push eax
push 3
push 2
push 0x1e
push eax
push eax
push eax
push eax
push eax
call fcn.00465410
add esp, 0x44
xor eax, eax
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push esi
xor esi, esi
mov ecx, dword [edx]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x486c36
cmp byte [ecx], 0
je 0x486c31
cmp esi, edi
jl 0x486c01
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
jne 0x486bd1
cmp esi, edi
jl 0x486c2e
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov edx, dword [ebp + 8]
mov byte [esi + ebx], 0x3a
inc esi
mov ecx, dword [edx + 4]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x486df3
cmp byte [ecx], 0
je 0x4874c9
nop dword [eax]
lea eax, [esi + 3]
cmp eax, edi
jl 0x486c83
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
cmp al, 0x3b
je 0x486d51
cmp al, 0x2f
je 0x486d51
cmp al, 0x3f
je 0x486d51
cmp al, 0x3a
je 0x486d51
cmp al, 0x40
je 0x486d51
cmp al, 0x26
je 0x486d51
cmp al, 0x3d
je 0x486d51
cmp al, 0x2b
je 0x486d51
cmp al, 0x24
je 0x486d51
cmp al, 0x2c
je 0x486d51
cmp al, 0x5b
je 0x486d51
cmp al, 0x5d
je 0x486d51
cmp al, 0x61
jl 0x486ce5
cmp al, 0x7a
jle 0x486d51
cmp al, 0x41
jl 0x486ced
cmp al, 0x5a
jle 0x486d51
cmp al, 0x30
jl 0x486cf5
cmp al, 0x39
jle 0x486d51
cmp al, 0x2d
je 0x486d51
cmp al, 0x5f
je 0x486d51
cmp al, 0x2e
je 0x486d51
cmp al, 0x21
je 0x486d51
cmp al, 0x7e
je 0x486d51
cmp al, 0x2a
je 0x486d51
cmp al, 0x27
je 0x486d51
cmp al, 0x28
je 0x486d51
cmp al, 0x29
je 0x486d51
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
add cl, 0x30
and al, 7
add al, cl
mov ecx, dword [ebp - 8]
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
jne 0x486c50
jmp 0x4874c6
push str.saving_URI_n
push str.Memory_allocation_failed_:__s_n
push 0
push 0
push 0
push 0
push str.saving_URI_n
push 0
push 0
push 3
push 2
push 0x1e
push 0
push 0
push 0
push 0
push 0
call fcn.00465410
add esp, 0x44
push ebx
call dword [0x5351dc]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push str.reaching_arbitrary_MAX_URI_LENGTH_limit_n
push str.Memory_allocation_failed_:__s_n
push 0
push 0
push 0
push 0
push str.reaching_arbitrary_MAX_URI_LENGTH_limit_n
push 0
push 0
push 3
push 2
push 0x1e
push 0
push 0
push 0
push 0
push 0
call fcn.00465410
add esp, 0x44
push ebx
call dword [0x5351dc]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edx + 0xc], 0
jne 0x486f6a
cmp dword [edx + 0x14], 0xffffffff
je 0x486f6a
cmp dword [edx + 8], 0
je 0x486f37
lea eax, [esi + 3]
cmp eax, edi
jl 0x486e35
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov edx, dword [ebp + 8]
mov word [esi + ebx], 0x2f2f
add esi, 2
mov ecx, dword [edx + 8]
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
je 0x48715c
nop dword [eax]
lea eax, [esi + 3]
cmp eax, edi
jl 0x486e83
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
cmp al, 0x61
jl 0x486e91
cmp al, 0x7a
jle 0x486f21
cmp al, 0x41
jl 0x486e9d
cmp al, 0x5a
jle 0x486f21
cmp al, 0x30
jl 0x486ea5
cmp al, 0x39
jle 0x486f21
cmp al, 0x2d
je 0x486f21
cmp al, 0x5f
je 0x486f21
cmp al, 0x2e
je 0x486f21
cmp al, 0x21
je 0x486f21
cmp al, 0x7e
je 0x486f21
cmp al, 0x2a
je 0x486f21
cmp al, 0x27
je 0x486f21
cmp al, 0x28
je 0x486f21
cmp al, 0x29
je 0x486f21
cmp al, 0x24
je 0x486f21
cmp al, 0x2c
je 0x486f21
cmp al, 0x3b
je 0x486f21
cmp al, 0x3a
je 0x486f21
cmp al, 0x40
je 0x486f21
cmp al, 0x26
je 0x486f21
cmp al, 0x3d
je 0x486f21
cmp al, 0x2b
je 0x486f21
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
add cl, 0x30
and al, 7
add al, cl
mov ecx, dword [ebp - 8]
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
jne 0x486e50
jmp 0x487159
cmp dword [edx], 0
je 0x48715c
lea eax, [esi + 3]
cmp eax, edi
jl 0x48715c
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
jmp 0x487159
lea eax, [esi + 3]
cmp eax, edi
jl 0x486f8e
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov edx, dword [ebp + 8]
mov word [esi + ebx], 0x2f2f
add esi, 2
mov ecx, dword [edx + 0x10]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x4870b7
cmp byte [ecx], 0
je 0x48708e
nop
lea eax, [esi + 3]
cmp eax, edi
jl 0x486fe3
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
cmp al, 0x61
jl 0x486ff1
cmp al, 0x7a
jle 0x48707d
cmp al, 0x41
jl 0x486ffd
cmp al, 0x5a
jle 0x48707d
cmp al, 0x30
jl 0x487005
cmp al, 0x39
jle 0x48707d
cmp al, 0x2d
je 0x48707d
cmp al, 0x5f
je 0x48707d
cmp al, 0x2e
je 0x48707d
cmp al, 0x21
je 0x48707d
cmp al, 0x7e
je 0x48707d
cmp al, 0x2a
je 0x48707d
cmp al, 0x27
je 0x48707d
cmp al, 0x28
je 0x48707d
cmp al, 0x29
je 0x48707d
cmp al, 0x3b
je 0x48707d
cmp al, 0x3a
je 0x48707d
cmp al, 0x26
je 0x48707d
cmp al, 0x3d
je 0x48707d
cmp al, 0x2b
je 0x48707d
cmp al, 0x24
je 0x48707d
cmp al, 0x2c
je 0x48707d
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
add cl, 0x30
and al, 7
add al, cl
mov ecx, dword [ebp - 8]
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
jne 0x486fb0
lea eax, [esi + 3]
cmp eax, edi
jl 0x4870af
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov edx, dword [ebp + 8]
mov byte [esi + ebx], 0x40
inc esi
mov ecx, dword [edx + 0xc]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x48715c
cmp byte [ecx], 0
je 0x487112
nop word [eax + eax]
cmp esi, edi
jl 0x487100
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
jne 0x4870d0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x14]
test ecx, ecx
jle 0x48715c
lea eax, [esi + 0xa]
cmp eax, edi
jl 0x487140
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov ecx, dword [ebp + 8]
mov ebx, eax
mov edi, dword [ebp - 4]
mov ecx, dword [ecx + 0x14]
push ecx
mov eax, edi
sub eax, esi
push 0x5066d0
push eax
lea eax, [esi + ebx]
push eax
call fcn.0044ad40
add esp, 0x10
add esi, eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x18]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x4872db
mov edx, dword [edx]
test edx, edx
je 0x4871ed
cmp byte [ecx], 0x2f
jne 0x4871ed
lea eax, [ecx + 1]
mov dword [ebp - 0xc], eax
mov al, byte [eax]
cmp al, 0x61
jl 0x487185
cmp al, 0x7a
jle 0x48718b
sub al, 0x41
cmp al, 0x19
ja 0x4871ed
cmp byte [ecx + 2], 0x3a
jne 0x4871ed
push str.file
push edx
call fcn.00479ec0
add esp, 8
test eax, eax
je 0x4871ea
lea eax, [esi + 3]
cmp eax, edi
jl 0x4871c4
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
movzx eax, byte [eax]
mov byte [esi + ebx], al
movzx eax, byte [ecx]
mov byte [esi + ebx + 1], al
movzx eax, byte [ecx + 1]
mov byte [esi + ebx + 2], al
add esi, 3
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x4871ed
mov ecx, dword [ebp - 8]
cmp byte [ecx], 0
je 0x4872d8
lea eax, [esi + 3]
cmp eax, edi
jl 0x487229
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
cmp al, 0x61
jl 0x487237
cmp al, 0x7a
jle 0x4872c7
cmp al, 0x41
jl 0x487243
cmp al, 0x5a
jle 0x4872c7
cmp al, 0x30
jl 0x48724b
cmp al, 0x39
jle 0x4872c7
cmp al, 0x2d
je 0x4872c7
cmp al, 0x5f
je 0x4872c7
cmp al, 0x2e
je 0x4872c7
cmp al, 0x21
je 0x4872c7
cmp al, 0x7e
je 0x4872c7
cmp al, 0x2a
je 0x4872c7
cmp al, 0x27
je 0x4872c7
cmp al, 0x28
je 0x4872c7
cmp al, 0x29
je 0x4872c7
cmp al, 0x2f
je 0x4872c7
cmp al, 0x3b
je 0x4872c7
cmp al, 0x40
je 0x4872c7
cmp al, 0x26
je 0x4872c7
cmp al, 0x3d
je 0x4872c7
cmp al, 0x2b
je 0x4872c7
cmp al, 0x24
je 0x4872c7
cmp al, 0x2c
je 0x4872c7
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
add cl, 0x30
and al, 7
add al, cl
mov ecx, dword [ebp - 8]
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
jne 0x4871f6
mov edx, dword [ebp + 8]
cmp dword [edx + 0x28], 0
je 0x48737b
lea eax, [esi + 1]
mov dword [ebp - 0xc], eax
cmp eax, edi
jl 0x48730f
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov byte [esi + ebx], 0x3f
mov esi, eax
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0xc], ecx
cmp byte [ecx], 0
je 0x4874c9
lea eax, [esi + 1]
mov dword [ebp - 8], eax
nop word [eax + eax]
cmp eax, edi
jl 0x487360
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 0xc]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
inc ecx
mov byte [esi + ebx], al
inc esi
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 0xc], ecx
cmp byte [ecx], 0
mov dword [ebp - 8], eax
jne 0x487330
jmp 0x4874c6
cmp dword [edx + 0x1c], 0
je 0x4874c9
lea eax, [esi + 3]
cmp eax, edi
jl 0x4873a9
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov edx, dword [ebp + 8]
mov byte [esi + ebx], 0x3f
inc esi
mov ecx, dword [edx + 0x1c]
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
je 0x4874c9
nop dword [eax]
lea eax, [esi + 3]
cmp eax, edi
jl 0x4873f3
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp - 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
cmp al, 0x61
jl 0x487401
cmp al, 0x7a
jle 0x4874b5
cmp al, 0x41
jl 0x48740d
cmp al, 0x5a
jle 0x4874b5
cmp al, 0x30
jl 0x487419
cmp al, 0x39
jle 0x4874b5
cmp al, 0x2d
je 0x4874b5
cmp al, 0x5f
je 0x4874b5
cmp al, 0x2e
je 0x4874b5
cmp al, 0x21
je 0x4874b5
cmp al, 0x7e
je 0x4874b5
cmp al, 0x2a
je 0x4874b5
cmp al, 0x27
je 0x4874b5
cmp al, 0x28
je 0x4874b5
cmp al, 0x29
je 0x4874b5
cmp al, 0x3b
je 0x4874b5
cmp al, 0x2f
je 0x4874b5
cmp al, 0x3f
je 0x4874b5
cmp al, 0x3a
je 0x4874b5
cmp al, 0x40
je 0x4874b5
cmp al, 0x26
je 0x4874b5
cmp al, 0x3d
je 0x4874b5
cmp al, 0x2b
je 0x4874b5
cmp al, 0x24
je 0x4874b5
cmp al, 0x2c
je 0x4874b5
cmp al, 0x5b
je 0x4874b5
cmp al, 0x5d
je 0x4874b5
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
add cl, 0x30
and al, 7
add al, cl
mov ecx, dword [ebp - 8]
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp - 8], ecx
cmp byte [ecx], 0
jne 0x4873c0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x20], 0
je 0x487612
lea eax, [esi + 3]
cmp eax, edi
jl 0x4874f7
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
je 0x487627
mov edi, dword [ebp - 4]
mov ebx, eax
mov edx, dword [ebp + 8]
mov byte [esi + ebx], 0x23
inc esi
mov ecx, dword [edx + 0x20]
mov dword [ebp + 8], ecx
cmp byte [ecx], 0
je 0x487612
nop dword [eax + eax]
lea eax, [esi + 3]
cmp eax, edi
jl 0x487543
cmp edi, 0x100000
jg 0x486dad
add edi, edi
lea eax, [edi + 1]
push eax
push ebx
call dword [0x5351d8]
add esp, 8
test eax, eax
je 0x486d67
mov ecx, dword [ebp + 8]
mov ebx, eax
mov dword [ebp - 4], edi
mov al, byte [ecx]
cmp al, 0x61
jl 0x487551
cmp al, 0x7a
jle 0x487601
cmp al, 0x41
jl 0x48755d
cmp al, 0x5a
jle 0x487601
cmp al, 0x30
jl 0x487569
cmp al, 0x39
jle 0x487601
cmp al, 0x2d
je 0x487601
cmp al, 0x5f
je 0x487601
cmp al, 0x2e
je 0x487601
cmp al, 0x21
je 0x487601
cmp al, 0x7e
je 0x487601
cmp al, 0x2a
je 0x487601
cmp al, 0x27
je 0x487601
cmp al, 0x28
je 0x487601
cmp al, 0x29
je 0x487601
cmp al, 0x3b
je 0x487601
cmp al, 0x2f
je 0x487601
cmp al, 0x3f
je 0x487601
cmp al, 0x3a
je 0x487601
cmp al, 0x40
je 0x487601
cmp al, 0x26
je 0x487601
cmp al, 0x3d
je 0x487601
cmp al, 0x2b
je 0x487601
cmp al, 0x24
je 0x487601
cmp al, 0x2c
je 0x487601
cmp al, 0x5b
je 0x487601
cmp al, 0x5d
je 0x487601
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + ebx], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
add cl, 0x30
and al, 7
add al, cl
mov ecx, dword [ebp + 8]
mov byte [esi + ebx + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ecx
mov byte [esi + ebx], al
inc esi
mov dword [ebp + 8], ecx
cmp byte [ecx], 0
jne 0x487510
cmp esi, edi
jl 0x48763c
lea eax, [ebp - 4]
push eax
push ebx
call fcn.00487650
add esp, 8
test eax, eax
jne 0x48763a
push ebx
call dword [0x5351dc]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, eax
mov byte [esi + ebx], 0
mov eax, ebx
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret