Function at 0x438e80
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x438e93
xor eax, eax
pop ebp
add esp, 8
ret
push ebx
push edi
mov ebx, 0x50
push 0x51
mov dword [esp + 0x10], ebx
call dword [0x55438c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x438ee0
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.004277b0
add esp, 0x44
xor eax, eax
pop edi
pop ebx
pop ebp
add esp, 8
ret
mov ebp, dword [ebp]
push esi
xor esi, esi
test ebp, ebp
je 0x438f43
cmp byte [ebp], 0
je 0x438f3e
cmp esi, ebx
jl 0x438f10
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x438ef0
cmp esi, ebx
jl 0x438f3e
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x3a
inc esi
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 4]
test ebp, ebp
je 0x43905a
cmp byte [ebp], 0
je 0x4396a0
nop dword [eax]
lea eax, [esi + 3]
cmp eax, ebx
jl 0x438f83
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x3b
je 0x439046
cmp al, 0x2f
je 0x439046
cmp al, 0x3f
je 0x439046
cmp al, 0x3a
je 0x439046
cmp al, 0x40
je 0x439046
cmp al, 0x26
je 0x439046
cmp al, 0x3d
je 0x439046
cmp al, 0x2b
je 0x439046
cmp al, 0x24
je 0x439046
cmp al, 0x2c
je 0x439046
cmp al, 0x5b
je 0x439046
cmp al, 0x5d
je 0x439046
cmp al, 0x61
jl 0x438fde
cmp al, 0x7a
jle 0x439046
cmp al, 0x41
jl 0x438fe6
cmp al, 0x5a
jle 0x439046
cmp al, 0x30
jl 0x438fee
cmp al, 0x39
jle 0x439046
cmp al, 0x2d
je 0x439046
cmp al, 0x5f
je 0x439046
cmp al, 0x2e
je 0x439046
cmp al, 0x21
je 0x439046
cmp al, 0x7e
je 0x439046
cmp al, 0x2a
je 0x439046
cmp al, 0x27
je 0x439046
cmp al, 0x28
je 0x439046
cmp al, 0x29
je 0x439046
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x438f60
jmp 0x4396a0
mov ebp, dword [esp + 0x1c]
cmp dword [ebp + 0xc], 0
jne 0x4391c1
cmp dword [ebp + 0x14], 0xffffffff
je 0x4391c1
cmp dword [ebp + 8], 0
je 0x43918b
lea eax, [esi + 3]
cmp eax, ebx
jl 0x43909f
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov word [esi + edi], 0x2f2f
add esi, 2
mov ebp, dword [ebp + 8]
cmp byte [ebp], 0
je 0x439182
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4390d8
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x4390e7
cmp al, 0x7a
jle 0x439173
cmp al, 0x41
jl 0x4390f3
cmp al, 0x5a
jle 0x439173
cmp al, 0x30
jl 0x4390fb
cmp al, 0x39
jle 0x439173
cmp al, 0x2d
je 0x439173
cmp al, 0x5f
je 0x439173
cmp al, 0x2e
je 0x439173
cmp al, 0x21
je 0x439173
cmp al, 0x7e
je 0x439173
cmp al, 0x2a
je 0x439173
cmp al, 0x27
je 0x439173
cmp al, 0x28
je 0x439173
cmp al, 0x29
je 0x439173
cmp al, 0x24
je 0x439173
cmp al, 0x2c
je 0x439173
cmp al, 0x3b
je 0x439173
cmp al, 0x3a
je 0x439173
cmp al, 0x40
je 0x439173
cmp al, 0x26
je 0x439173
cmp al, 0x3d
je 0x439173
cmp al, 0x2b
je 0x439173
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4390b5
mov ebp, dword [esp + 0x1c]
jmp 0x439380
cmp dword [ebp], 0
je 0x439380
lea eax, [esi + 3]
cmp eax, ebx
jl 0x439380
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
jmp 0x439380
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4391e4
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov word [esi + edi], 0x2f2f
add esi, 2
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x4392ef
cmp byte [ebp], 0
je 0x4392c7
lea eax, [esi + 3]
cmp eax, ebx
jl 0x439225
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x439234
cmp al, 0x7a
jle 0x4392b8
cmp al, 0x41
jl 0x43923c
cmp al, 0x5a
jle 0x4392b8
cmp al, 0x30
jl 0x439244
cmp al, 0x39
jle 0x4392b8
cmp al, 0x2d
je 0x4392b8
cmp al, 0x5f
je 0x4392b8
cmp al, 0x2e
je 0x4392b8
cmp al, 0x21
je 0x4392b8
cmp al, 0x7e
je 0x4392b8
cmp al, 0x2a
je 0x4392b8
cmp al, 0x27
je 0x4392b8
cmp al, 0x28
je 0x4392b8
cmp al, 0x29
je 0x4392b8
cmp al, 0x3b
je 0x4392b8
cmp al, 0x3a
je 0x4392b8
cmp al, 0x26
je 0x4392b8
cmp al, 0x3d
je 0x4392b8
cmp al, 0x2b
je 0x4392b8
cmp al, 0x24
je 0x4392b8
cmp al, 0x2c
je 0x4392b8
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x439202
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4392ea
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x40
inc esi
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 0xc]
test ebp, ebp
je 0x43937e
cmp byte [ebp], 0
je 0x439332
cmp esi, ebx
jl 0x439324
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x439304
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jle 0x439380
lea eax, [esi + 0xa]
cmp eax, ebx
jl 0x439363
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ecx, dword [ebp + 0x14]
mov edi, eax
mov ebx, dword [esp + 0x10]
push ecx
mov eax, ebx
sub eax, esi
push 0x4787b4
push eax
lea eax, [esi + edi]
push eax
call fcn.0040a4c0
add esp, 0x10
add esi, eax
jmp 0x439380
mov ebp, eax
mov ebp, dword [ebp + 0x18]
test ebp, ebp
je 0x4394e5
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x43940e
cmp byte [ebp], 0x2f
jne 0x43940e
lea eax, [ebp + 1]
mov dword [esp + 0x14], eax
mov al, byte [eax]
cmp al, 0x61
jl 0x4393ac
cmp al, 0x7a
jle 0x4393b2
sub al, 0x41
cmp al, 0x19
ja 0x43940e
cmp byte [ebp + 2], 0x3a
jne 0x43940e
push str.file
push ecx
call fcn.004216d0
add esp, 8
test eax, eax
je 0x43940e
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4393ed
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
movzx eax, byte [ebp]
mov ebp, dword [esp + 0x14]
mov byte [esi + edi], al
movzx eax, byte [ebp]
mov byte [esi + edi + 1], al
movzx eax, byte [ebp + 1]
mov byte [esi + edi + 2], al
add esi, 3
add ebp, 2
cmp byte [ebp], 0
je 0x4394e5
lea eax, [esi + 3]
cmp eax, ebx
jl 0x43943b
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x43944a
cmp al, 0x7a
jle 0x4394d6
cmp al, 0x41
jl 0x439456
cmp al, 0x5a
jle 0x4394d6
cmp al, 0x30
jl 0x43945e
cmp al, 0x39
jle 0x4394d6
cmp al, 0x2d
je 0x4394d6
cmp al, 0x5f
je 0x4394d6
cmp al, 0x2e
je 0x4394d6
cmp al, 0x21
je 0x4394d6
cmp al, 0x7e
je 0x4394d6
cmp al, 0x2a
je 0x4394d6
cmp al, 0x27
je 0x4394d6
cmp al, 0x28
je 0x4394d6
cmp al, 0x29
je 0x4394d6
cmp al, 0x2f
je 0x4394d6
cmp al, 0x3b
je 0x4394d6
cmp al, 0x40
je 0x4394d6
cmp al, 0x26
je 0x4394d6
cmp al, 0x3d
je 0x4394d6
cmp al, 0x2b
je 0x4394d6
cmp al, 0x24
je 0x4394d6
cmp al, 0x2c
je 0x4394d6
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x439418
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x28], 0
je 0x439570
lea ebp, [esi + 1]
cmp ebp, ebx
jl 0x439516
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x3f
mov esi, ebp
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x28]
cmp byte [ebp], 0
je 0x4396a0
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
cmp eax, ebx
jl 0x439554
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + edi], al
inc esi
mov eax, dword [esp + 0x14]
inc eax
cmp byte [ebp], 0
mov dword [esp + 0x14], eax
jne 0x439534
jmp 0x4396a0
cmp dword [ecx + 0x1c], 0
je 0x4396a4
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4395a1
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov byte [esi + edi], 0x3f
inc esi
mov ebp, dword [ecx + 0x1c]
cmp byte [ebp], 0
je 0x4396a4
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4395d6
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x4395e5
cmp al, 0x7a
jle 0x439691
cmp al, 0x41
jl 0x4395f1
cmp al, 0x5a
jle 0x439691
cmp al, 0x30
jl 0x4395fd
cmp al, 0x39
jle 0x439691
cmp al, 0x2d
je 0x439691
cmp al, 0x5f
je 0x439691
cmp al, 0x2e
je 0x439691
cmp al, 0x21
je 0x439691
cmp al, 0x7e
je 0x439691
cmp al, 0x2a
je 0x439691
cmp al, 0x27
je 0x439691
cmp al, 0x28
je 0x439691
cmp al, 0x29
je 0x439691
cmp al, 0x3b
je 0x439691
cmp al, 0x2f
je 0x439691
cmp al, 0x3f
je 0x439691
cmp al, 0x3a
je 0x439691
cmp al, 0x40
je 0x439691
cmp al, 0x26
je 0x439691
cmp al, 0x3d
je 0x439691
cmp al, 0x2b
je 0x439691
cmp al, 0x24
je 0x439691
cmp al, 0x2c
je 0x439691
cmp al, 0x5b
je 0x439691
cmp al, 0x5d
je 0x439691
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4395b3
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x20], 0
je 0x4397d8
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4396d1
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x1c]
mov byte [esi + edi], 0x23
inc esi
mov ebp, dword [eax + 0x20]
cmp byte [ebp], 0
je 0x4397d8
lea eax, [esi + 3]
cmp eax, ebx
jl 0x43970a
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
je 0x4397ee
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x439719
cmp al, 0x7a
jle 0x4397c9
cmp al, 0x41
jl 0x439725
cmp al, 0x5a
jle 0x4397c9
cmp al, 0x30
jl 0x439731
cmp al, 0x39
jle 0x4397c9
cmp al, 0x2d
je 0x4397c9
cmp al, 0x5f
je 0x4397c9
cmp al, 0x2e
je 0x4397c9
cmp al, 0x21
je 0x4397c9
cmp al, 0x7e
je 0x4397c9
cmp al, 0x2a
je 0x4397c9
cmp al, 0x27
je 0x4397c9
cmp al, 0x28
je 0x4397c9
cmp al, 0x29
je 0x4397c9
cmp al, 0x3b
je 0x4397c9
cmp al, 0x2f
je 0x4397c9
cmp al, 0x3f
je 0x4397c9
cmp al, 0x3a
je 0x4397c9
cmp al, 0x40
je 0x4397c9
cmp al, 0x26
je 0x4397c9
cmp al, 0x3d
je 0x4397c9
cmp al, 0x2b
je 0x4397c9
cmp al, 0x24
je 0x4397c9
cmp al, 0x2c
je 0x4397c9
cmp al, 0x5b
je 0x4397c9
cmp al, 0x5d
je 0x4397c9
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4396e7
cmp esi, ebx
jl 0x439804
lea eax, [esp + 0x10]
push eax
push edi
call fcn.00439820
add esp, 8
test eax, eax
jne 0x439802
push edi
call dword [0x554394]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret
mov edi, eax
mov byte [esi + edi], 0
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret