Function at 0x433b2f
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, edx
sub esp, 0x3c
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
mov eax, edx
call fcn.00407d30
test byte [ebp - 0x20], 0x40
mov ebx, eax
jne 0x433b61
cmp dword [0x49636c], 0
je 0x433f37
cmp ebx, 4
jle 0x433f37
mov dword [esp + 8], 5
mov dword [esp + 4], str.file:
mov dword [esp], esi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x433f37
lea eax, [ebx + 2]
lea ecx, [esi + ebx]
mov edi, esi
cdq
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
cmp byte [edi], 0x26
sete cl
xor ebx, ebx
add eax, ecx
adc edx, ebx
inc edi
cmp edi, dword [ebp - 0x1c]
jne 0x433b96
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004196dc
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x433bc7
mov eax, 7
jmp 0x433fca
mov eax, dword [ebp - 0x20]
mov ebx, 5
or eax, 0x40
cmp byte [esi + 5], 0x2f
mov dword [ebp - 0x24], eax
je 0x433be7
mov dword [ebp - 0x20], 0
jmp 0x433cdb
cmp byte [esi + 6], 0x2f
jne 0x433bdb
mov ebx, 7
mov al, byte [esi + ebx]
test al, al
je 0x433c00
cmp al, 0x2f
je 0x433c00
inc ebx
jmp 0x433bf2
cmp ebx, 7
je 0x433bdb
cmp ebx, 0x10
lea edi, [esi + 7]
jne 0x433c29
mov dword [esp + 8], 9
mov dword [esp + 4], edi
mov dword [esp], str.localhost
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x433bdb
sub ebx, 7
mov dword [esp + 8], edi
mov dword [esp], str.invalid_uri_authority:__.s
mov dword [esp + 4], ebx
jmp 0x433e59
cmp ecx, 1
jne 0x433cea
cmp al, 0x3d
jne 0x433ce2
mov dl, byte [esi + ebx]
test dl, dl
je 0x433d91
cmp dl, 0x23
je 0x433d91
lea eax, [ebx + 1]
cmp dl, 0x25
mov dword [ebp - 0x28], eax
jne 0x433cfb
movzx edi, byte [esi + ebx + 1]
test byte [edi + 0x4a61c0], 8
mov eax, edi
je 0x433cfb
movzx edi, byte [esi + ebx + 2]
test byte [edi + 0x4a61c0], 8
je 0x433cfb
movsx eax, al
call fcn.0040204c
movzx eax, al
shl eax, 4
mov edi, eax
lea eax, [ebx + 3]
mov dword [ebp - 0x28], eax
movsx eax, byte [esi + ebx + 2]
call fcn.0040204c
movzx edx, al
add edx, edi
jne 0x433d7a
mov ebx, dword [ebp - 0x28]
mov al, byte [esi + ebx]
cmp al, 0x23
je 0x433c51
test al, al
je 0x433c51
test ecx, ecx
jne 0x433c40
cmp al, 0x3f
jne 0x433c40
xor ecx, ecx
jmp 0x433c51
cmp al, 0x26
je 0x433c51
cmp ecx, 2
je 0x433cf2
inc ebx
jmp 0x433cc0
cmp al, 0x26
jne 0x433cef
jmp 0x433c51
cmp ecx, 1
jne 0x433d4c
cmp dl, 0x26
je 0x433d0a
cmp dl, 0x3d
jne 0x433d4c
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
cmp byte [edi + eax - 1], 0
jne 0x433d3b
mov ebx, dword [ebp - 0x28]
mov al, byte [esi + ebx]
test al, al
je 0x433c51
cmp al, 0x23
je 0x433c51
cmp byte [esi + ebx - 1], 0x26
je 0x433c51
inc ebx
jmp 0x433d1a
cmp dl, 0x26
jne 0x433d6c
mov edi, dword [ebp - 0x1c]
inc dword [ebp - 0x20]
mov byte [edi + eax], 0
jmp 0x433d78
test ecx, ecx
jne 0x433d55
cmp dl, 0x3f
je 0x433d73
cmp ecx, 2
jne 0x433d7a
cmp dl, 0x26
mov eax, 1
cmove ecx, eax
mov al, 0
cmove edx, eax
jmp 0x433d7a
mov ecx, 2
jmp 0x433d78
mov ecx, 1
xor edx, edx
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x28]
mov byte [eax + edi], dl
mov eax, edi
inc eax
mov dword [ebp - 0x20], eax
jmp 0x433c51
dec ecx
jne 0x433da4
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov byte [eax + ecx], 0
mov eax, ecx
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
mov byte [eax + esi], 0
mov byte [eax + esi + 1], 0
call fcn.00407d30
mov esi, dword [ebp - 0x1c]
jmp 0x433ea9
cmp ebx, 5
je 0x433eb7
cmp ebx, 4
jne 0x433ea6
mov dword [esp + 8], 4
mov dword [esp + 4], edx
mov dword [esp], 0x499db5
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x433ea6
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x87
mov edi, str.access
mov ebx, 0x495c80
and eax, 0x87
mov dword [ebp - 0x30], eax
mov edx, dword [ebx]
test edx, edx
je 0x433e4a
mov eax, edx
call fcn.00407d30
cmp dword [ebp - 0x20], eax
jne 0x433ef0
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x433ef0
mov eax, dword [ebx + 4]
test eax, eax
jne 0x433ef8
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str.no_such__s_mode:__s
call fcn.00433b08
jmp 0x433f9c
mov eax, edx
call fcn.00407d30
lea esi, [edx + eax + 1]
mov ebx, eax
mov eax, esi
call fcn.00407d30
cmp ebx, 3
mov dword [ebp - 0x20], eax
jne 0x433dc0
mov dword [esp + 8], 3
mov dword [esp + 4], edx
mov dword [esp], 0x499db1
call sub.msvcrt.dll_memcmp
test eax, eax
mov eax, dword [ebp - 0x2c]
cmove eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
lea edx, [esi + eax + 1]
cmp byte [edx], 0
jne 0x433e63
jmp 0x433f73
mov dword [esp + 8], 5
mov dword [esp + 4], edx
mov dword [esp], str.cache
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x433ea6
mov dword [ebp - 0x30], 0x60000
mov dword [ebp - 0x28], 0x60000
mov edi, str.cache
mov ebx, 0x495ca8
jmp 0x433e0e
add ebx, 8
jmp 0x433e0e
mov ecx, eax
and cl, 0x7f
cmp ecx, dword [ebp - 0x30]
jle 0x433f25
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov ebx, 3
mov dword [esp], str._s_mode_not_allowed:__s
call fcn.00433b08
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x433fa6
mov edi, dword [ebp - 0x28]
not edi
and edi, dword [ebp - 0x24]
or eax, edi
mov dword [ebp - 0x24], eax
jmp 0x433ea6
lea eax, [ebx + 2]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.004196dc
test eax, eax
mov dword [ebp - 0x1c], eax
je 0x433bbd
test ebx, ebx
je 0x433f5e
mov edi, eax
mov ecx, ebx
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x1c]
mov byte [eax + ebx], 0
mov byte [eax + ebx + 1], 0
mov eax, dword [ebp - 0x20]
and eax, 0xffffffbf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
xor ebx, ebx
mov dword [esp], eax
call fcn.0041723e
mov edx, dword [ebp + 8]
test eax, eax
mov dword [edx], eax
jne 0x433fb8
mov eax, dword [ebp - 0x2c]
mov dword [esp], str.no_such_vfs:__s
mov dword [esp + 4], eax
call fcn.00433b08
mov esi, dword [ebp + 0x10]
mov ebx, 1
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.00409a90
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov dword [eax], esi
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
mov eax, ebx
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret