Function at 0x4f2160
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x5fdb08]
push eax
call fcn.00460c80
add esp, 4
mov dword [ebp - 0xc], eax
push str.Glossary_Main
call fcn.004b4110
add esp, 4
push 0
push 2
push 0x1102600
call fcn.004495d0
add esp, 0xc
mov ecx, dword [0x600c44]
mov dword [ebp - 4], ecx
mov dword [0x600c44], 0
cmp dword [0x5fdab4], 1
jne 0x4f21e0
push 0
mov edx, dword [0x5fdac0]
push edx
mov eax, dword [0x5fdac4]
push eax
mov ecx, dword [0x5fdabc]
push ecx
mov edx, dword [0x5fdab8]
push edx
call fcn.004d1100
add esp, 0x14
mov dword [0x5fdab4], 0
call fcn.004d1a00
call fcn.004f2c40
mov dword [0x5fd7d8], 0
mov al, byte [0x5fd8c7]
mov byte [ebp - 6], al
mov cl, byte [0x5fd8c6]
mov byte [ebp - 5], cl
mov edx, dword [0x5ff1c4]
mov dword [0x601364], edx
cmp dword [0x5fdbf0], 0
je 0x4f2224
mov dword [0x5fd984], 1
call fcn.004a8420
cmp dword [0x5f7888], 1
jne 0x4f224f
mov byte [0x5fd8c7], 0x31
mov byte [0x5fd8c6], 0x54
mov dword [0x573dc4], 0xffffffff
jmp 0x4f22e7
cmp dword [0x5ff1c4], 1
jne 0x4f22e7
cmp dword [0x5ff1c0], 0
jne 0x4f226e
mov byte [0x5fd8c7], 0x31
jmp 0x4f2275
mov byte [0x5fd8c7], 0x32
cmp dword [0x5fdb08], 0x14
jne 0x4f22d6
push 3
push 0x577470
push 0x658fd8
call fcn.00532db5
add esp, 0xc
test eax, eax
jne 0x4f22d6
cmp dword [0x5ff1c0], 1
jne 0x4f22d6
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x1564
mov ecx, dword [0x5fda70]
imul ecx, ecx, 0x94
lea edx, [eax + ecx + 0x667080]
mov eax, dword [0x5fda4c]
cmp dword [edx + eax*4], 0
je 0x4f22d6
cmp dword [0x5fda24], 0
jne 0x4f22d6
mov byte [0x5fd8c7], 0x31
mov byte [0x5fd8c6], 0x48
mov dword [0x573dc4], 0xffffffff
mov dword [0x5fd9e8], 1
mov ecx, dword [0x5fdbac]
sub ecx, 0x98
cmp ecx, dword [0x5fd90c]
jg 0x4f2a69
call fcn.004d1c10
cmp dword [0x5c6c1c], 0
je 0x4f2343
cmp dword [0x5ff1d8], 0
je 0x4f232f
mov edx, dword [0x5ff1d8]
push edx
call fcn.00431d50
add esp, 4
mov dword [0x5ff1d8], 0
mov dword [0x573dc4], 0xffffffff
cmp dword [0x5fd980], 0
jne 0x4f2351
call fcn.004f2b10
call fcn.004df1b0
cmp dword [0x5fd980], 1
jne 0x4f236e
mov dword [0x5fdbac], 0
jmp 0x4f2a69
call fcn.004d1a70
push 1
call fcn.004bc3f0
add esp, 4
call fcn.00483eb0
fstp dword [0x5fdbe0]
mov al, byte [ebp - 6]
mov byte [0x5fd8c7], al
mov cl, byte [ebp - 5]
mov byte [0x5fd8c6], cl
mov byte [0xeae820], 0
push 1
call fcn.004b8e70
add esp, 4
movsx edx, byte [0xeae820]
cmp edx, 0xd
je 0x4f23c2
movsx eax, byte [0xeae820]
cmp eax, 0x1b
jne 0x4f23cc
mov dword [0x5fdbac], 0x4a
movsx ecx, byte [0xeae820]
cmp ecx, 0x27
jne 0x4f23eb
cmp dword [0x5750b0], 0xffffffff
je 0x4f23eb
mov dword [0x5fdbac], 0x40
movsx edx, byte [0xeae820]
cmp edx, 0x25
jne 0x4f240a
cmp dword [0x5750b0], 0xffffffff
je 0x4f240a
mov dword [0x5fdbac], 0x3f
cmp dword [0x5fdbac], 0
jne 0x4f2436
cmp dword [0x5fd87c], 0
je 0x4f2436
call fcn.00483eb0
fld dword [0x5fdbe0]
fadd qword [0x54d2a8]
fcompp
fnstsw ax
test ah, 5
jnp 0x4f243f
cmp dword [0x5fdb24], 1
jne 0x4f2453
mov dword [0x5fd9b0], 1
mov dword [0x5fdbac], 8
cmp dword [0x5fdbac], 0
je 0x4f2523
cmp dword [0x5fdbac], 8
je 0x4f2523
cmp dword [0x5fdbac], 0x5e
jg 0x4f2523
cmp dword [0x5750b0], 0xffffffff
jne 0x4f24b3
cmp dword [0x5fdbac], 0x3f
je 0x4f24b1
cmp dword [0x5fdbac], 0x40
je 0x4f24b1
cmp dword [0x5fdbac], 0x49
je 0x4f24b1
cmp dword [0x5fdbac], 0x4a
je 0x4f24b1
mov dword [0x5fdbac], 0
jmp 0x4f2523
cmp dword [0x5fdbac], 0x3f
jne 0x4f24d4
movsx eax, byte [0x5ff1b0]
cmp eax, 0x2d
jne 0x4f24d4
mov dword [0x5fdbac], 0
jmp 0x4f2523
cmp dword [0x5fdbac], 0x40
jne 0x4f24f5
movsx ecx, byte [0x5ff1a8]
cmp ecx, 0x2d
jne 0x4f24f5
mov dword [0x5fdbac], 0
jmp 0x4f2523
cmp dword [0x5fdbac], 0x3f
je 0x4f2523
cmp dword [0x5fdbac], 0x40
je 0x4f2523
cmp dword [0x5fdbac], 0x49
je 0x4f2523
cmp dword [0x5fdbac], 0x4a
je 0x4f2523
mov dword [0x5fdbac], 0
cmp dword [0x5fdbac], 0
jne 0x4f2557
cmp dword [0x5fdb24], 0
jne 0x4f2557
movsx edx, byte [0x5ff1b8]
cmp edx, 0x2d
jne 0x4f2557
cmp dword [0x5fda54], 0
jne 0x4f2557
cmp dword [0x5fd9e8], 0
jne 0x4f2399
call fcn.004a3d10
mov byte [0xeae820], 0
cmp dword [0x5fdb24], 0
jne 0x4f25ba
cmp dword [0x5fdbac], 8
je 0x4f25ba
movsx eax, byte [0x5ff1b8]
cmp eax, 0x2d
je 0x4f25ba
mov ecx, dword [0x601364]
cmp ecx, dword [0x5ff1c4]
je 0x4f2599
mov dword [0x573dc4], 0xffffffff
push 0x5ff1b8
push 0x70e258
call fcn.00532580
add esp, 8
mov dword [0x5fdbac], 0
jmp 0x4f2229
cmp dword [0x5fdb24], 0
jne 0x4f28ae
cmp dword [0x5750b0], 0
jl 0x4f28ae
cmp dword [0x5fdbac], 8
je 0x4f28ae
cmp dword [0x5fdbac], 0x3f
jne 0x4f2748
movsx edx, byte [0x5ff1b0]
cmp edx, 0x2d
je 0x4f2748
movsx eax, word [0x60043c]
test eax, eax
je 0x4f2652
movsx ecx, word [0x600434]
test ecx, ecx
je 0x4f2652
push 0x1e2
mov edx, dword [0x5ff1cc]
mov eax, dword [0x5ff1e4]
lea ecx, [eax + edx + 0x118]
add ecx, dword [0x601334]
push ecx
mov edx, dword [0x601330]
mov eax, dword [0x5ff1e0]
lea ecx, [eax + edx + 0x217]
push ecx
call fcn.004b8790
add esp, 0xc
jmp 0x4f2727
mov edx, dword [0x5fd9e8]
mov dword [ebp - 0x10], edx
mov ax, word [0x600430]
mov word [ebp - 0x14], ax
mov cx, word [0x5756a8]
mov word [ebp - 0x18], cx
mov dx, word [0x5756ac]
mov word [ebp - 0x1c], dx
movsx eax, word [0x5756a8]
movsx ecx, word [0x600430]
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [0x5756a8], ax
movsx eax, word [0x5756ac]
movsx edx, word [0x600430]
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [0x5756ac], ax
mov eax, 8
mov word [0x600430], ax
mov dword [0x5fd9e8], 0
push 0x1e2
mov ecx, dword [0x5ff1cc]
mov edx, dword [0x5ff1e4]
lea eax, [edx + ecx + 0x118]
push eax
mov ecx, dword [0x5ff1e0]
add ecx, 0x217
push ecx
call fcn.004b8790
add esp, 0xc
mov dx, word [ebp - 0x14]
mov word [0x600430], dx
mov ax, word [ebp - 0x18]
mov word [0x5756a8], ax
mov cx, word [ebp - 0x1c]
mov word [0x5756ac], cx
mov edx, dword [ebp - 0x10]
mov dword [0x5fd9e8], edx
push 0x5ff1b0
push 0x70e258
call fcn.00532580
add esp, 8
mov dword [0x5fdbac], 0
jmp 0x4f2229
cmp dword [0x5fdbac], 0x40
jne 0x4f28ae
movsx eax, byte [0x5ff1a8]
cmp eax, 0x2d
je 0x4f28ae
movsx ecx, word [0x60043c]
test ecx, ecx
je 0x4f27b9
movsx edx, word [0x600434]
test edx, edx
je 0x4f27b9
push 0x1e4
mov eax, dword [0x5ff1cc]
mov ecx, dword [0x5ff1e4]
lea edx, [ecx + eax + 0x118]
add edx, dword [0x601334]
push edx
mov eax, dword [0x601330]
mov ecx, dword [0x5ff1e0]
lea edx, [ecx + eax + 0x23c]
push edx
call fcn.004b8790
add esp, 0xc
jmp 0x4f288d
mov eax, dword [0x5fd9e8]
mov dword [ebp - 0x20], eax
mov cx, word [0x600430]
mov word [ebp - 0x24], cx
mov dx, word [0x5756a8]
mov word [ebp - 0x28], dx
mov ax, word [0x5756ac]
mov word [ebp - 0x2c], ax
movsx eax, word [0x5756a8]
movsx ecx, word [0x600430]
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [0x5756a8], ax
movsx eax, word [0x5756ac]
movsx edx, word [0x600430]
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [0x5756ac], ax
mov eax, 8
mov word [0x600430], ax
mov dword [0x5fd9e8], 0
push 0x1e4
mov ecx, dword [0x5ff1cc]
mov edx, dword [0x5ff1e4]
lea eax, [edx + ecx + 0x118]
push eax
mov ecx, dword [0x5ff1e0]
add ecx, 0x23c
push ecx
call fcn.004b8790
add esp, 0xc
mov dx, word [ebp - 0x24]
mov word [0x600430], dx
mov ax, word [ebp - 0x28]
mov word [0x5756a8], ax
mov cx, word [ebp - 0x2c]
mov word [0x5756ac], cx
mov edx, dword [ebp - 0x20]
mov dword [0x5fd9e8], edx
push 0x5ff1a8
push 0x70e258
call fcn.00532580
add esp, 8
mov dword [0x5fdbac], 0
jmp 0x4f2229
movsx eax, word [0x60043c]
test eax, eax
je 0x4f290b
movsx ecx, word [0x600434]
test ecx, ecx
je 0x4f290b
cmp dword [0x5750b0], 0xffffffff
jne 0x4f2906
push 0x1e8
mov edx, dword [0x5ff1cc]
mov eax, dword [0x5ff1e4]
lea ecx, [eax + edx + 0x124]
add ecx, dword [0x601334]
push ecx
mov edx, dword [0x601330]
mov eax, dword [0x5ff1e0]
lea ecx, [eax + edx + 0x224]
push ecx
call fcn.004b8b60
add esp, 0xc
jmp 0x4f29ed
cmp dword [0x5750b0], 0xffffffff
jne 0x4f29ed
mov edx, dword [0x5fd9e8]
mov dword [ebp - 0x30], edx
mov ax, word [0x600430]
mov word [ebp - 0x34], ax
mov cx, word [0x5756a8]
mov word [ebp - 0x38], cx
mov dx, word [0x5756ac]
mov word [ebp - 0x3c], dx
movsx eax, word [0x5756a8]
movsx ecx, word [0x600430]
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [0x5756a8], ax
movsx eax, word [0x5756ac]
movsx edx, word [0x600430]
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [0x5756ac], ax
mov eax, 8
mov word [0x600430], ax
mov dword [0x5fd9e8], 0
push 0x1e8
mov ecx, dword [0x5ff1cc]
mov edx, dword [0x5ff1e4]
lea eax, [edx + ecx + 0x124]
push eax
mov ecx, dword [0x5ff1e0]
add ecx, 0x224
push ecx
call fcn.004b8b60
add esp, 0xc
mov dx, word [ebp - 0x34]
mov word [0x600430], dx
mov ax, word [ebp - 0x38]
mov word [0x5756a8], ax
mov cx, word [ebp - 0x3c]
mov word [0x5756ac], cx
mov edx, dword [ebp - 0x30]
mov dword [0x5fd9e8], edx
cmp dword [0x5fdbac], 8
jne 0x4f2a12
cmp dword [0x601360], 0
jne 0x4f2a12
cmp dword [0x5fd8e0], 0
jne 0x4f2a12
mov dword [0x5fdbac], 0
call fcn.004e21f0
call fcn.004a8420
cmp dword [0x5fd9b4], 0
je 0x4f2a69
cmp dword [0x5fdc2c], 0
je 0x4f2a69
movsx eax, byte [0x5fdaa4]
cmp eax, 0x2d
je 0x4f2a69
mov ecx, dword [0x5ff1d4]
mov dword [0x5fda28], ecx
mov edx, dword [0x5fda28]
mov dword [0x5fda2c], edx
push 0
mov eax, dword [0x5fda2c]
push eax
mov ecx, dword [0x5fda28]
push ecx
call fcn.004e2580
add esp, 0xc
call fcn.004f2db0
mov dword [0x5fdbb0], 0
cmp dword [0x5fdbac], 0xe
jle 0x4f2ac1
cmp dword [0x5fdbac], 0x80
jge 0x4f2ac1
push 1
call fcn.004bc3f0
add esp, 4
push 0x1e
push 4
call fcn.004bd160
add esp, 8
mov dword [0x5fdbac], 0
mov dword [0x5fdbb0], 0
mov dword [0x658f10], 0
mov dword [0x5fd9e8], 0
mov dword [0x5ff1cc], 0
mov dword [0x5ff1d0], 0
cmp dword [0x5ff1c4], 1
jne 0x4f2afc
mov dword [0x573dc4], 0xffffffff
mov dword [0x5ff1c4], 0
mov edx, dword [ebp - 4]
mov dword [0x600c44], edx
mov esp, ebp
pop ebp
ret