Function at 0x4d99d0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x28
or eax, 0xffffffff
mov word [esp + 0x10], ax
push ebp
xor ecx, ecx
mov eax, 0x65
xor ebp, ebp
mov dword [esp + 0x20], eax
mov edx, 2
mul edx
seto cl
push esi
push edi
mov dword [esp + 0x24], ebp
neg ecx
or ecx, eax
push ecx
call fcn.004e831a
add esp, 4
xor ecx, ecx
push 4
mov dword [esp + 0x24], eax
mov word [eax], cx
call fcn.004e831a
add esp, 4
test eax, eax
je 0x501ff4
mov dword [eax], 1
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x3c]
cmp dword [edx + 8], ebp
jbe 0x4d9a63
xor edi, edi
mov eax, edx
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x4d9a5d
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x4d9b2d
push esi
call fcn.004e7eef
mov eax, dword [esp + 0x40]
add esp, 4
inc edi
cmp edi, dword [eax + 8]
jb 0x4d9a38
mov edx, dword [esp + 0x3c]
mov dword [edx + 8], ebp
cmp word [ebx], bp
je 0x4d9c6f
jmp 0x4d9a80
movzx eax, word [ebx + ebp*2]
cmp ax, 0x20
je 0x4d9b85
cmp ax, 9
je 0x4d9b85
movzx eax, word [ebx + ebp*2]
test ax, ax
je 0x4d9c5a
movzx esi, ax
mov dword [esp + 0x10], ebp
mov word [esp + 0x1e], bp
cmp si, 0x30
jae 0x4d9b8b
cmp si, 0x2e
je 0x4d9b95
cmp si, 0x41
jae 0x4d9cf9
cmp si, 0x61
jae 0x4d9f63
cmp si, 0x5f
je 0x4d9d03
movzx eax, si
cmp eax, 0x24
je 0x4d9cbe
cmp eax, 0x3d
je 0x4d9d3a
cmp eax, 0x28
je 0x4d9d77
cmp eax, 0x29
je 0x4d9d59
cmp eax, 0x22
je 0x4d9d95
sub eax, 0x1a
cmp eax, 0x44
ja 0x502245
movzx ecx, byte [eax + 0x403428]
jmp dword [ecx*4 + 0x4033ec]
cmp ax, 0x30
jl 0x4d9a50
mov ecx, dword [esi]
test ecx, ecx
je 0x4d9a50
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x10], ecx
cmp dword [edx], ebp
je 0x501ffd
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004e7eef
add esp, 4
jmp 0x4d9a50
inc ebp
jmp 0x4d9a80
cmp si, 0x39
ja 0x4d9abb
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebx
lea eax, [esp + 0x1c]
call fcn.004da1d0
cmp al, 1
jne 0x502021
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
call fcn.004d98c0
mov ebp, dword [esp + 0x10]
jmp 0x4d9c4f
cmp ax, 0x30
jae 0x4d9e3a
cmp ax, 0x5f
je 0x4d9cec
cmp dword [esp + 0x24], 0
je 0x5021d0
lea eax, [esp + 0x20]
call fcn.004d96e0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
push esi
push edi
call dword [fcn.00482640]
cmp word [esp + 0x1c], 0x30
jge 0x4d9e8e
mov edx, 0x33
push 0x10
mov word [esp + 0x20], dx
call fcn.004e831a
add esp, 4
test eax, eax
je 0x5021c3
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov edi, dword [esp + 0x40]
call fcn.004d98c0
cmp word [ebx + ebp*2], 0
jne 0x4d9a80
mov ax, word [esp + 0x1c]
cmp ax, 0x30
jl 0x4d9c6f
cmp ax, 0x3f
jle 0x4d9e6d
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0x14]
mov eax, 0x7f
push ecx
mov word [esp + 0x20], ax
mov dword [esp + 0x18], 0
mov word [esp + 0x22], bp
call fcn.004d98c0
mov esi, dword [esp + 0x2c]
add dword [esi], 0xffffffff
jne 0x4d9cb3
mov edx, dword [esp + 0x20]
push edx
call fcn.004e7eef
add esp, 4
push esi
call fcn.004e7eef
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x28
ret 8
lea esi, [esp + 0x20]
inc ebp
call fcn.004da370
movzx eax, word [ebx + ebp*2]
cmp ax, 0x5a
ja 0x4d9cd8
cmp ax, 0x41
jae 0x4d9cec
cmp ax, 0x61
jb 0x4d9bc8
cmp ax, 0x7a
ja 0x4d9bc8
push eax
lea eax, [esp + 0x24]
call fcn.004da070
inc ebp
jmp 0x4d9cc8
cmp si, 0x5a
ja 0x4d9acf
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
mov ecx, ebx
call fcn.004d9770
cmp dword [esp + 0x14], 0xffffffff
je 0x5021fe
mov edi, dword [esp + 0x3c]
lea eax, [esp + 0x14]
push eax
call fcn.004d98c0
mov ebp, dword [esp + 0x10]
jmp 0x4d9c4f
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x14]
je 0x502199
mov edi, 0x41
call fcn.004d9700
jmp 0x4d9c41
mov edi, 0x48
lea esi, [esp + 0x14]
call fcn.004d9700
mov edi, dword [esp + 0x3c]
push esi
call fcn.004d98c0
inc ebp
jmp 0x4d9c4f
mov edi, 0x47
lea esi, [esp + 0x14]
call fcn.004d9700
mov edi, dword [esp + 0x3c]
push esi
call fcn.004d98c0
inc ebp
jmp 0x4d9c4f
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x24]
lea edi, [esp + 0x14]
call fcn.004da130
lea esi, [esp + 0x14]
test eax, eax
jne 0x50228a
lea edi, [eax + 0x36]
call fcn.004d9700
lea esi, [esp + 0x20]
lea edi, [esp + 0x14]
call fcn.004d9250
push edi
mov edi, dword [esp + 0x40]
call fcn.004d98c0
mov ebp, dword [esp + 0x10]
jmp 0x4d9c4f
cmp ax, 0x39
jbe 0x4d9cec
jmp 0x4d9bd2
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4d9c6f
mov ecx, esi
call fcn.004d9220
push esi
call fcn.004e7eef
add esp, 4
jmp 0x4d9c6f
cmp word [esp + 0x1c], 0x3f
jg 0x4d9c0c
jmp 0x5021a9
cmp si, 0x7a
jbe 0x4d9d03
jmp 0x4d9ad9
mov dword [esp + 0x2c], ebp
jmp 0x4d9a2b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.004e7eef
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4d9b55
mov ebp, dword [esp + 0x10]
cmp si, 0x2e
jne 0x4d9ac5
lea esi, [esp + 0x20]
inc ebp
call fcn.004da370
movzx eax, word [ebx + ebp*2]
cmp ax, 0x41
jb 0x502051
cmp ax, 0x5a
jbe 0x5020ae
cmp ax, 0x61
jb 0x502065
cmp ax, 0x7a
jbe 0x5020ae
cmp ax, 0x30
jb 0x502079
cmp ax, 0x39
jbe 0x5020ae
cmp ax, 0x5f
je 0x5020ae
cmp dword [esp + 0x24], 0
je 0x5021d0
mov edi, 0x35
lea esi, [esp + 0x14]
call fcn.004d9700
lea esi, [esp + 0x20]
lea edi, [esp + 0x14]
call fcn.004d9250
jmp 0x4d9c41
push eax
lea eax, [esp + 0x24]
call fcn.004da070
inc ebp
jmp 0x502039
mov edi, 0x50
call fcn.004d9700
inc ebp
jmp 0x4d9c41
cmp dword [esp + 0x14], 0
je 0x4d9c0c
mov ecx, dword [esp + 0x14]
push ecx
call 0x51a2f6
jmp 0x4d9c0c
mov dword [esp + 0x14], 0
jmp 0x4d9c41
mov ecx, dword [esp + 0x38]
dec ebp
push ebp
push 0x138b
push ecx
call 0x536ba9
lea ecx, [esp + 0x20]
call fcn.004d9220
lea edx, [esp + 0x14]
push edx
call 0x522053
mov eax, 1
jmp 0x4d9cb5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
push eax
push 0x138c
push ecx
call 0x536ba9
lea ecx, [esp + 0x20]
call fcn.004d9220
lea edx, [esp + 0x14]
push edx
call 0x522053
mov eax, 1
jmp 0x4d9cb5
mov edx, dword [esp + 0x38]
push ebp
push 0x1388
push edx
call 0x536ba9
mov edi, 0x7f
lea esi, [esp + 0x14]
call fcn.004d9700
mov edi, dword [esp + 0x3c]
push esi
call fcn.004d98c0
lea ecx, [esp + 0x20]
call fcn.004d9220
lea ecx, [esp + 0x14]
push ecx
call 0x522053
mov eax, 1
jmp 0x4d9cb5
mov edi, 0x7f
call fcn.004d9700
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
call fcn.004d98c0
lea ecx, [esp + 0x20]
call fcn.004d9220
lea eax, [esp + 0x14]
push eax
call 0x522053
mov eax, 1
jmp 0x4d9cb5