Function at 0x4e1170
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 0x4e1195
xor esi, esi
jmp 0x4e11b0
mov eax, edi
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e11a0
sub eax, esi
and eax, 0x3fffffff
mov esi, eax
test bl, 0x40
jne 0x4e11c1
cmp dword [0x633cbc], ecx
je 0x4e1625
cmp esi, 5
jl 0x4e1625
cmp dword [edi], 0x656c6966
jne 0x4e1625
cmp byte [edi + 4], 0x3a
jne 0x4e1625
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 0x4e1211
cmp byte [eax + edi], 0x26
jne 0x4e1204
mov ecx, 1
jmp 0x4e1206
xor ecx, ecx
xor edx, edx
add ebx, ecx
adc ebp, edx
inc eax
cmp eax, esi
jl 0x4e11f7
call fcn.0052a610
test eax, eax
jne 0x4e122c
push ebp
push ebx
call fcn.004bba90
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4e1239
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 0x4e12b2
cmp byte [edi + 6], cl
jne 0x4e12b2
mov al, byte [edi + 7]
lea ebx, [edi + 7]
mov esi, 7
test al, al
je 0x4e12b2
lea esp, [esp]
cmp al, cl
je 0x4e126d
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x4e1260
cmp esi, 7
je 0x4e12b2
cmp esi, 0x10
jne 0x4e129b
lea eax, [esi - 7]
mov ecx, ebx
mov edx, str.localhost
mov ebp, dword [edx]
cmp ebp, dword [ecx]
jne 0x4e129b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4e1281
mov al, byte [ecx]
cmp al, byte [edx]
je 0x4e12b2
push ebx
add esi, 0xfffffff9
push esi
push str.invalid_uri_authority:__.s
call fcn.004d30e0
add esp, 0xc
jmp 0x4e1694
mov al, byte [esi + edi]
xor ebp, ebp
test al, al
je 0x4e13ff
nop
mov edx, dword [esp + 0x18]
cmp al, 0x23
je 0x4e13ed
inc esi
cmp al, 0x25
jne 0x4e1371
mov cl, byte [esi + edi]
movzx ebx, cl
test byte [ebx + 0x5eb470], 8
je 0x4e1371
movzx ebx, byte [esi + edi + 1]
test byte [ebx + 0x5eb470], 8
je 0x4e1371
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 0x4e1369
mov al, byte [esi + edi]
test al, al
je 0x4e13de
cmp al, 0x23
je 0x4e13de
test ebp, ebp
jne 0x4e1342
cmp al, 0x3f
jmp 0x4e1358
cmp ebp, 1
jne 0x4e1351
cmp al, 0x3d
je 0x4e13de
jmp 0x4e1356
cmp ebp, 2
jne 0x4e135e
cmp al, 0x26
je 0x4e13de
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x4e1332
jmp 0x4e13de
mov edx, dword [esp + 0x18]
mov al, cl
jmp 0x4e13d2
cmp ebp, 1
jne 0x4e13b8
cmp al, 0x26
je 0x4e137e
cmp al, 0x3d
jne 0x4e13d2
mov ecx, dword [esp + 0x10]
cmp byte [ecx + edx - 1], 0
jne 0x4e13a6
mov al, byte [esi + edi]
test al, al
je 0x4e13de
cmp al, 0x23
je 0x4e13de
cmp byte [esi + edi - 1], 0x26
je 0x4e13de
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x4e1390
jmp 0x4e13de
cmp al, 0x26
jne 0x4e13b1
mov byte [ecx + edx], 0
inc edx
jmp 0x4e13d0
mov ebp, 2
jmp 0x4e13d0
test ebp, ebp
jne 0x4e13c2
cmp al, 0x3f
je 0x4e13cb
jmp 0x4e13d2
cmp ebp, 2
jne 0x4e13d2
cmp al, 0x26
jne 0x4e13d2
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 0x4e12c0
mov edx, dword [esp + 0x18]
cmp ebp, 1
jne 0x4e13ff
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 0x4e1415
sub eax, edx
and eax, 0x3fffffff
cmp byte [eax + esi + 1], 0
lea ecx, [eax + esi + 1]
je 0x4e166b
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e1437
sub eax, esi
and eax, 0x3fffffff
mov esi, eax
lea eax, [esi + ecx + 1]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4e145b
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x4e1474
lea edi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e1460
sub eax, edi
and eax, 0x3fffffff
mov ebx, eax
mov dword [esp + 0x18], eax
cmp esi, 3
jne 0x4e14a3
cmp byte [ecx], 0x76
jne 0x4e15f2
cmp byte [ecx + 1], 0x66
jne 0x4e15f2
cmp byte [ecx + 2], 0x73
jne 0x4e15f2
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
jmp 0x4e15f2
cmp esi, 5
jne 0x4e14d6
cmp dword [ecx], 0x68636163
jne 0x4e15f2
cmp byte [ecx + 4], 0x65
jne 0x4e15f2
mov eax, 0x60000
mov dword [esp + 0x28], eax
mov edi, 0x635240
mov dword [esp + 0x20], str.cache
jmp 0x4e1509
cmp esi, 4
jne 0x4e15f2
cmp dword [ecx], 0x65646f6d
jne 0x4e15f2
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 0x4e15ac
mov eax, ecx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e1520
sub eax, esi
and eax, 0x3fffffff
cmp ebx, eax
jne 0x4e159f
mov edx, dword [esp + 0x1c]
mov esi, ebx
cmp ebx, 4
jb 0x4e1554
lea ecx, [ecx]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4e1558
sub esi, 4
add ecx, 4
add edx, 4
cmp esi, 4
jae 0x4e1540
test esi, esi
je 0x4e15cc
movzx ebx, byte [ecx]
movzx eax, byte [edx]
sub eax, ebx
jne 0x4e1593
cmp esi, 1
jbe 0x4e15c8
movzx eax, byte [edx + 1]
movzx ebx, byte [ecx + 1]
sub eax, ebx
jne 0x4e1593
cmp esi, 2
jbe 0x4e15c8
movzx eax, byte [edx + 2]
movzx ebx, byte [ecx + 2]
sub eax, ebx
jne 0x4e1593
cmp esi, 3
jbe 0x4e15c8
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 0x4e15cc
mov ecx, dword [edi + ebp*8 + 8]
inc ebp
test ecx, ecx
jne 0x4e1519
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push ecx
push edx
push str.no_such__s_mode:__s
call fcn.004d30e0
add esp, 0xc
jmp 0x4e1694
mov ebx, dword [esp + 0x18]
mov eax, dword [edi + ebp*8 + 4]
test eax, eax
je 0x4e15ac
mov edx, eax
and edx, 0xffffff7f
cmp edx, dword [esp + 0x24]
jg 0x4e1607
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 0x4e1432
jmp 0x4e166b
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
push edx
push eax
push str._s_mode_not_allowed:__s
call fcn.004d30e0
add esp, 0xc
mov esi, 3
jmp 0x4e1699
call fcn.0052a610
test eax, eax
jne 0x4e122c
lea eax, [esi + 2]
cdq
push edx
push eax
call fcn.004bba90
mov ebx, eax
add esp, 8
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x4e122c
test esi, esi
je 0x4e165d
push esi
push edi
push ebx
call fcn.00588d50
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.004bb7e0
mov edx, dword [esp + 0x40]
add esp, 4
mov dword [edx], eax
test eax, eax
jne 0x4e1711
push esi
push str.no_such_vfs:__s
call fcn.004d30e0
add esp, 8
mov esi, 1
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
cmp dword [0x633cb0], 0
je 0x4e16f9
mov eax, dword [0x641778]
test eax, eax
je 0x4e16bb
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 0x4e1707
push eax
call dword [0x633d14]
add esp, 4
mov dword [esp + 0x10], 0
jmp 0x4e1715
mov edx, dword [esp + 0x10]
push edx
call dword [0x633ce0]
add esp, 4
mov dword [esp + 0x10], 0
jmp 0x4e1715
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