Function at 0x4e1330
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov edi, eax
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], edx
cmp edi, ecx
jne 0x4e1355
xor esi, esi
jmp 0x4e1370
mov eax, edi
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e1360
sub eax, esi
and eax, 0x3fffffff
mov esi, eax
test bl, 0x40
jne 0x4e1381
cmp dword [0x633cbc], ecx
je 0x4e17e5
cmp esi, 5
jl 0x4e17e5
cmp dword [edi], 0x656c6966
jne 0x4e17e5
cmp byte [edi + 4], 0x3a
jne 0x4e17e5
or dword [esp + 0x14], 0x40
lea eax, [esi + 2]
cdq
mov ebx, eax
xor eax, eax
cmp esi, ecx
mov dword [esp + 0x18], ecx
mov ebp, edx
jle 0x4e13d1
cmp byte [eax + edi], 0x26
jne 0x4e13c4
mov ecx, 1
jmp 0x4e13c6
xor ecx, ecx
xor edx, edx
add ebx, ecx
adc ebp, edx
inc eax
cmp eax, esi
jl 0x4e13b7
call fcn.0052a7e0
test eax, eax
jne 0x4e13ec
push ebp
push ebx
call fcn.004bbc40
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4e13f9
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x24
ret
mov cl, 0x2f
mov esi, 5
cmp byte [edi + 5], cl
jne 0x4e1472
cmp byte [edi + 6], cl
jne 0x4e1472
mov al, byte [edi + 7]
lea ebx, [edi + 7]
mov esi, 7
test al, al
je 0x4e1472
lea esp, [esp]
cmp al, cl
je 0x4e142d
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x4e1420
cmp esi, 7
je 0x4e1472
cmp esi, 0x10
jne 0x4e145b
lea eax, [esi - 7]
mov ecx, ebx
mov edx, str.localhost
mov ebp, dword [edx]
cmp ebp, dword [ecx]
jne 0x4e145b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4e1441
mov al, byte [ecx]
cmp al, byte [edx]
je 0x4e1472
push ebx
add esi, 0xfffffff9
push esi
push str.invalid_uri_authority:__.s
call fcn.004d32a0
add esp, 0xc
jmp 0x4e1854
mov al, byte [esi + edi]
xor ebp, ebp
test al, al
je 0x4e15bf
nop
mov edx, dword [esp + 0x18]
cmp al, 0x23
je 0x4e15ad
inc esi
cmp al, 0x25
jne 0x4e1531
mov cl, byte [esi + edi]
movzx ebx, cl
test byte [ebx + 0x5eb3b0], 8
je 0x4e1531
movzx ebx, byte [esi + edi + 1]
test byte [ebx + 0x5eb3b0], 8
je 0x4e1531
movsx edx, byte [esi + edi + 1]
movsx ecx, cl
mov eax, ecx
sar eax, 6
and al, 1
mov bl, 7
imul bl
inc esi
sub cl, al
mov eax, edx
sar eax, 6
and al, 1
imul bl
sub dl, al
and ecx, 0xf
shl ecx, 4
inc esi
and edx, 0xf
add ecx, edx
test ecx, ecx
jne 0x4e1529
mov al, byte [esi + edi]
test al, al
je 0x4e159e
cmp al, 0x23
je 0x4e159e
test ebp, ebp
jne 0x4e1502
cmp al, 0x3f
jmp 0x4e1518
cmp ebp, 1
jne 0x4e1511
cmp al, 0x3d
je 0x4e159e
jmp 0x4e1516
cmp ebp, 2
jne 0x4e151e
cmp al, 0x26
je 0x4e159e
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x4e14f2
jmp 0x4e159e
mov edx, dword [esp + 0x18]
mov al, cl
jmp 0x4e1592
cmp ebp, 1
jne 0x4e1578
cmp al, 0x26
je 0x4e153e
cmp al, 0x3d
jne 0x4e1592
mov ecx, dword [esp + 0x10]
cmp byte [ecx + edx - 1], 0
jne 0x4e1566
mov al, byte [esi + edi]
test al, al
je 0x4e159e
cmp al, 0x23
je 0x4e159e
cmp byte [esi + edi - 1], 0x26
je 0x4e159e
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x4e1550
jmp 0x4e159e
cmp al, 0x26
jne 0x4e1571
mov byte [ecx + edx], 0
inc edx
jmp 0x4e1590
mov ebp, 2
jmp 0x4e1590
test ebp, ebp
jne 0x4e1582
cmp al, 0x3f
je 0x4e158b
jmp 0x4e1592
cmp ebp, 2
jne 0x4e1592
cmp al, 0x26
jne 0x4e1592
mov ebp, 1
xor al, al
mov ecx, dword [esp + 0x10]
mov byte [ecx + edx], al
inc edx
mov dword [esp + 0x18], edx
mov al, byte [esi + edi]
test al, al
jne 0x4e1480
mov edx, dword [esp + 0x18]
cmp ebp, 1
jne 0x4e15bf
mov eax, dword [esp + 0x10]
mov byte [eax + edx], 0
inc edx
mov dword [esp + 0x18], edx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov byte [esi + eax], 0
mov byte [esi + eax + 1], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4e15d5
sub eax, edx
and eax, 0x3fffffff
cmp byte [eax + esi + 1], 0
lea ecx, [eax + esi + 1]
je 0x4e182b
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e15f7
sub eax, esi
and eax, 0x3fffffff
mov esi, eax
lea eax, [esi + ecx + 1]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4e161b
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x4e1634
lea edi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e1620
sub eax, edi
and eax, 0x3fffffff
mov ebx, eax
mov dword [esp + 0x18], eax
cmp esi, 3
jne 0x4e1663
cmp byte [ecx], 0x76
jne 0x4e17b2
cmp byte [ecx + 1], 0x66
jne 0x4e17b2
cmp byte [ecx + 2], 0x73
jne 0x4e17b2
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
jmp 0x4e17b2
cmp esi, 5
jne 0x4e1696
cmp dword [ecx], 0x68636163
jne 0x4e17b2
cmp byte [ecx + 4], 0x65
jne 0x4e17b2
mov eax, 0x60000
mov dword [esp + 0x28], eax
mov edi, 0x635240
mov dword [esp + 0x20], str.cache
jmp 0x4e16c9
cmp esi, 4
jne 0x4e17b2
cmp dword [ecx], 0x65646f6d
jne 0x4e17b2
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], 0x87
mov edi, 0x635258
and eax, 0x87
mov dword [esp + 0x20], str.access
mov ecx, dword [edi]
xor ebp, ebp
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x4e176c
mov eax, ecx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e16e0
sub eax, esi
and eax, 0x3fffffff
cmp ebx, eax
jne 0x4e175f
mov edx, dword [esp + 0x1c]
mov esi, ebx
cmp ebx, 4
jb 0x4e1714
lea ecx, [ecx]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4e1718
sub esi, 4
add ecx, 4
add edx, 4
cmp esi, 4
jae 0x4e1700
test esi, esi
je 0x4e178c
movzx ebx, byte [ecx]
movzx eax, byte [edx]
sub eax, ebx
jne 0x4e1753
cmp esi, 1
jbe 0x4e1788
movzx eax, byte [edx + 1]
movzx ebx, byte [ecx + 1]
sub eax, ebx
jne 0x4e1753
cmp esi, 2
jbe 0x4e1788
movzx eax, byte [edx + 2]
movzx ebx, byte [ecx + 2]
sub eax, ebx
jne 0x4e1753
cmp esi, 3
jbe 0x4e1788
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
mov ebx, dword [esp + 0x18]
sar eax, 0x1f
or eax, 1
je 0x4e178c
mov ecx, dword [edi + ebp*8 + 8]
inc ebp
test ecx, ecx
jne 0x4e16d9
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push ecx
push edx
push str.no_such__s_mode:__s
call fcn.004d32a0
add esp, 0xc
jmp 0x4e1854
mov ebx, dword [esp + 0x18]
mov eax, dword [edi + ebp*8 + 4]
test eax, eax
je 0x4e176c
mov edx, eax
and edx, 0xffffff7f
cmp edx, dword [esp + 0x24]
jg 0x4e17c7
mov ecx, dword [esp + 0x28]
not ecx
and ecx, dword [esp + 0x14]
or ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x1c]
cmp byte [ebx + eax + 1], 0
lea ecx, [ebx + eax + 1]
jne 0x4e15f2
jmp 0x4e182b
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
push edx
push eax
push str._s_mode_not_allowed:__s
call fcn.004d32a0
add esp, 0xc
mov esi, 3
jmp 0x4e1859
call fcn.0052a7e0
test eax, eax
jne 0x4e13ec
lea eax, [esi + 2]
cdq
push edx
push eax
call fcn.004bbc40
mov ebx, eax
add esp, 8
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x4e13ec
test esi, esi
je 0x4e181d
push esi
push edi
push ebx
call fcn.00588f30
add esp, 0xc
and dword [esp + 0x14], 0xffffffbf
mov byte [ebx + esi], 0
mov byte [ebx + esi + 1], 0
mov esi, dword [esp + 0x2c]
push esi
call fcn.004bb990
mov edx, dword [esp + 0x40]
add esp, 4
mov dword [edx], eax
test eax, eax
jne 0x4e18d1
push esi
push str.no_such_vfs:__s
call fcn.004d32a0
add esp, 8
mov esi, 1
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
cmp dword [0x633cb0], 0
je 0x4e18b9
mov eax, dword [0x641778]
test eax, eax
je 0x4e187b
push eax
call dword [0x633d0c]
add esp, 4
mov edi, dword [esp + 0x10]
push edi
call dword [0x633ce8]
sub dword [0x641718], eax
dec dword [0x64173c]
push edi
call dword [0x633ce0]
mov eax, dword [0x641778]
add esp, 8
test eax, eax
je 0x4e18c7
push eax
call dword [0x633d14]
add esp, 4
mov dword [esp + 0x10], 0
jmp 0x4e18d5
mov edx, dword [esp + 0x10]
push edx
call dword [0x633ce0]
add esp, 4
mov dword [esp + 0x10], 0
jmp 0x4e18d5
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
pop edi
mov dword [edx], eax
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret