Function at 0x1003744c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 0x10]
and dword [ebp - 0x14], 0
push ebx
push esi
mov ebx, dword [eax]
push edi
mov edi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0xc], ebx
call fcn.1003de30
mov esi, eax
pop ecx
test bl, 0x40
jne 0x1003747f
cmp dword [0x1007b8d4], 0
je 0x1003783c
cmp esi, 5
jl 0x1003783c
push 5
push str.file:
push edi
call fcn.1005c004
add esp, 0xc
test eax, eax
jne 0x1003783c
and dword [ebp - 4], eax
or ebx, 0x40
lea eax, [esi + 2]
mov dword [ebp - 0xc], ebx
xor ecx, ecx
cdq
test esi, esi
jle 0x100374dd
cmp byte [ecx + edi], 0x26
jne 0x100374c2
xor ebx, ebx
inc ebx
and dword [ebp - 0x18], 0
jmp 0x100374d3
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x24]
add eax, ebx
adc edx, dword [ebp - 0x18]
inc ecx
cmp ecx, esi
jl 0x100374b3
push edx
push eax
call fcn.10006967
mov ebx, eax
mov dword [ebp - 8], ebx
pop ecx
pop ecx
test ebx, ebx
jne 0x100374f7
push 7
pop eax
jmp 0x100378b3
cmp byte [edi + 5], 0x2f
push 5
pop esi
push 7
pop edx
jne 0x1003755a
cmp byte [edi + 6], 0x2f
jne 0x1003755a
lea ecx, [edi + 7]
mov esi, edx
mov al, byte [ecx]
mov dword [ebp - 0x20], ecx
test al, al
je 0x1003755a
cmp al, 0x2f
je 0x10037523
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x10037517
cmp esi, edx
je 0x1003755a
cmp esi, 0x10
jne 0x10037543
push 9
push ecx
push str.localhost
call fcn.1005c004
add esp, 0xc
test eax, eax
je 0x1003755a
mov ecx, dword [ebp - 0x20]
push ecx
lea eax, [esi - 7]
push eax
push str.invalid_uri_authority:__.s
call fcn.10006749
add esp, 0xc
jmp 0x1003788e
mov bl, byte [esi + edi]
xor edx, edx
mov dword [ebp - 0x10], edx
test bl, bl
je 0x100376bb
cmp bl, 0x23
je 0x100376a9
inc esi
cmp bl, 0x25
jne 0x10037623
mov cl, byte [esi + edi]
movzx eax, cl
test byte [eax + 0x1006c8b8], 8
je 0x10037623
movzx eax, byte [esi + edi + 1]
test byte [eax + 0x1006c8b8], 8
je 0x10037623
movsx edx, byte [esi + edi + 1]
add esi, 2
movsx ecx, cl
mov eax, ecx
sar eax, 6
and al, 1
push 7
pop ebx
imul bl
mov bl, cl
sub bl, al
mov eax, edx
sar eax, 6
and ebx, 0xf
push 7
pop ecx
and al, 1
shl ebx, 4
imul cl
mov cl, dl
mov edx, dword [ebp - 0x10]
sub cl, al
and ecx, 0xf
add ebx, ecx
jne 0x10037691
jmp 0x1003761a
cmp al, 0x23
je 0x1003769e
test edx, edx
jne 0x100375f7
cmp al, 0x3f
je 0x1003769e
cmp edx, 1
jne 0x1003760c
cmp al, 0x3d
je 0x1003769e
cmp al, 0x26
je 0x1003769e
cmp edx, 2
jne 0x10037619
cmp al, 0x26
je 0x1003769e
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x100375e3
jmp 0x1003769e
cmp edx, 1
jne 0x10037676
cmp bl, 0x26
je 0x10037632
cmp bl, 0x3d
jne 0x10037691
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp byte [eax + ecx - 1], 0
je 0x10037663
cmp bl, 0x26
jne 0x1003766c
mov ebx, eax
mov eax, ecx
mov byte [ebx + eax], 0
inc eax
mov dword [ebp - 4], eax
mov eax, ebx
mov ecx, dword [ebp - 4]
jmp 0x10037672
cmp al, 0x23
je 0x1003769e
cmp byte [esi + edi - 1], 0x26
je 0x1003769e
inc esi
mov al, byte [esi + edi]
test al, al
jne 0x10037657
jmp 0x1003769e
push 2
pop edx
mov dword [ebp - 0x10], edx
xor bl, bl
jmp 0x10037697
test edx, edx
jne 0x1003767f
cmp bl, 0x3f
je 0x10037689
cmp edx, 2
jne 0x10037691
cmp bl, 0x26
jne 0x10037691
xor edx, edx
xor bl, bl
inc edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov byte [eax + ecx], bl
inc ecx
mov dword [ebp - 4], ecx
mov bl, byte [esi + edi]
test bl, bl
jne 0x1003756a
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp edx, 1
jne 0x100376c1
mov byte [ebx + eax], 0
inc eax
jmp 0x100376c1
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
push ebx
mov word [ebx + eax], 0
call fcn.1003de30
pop ecx
lea esi, [ebx + 1]
jmp 0x10037813
push esi
call fcn.1003de30
mov edi, eax
lea eax, [esi + 1]
add eax, edi
mov dword [ebp - 0x1c], edi
push eax
mov dword [ebp - 8], eax
call fcn.1003de30
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
cmp edi, 3
jne 0x10037717
push edi
push esi
push 0x10075de4
call fcn.1005c004
add esp, 0xc
test eax, eax
jne 0x10037717
mov eax, dword [ebp - 8]
mov dword [ebp + 8], eax
jmp 0x1003780f
xor eax, eax
xor edi, edi
and dword [ebp - 0x10], eax
and dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 5
jne 0x1003775f
push eax
push esi
push str.cache
call fcn.1005c004
add esp, 0xc
test eax, eax
jne 0x1003780c
mov eax, 0x1007b140
mov dword [ebp - 0x10], str.cache
mov ecx, 0x60000
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x1c]
mov edi, ecx
mov dword [ebp - 0x18], ecx
cmp eax, 4
jne 0x10037794
push eax
push esi
push str.mode
call fcn.1005c004
add esp, 0xc
test eax, eax
jne 0x10037794
mov eax, dword [ebp - 0xc]
mov ecx, 0x87
and eax, ecx
mov dword [ebp - 0x10], str.access
mov edi, ecx
mov dword [ebp - 0x18], eax
mov esi, 0x1007b158
jmp 0x10037797
mov esi, dword [ebp - 4]
test esi, esi
je 0x1003780c
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [esi], ecx
je 0x100377db
mov eax, esi
mov eax, dword [eax]
push eax
mov dword [ebp - 0x1c], eax
call fcn.1003de30
pop ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, eax
jne 0x100377cc
push ecx
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.1005c004
add esp, 0xc
test eax, eax
je 0x100377eb
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
lea eax, [esi + eax*8]
cmp dword [eax], 0
jne 0x100377a6
push dword [ebp - 8]
push dword [ebp - 0x10]
push str.no_such__s_mode:__s
jmp 0x1003754d
mov ecx, dword [ebp - 4]
mov ecx, dword [esi + ecx*8 + 4]
test ecx, ecx
je 0x100377db
mov eax, ecx
and eax, 0xffffff7f
cmp eax, dword [ebp - 0x18]
jg 0x10037820
not edi
and edi, dword [ebp - 0xc]
or edi, ecx
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
inc esi
add esi, eax
cmp byte [esi], 0
jne 0x100376d6
jmp 0x1003786c
push dword [ebp - 8]
push dword [ebp - 0x10]
push str._s_mode_not_allowed:__s
call fcn.10006749
add esp, 0xc
mov dword [ebp - 0x14], 3
jmp 0x10037895
lea eax, [esi + 2]
cdq
push edx
push eax
call fcn.10006967
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x100374ef
test esi, esi
je 0x10037862
push esi
push edi
push ebx
call fcn.1005d780
add esp, 0xc
and dword [ebp - 0xc], 0xffffffbf
mov word [ebx + esi], 0
mov esi, dword [ebp + 8]
push esi
call fcn.100072c1
pop ecx
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], ecx
test ecx, ecx
jne 0x100378a3
push esi
push str.no_such_vfs:__s
call fcn.10006749
pop ecx
pop ecx
mov dword [ebp - 0x14], 1
mov ecx, dword [ebp + 0x1c]
push ebx
mov dword [ecx], eax
call fcn.10006f75
pop ecx
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ecx], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret