Function at 0x41f6e0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x64f64a
push eax
mov dword fs:[0], esp
sub esp, 0x210
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
push esi
push edi
je 0x41f759
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x1e
je 0x41f72d
test ecx, ecx
jne 0x41f759
mov eax, dword [eax + 0x82c]
cmp dword [eax + 0x24], 0xf
jne 0x41f759
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 0x138]
mov dword [edx + 0x30], 7
mov eax, dword [ebx + 4]
mov dword [eax + 0x559c], 0xc8
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x559c]
mov dword [eax + 0x55a0], ecx
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
mov edi, 0x190
je 0x41f78e
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x2f
je 0x41f784
test ecx, ecx
jne 0x41f78e
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 0x28
jne 0x41f78e
mov dword [ebx + 0x54], 5
mov dword [ebx + 0x58], edi
cmp dword [eax + 0x7f8], 0x1c
mov esi, 2
jne 0x41f7c3
mov eax, 0x60c
mov edx, 0x7fffffff
mov ecx, dword [ebx + 4]
cmp dword [ecx + eax - 0x34], esi
je 0x41f7b9
jmp 0x796dd9
add eax, 4
cmp eax, 0x624
jl 0x41f7a6
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x41f81d
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x11
je 0x41f7ee
cmp ecx, 0x21
je 0x41f7ee
test ecx, ecx
jne 0x41f81d
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 5
jne 0x41f81d
mov eax, dword [ebx + 4]
mov dword [eax + 0x559c], 0xc8
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x559c]
mov dword [eax + 0x55a0], ecx
mov edx, dword [ebx + 4]
mov eax, dword [edx + 0x144]
push 3
call fcn.00489a50
mov dword [ebx + 0x5c], edi
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x41f84c
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x11
je 0x41f848
cmp ecx, 0x21
je 0x41f848
test ecx, ecx
jne 0x41f84c
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 5
jne 0x41f84c
mov byte [ebx + 0x64], 1
mov eax, dword [eax + 0x7f8]
cmp eax, 0x2e
je 0x41f85c
cmp eax, 0x31
jne 0x41f882
xor edi, edi
mov edi, edi
xor esi, esi
mov edx, dword [ebx + 4]
push 0xffffffffffffffff
push 0x31
push edi
push edx
mov eax, esi
call fcn.0040d120
add esi, 1
cmp esi, 5
jl 0x41f862
add edi, 1
cmp edi, 9
jl 0x41f860
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x7f8]
cmp eax, 0x33
jl 0x41f894
cmp eax, 0x3c
jle 0x41f8a4
test eax, eax
jne 0x41f8ab
mov eax, dword [ecx + 0x82c]
cmp dword [eax + 0x24], 0x23
jne 0x41f8ab
mov ecx, ebx
call fcn.00429500
mov eax, dword [ebx]
xor edi, edi
cmp dword [eax + 0x768], edi
je 0x41f918
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x19
je 0x41f921
cmp ecx, edi
jne 0x41f8d2
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 0x19
je 0x41f921
cmp dword [eax + 0x768], edi
je 0x41f918
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x2f
je 0x41f921
cmp ecx, edi
jne 0x41f8f5
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 0x28
je 0x41f921
cmp dword [eax + 0x768], edi
je 0x41f918
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x30
je 0x41f921
cmp ecx, edi
jne 0x41f918
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 0x2d
je 0x41f921
cmp dword [eax + 0x7f8], 0x15
jne 0x41f941
mov edx, dword [ebx + 4]
mov ecx, 0xc8
mov dword [edx + 0x559c], ecx
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x559c]
mov dword [eax + 0x55a0], edx
mov dword [ebx + 0x5c], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x7f8]
cmp ecx, 1
mov esi, 0xf
jl 0x41facb
cmp ecx, esi
jg 0x41facb
cmp dword [ebx + 0x6c], edi
jne 0x41facb
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], edi
mov byte [esp + 0x30], 0
mov eax, ecx
lea ecx, [eax - 1]
cmp ecx, 4
mov dword [esp + 0x224], edi
ja 0x41f9d0
push 0x16
push str._ADVICE_SURVIVE_FLAGS_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
call fcn.00404330
lea edx, [esp + 0x4c]
push 5
push edx
mov ecx, str.FLAGS
lea edx, [esp + 0x18]
mov byte [esp + 0x22c], 1
call fcn.00513720
add esp, 8
push 0xffffffffffffffff
mov byte [esp + 0x228], 2
push edi
jmp 0x41fa16
add eax, 0xfffffffa
cmp eax, 4
ja 0x41fa66
push str._ADVICE_SURVIVE_FLAGS_
lea ecx, [esp + 0x14]
call fcn.00404450
lea edx, [esp + 0x4c]
push 0xa
push edx
mov ecx, str.FLAGS
lea edx, [esp + 0x18]
mov byte [esp + 0x22c], 3
call fcn.00513720
add esp, 8
push 0xffffffffffffffff
mov byte [esp + 0x228], 4
push 0
push eax
lea ecx, [esp + 0x38]
call fcn.00403e20
mov edi, 0x10
cmp dword [esp + 0x64], edi
jb 0x41fa38
mov eax, dword [esp + 0x50]
push eax
call fcn.0061c19a
add esp, 4
mov byte [esp + 0x224], 0
cmp dword [esp + 0x28], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
jb 0x41fa76
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0061c19a
add esp, 4
jmp 0x41fa76
push 0x18
push str._ADVICE_SURVIVE_ENDLESS_
lea ecx, [esp + 0x34]
call fcn.00404330
mov edi, dword [ebx + 4]
cmp byte [edi + 0x55e7], 0
jne 0x41faac
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x2c]
mov byte [edi + 0x55e7], 1
call fcn.00459010
mov dword [edi + 0x55ec], 0x3f
mov esi, 0xf
mov dword [esp + 0x224], 0xffffffff
cmp dword [esp + 0x44], 0x10
jb 0x41facb
mov edx, dword [esp + 0x30]
push edx
call fcn.0061c19a
add esp, 4
mov eax, dword [ebx]
cmp dword [eax + 0x7f8], 0x1f
jne 0x41fc79
xor edi, edi
cmp dword [ebx + 0x6c], edi
jne 0x41fc79
push 0x16
push str._ADVICE_SURVIVE_FLAGS_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
call fcn.00404330
lea ecx, [esp + 0x4c]
push 5
push ecx
mov ecx, str.FLAGS
lea edx, [esp + 0x18]
mov dword [esp + 0x22c], 5
call fcn.00513720
add esp, 8
mov byte [esp + 0x224], 7
cmp dword [esp + 0x28], 0x10
jb 0x41fb41
mov edx, dword [esp + 0x14]
push edx
call fcn.0061c19a
add esp, 4
mov eax, dword [ebx + 4]
cmp byte [eax + 0x55e7], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edi
mov byte [esp + 0x14], 0
mov dword [esp + 0x48], eax
jne 0x41fc5a
mov esi, dword [eax + 0x140]
lea edx, [esp + 0x4c]
lea edi, [esp + 0x2c]
mov byte [eax + 0x55e7], 1
call fcn.00519520
mov byte [esp + 0x224], 8
cmp dword [esi + 0x290], 0xffffffff
je 0x41fbec
cmp dword [esi + 0x88], 0
jle 0x41fbec
mov edi, dword [esp + 0x44]
cmp edi, 0x10
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x318], 0xd
jae 0x41fbb1
lea ecx, [esp + 0x30]
lea edx, [esi + 0x298]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x41fbb7
mov eax, dword [esi + 0x294]
mov ecx, dword [esi + 0x88]
add eax, 0x65
cmp ecx, eax
jge 0x41fbda
mov eax, ecx
cmp edi, 0x10
mov dword [esi + 0x88], eax
jb 0x41fc4c
mov eax, dword [esp + 0x30]
push eax
jmp 0x41fc44
mov edi, esi
call fcn.00458fc0
mov edi, dword [esp + 0x44]
cmp edi, 0x10
mov ecx, dword [esp + 0x30]
jae 0x41fc04
lea ecx, [esp + 0x30]
lea edx, [esi + 4]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x41fc07
cmp edi, 0x10
mov eax, 0x1f4
mov dword [esi + 0x8c], 0xd
mov dword [esi + 0x290], 0xffffffff
mov dword [esi + 0x88], eax
mov dword [esi + 0x84], eax
jb 0x41fc4c
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0061c19a
add esp, 4
mov edx, dword [esp + 0x48]
mov dword [edx + 0x55ec], 0x3f
mov dword [esp + 0x224], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x41fc79
mov eax, dword [esp + 0x50]
push eax
call fcn.0061c19a
add esp, 4
mov ecx, dword [ebx]
cmp dword [ecx + 0x7f8], 0x24
jne 0x41fcef
push 0x19
push str._ADVICE_FILL_IN_WALLNUTS_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
call fcn.00404330
mov dword [esp + 0x224], 9
mov edi, dword [ebx + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.00459010
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 0x10
jb 0x41fcef
mov edx, dword [esp + 0x14]
push edx
call fcn.0061c19a
add esp, 4
mov eax, dword [ebx]
cmp dword [eax + 0x7f8], 0x28
jne 0x41fd65
push 0x17
push str._ADVICE_FILL_IN_SPACES_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
call fcn.00404330
mov dword [esp + 0x224], 0xa
mov edi, dword [ebx + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.00459010
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 0x10
jb 0x41fd65
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0061c19a
add esp, 4
mov edx, dword [ebx]
cmp dword [edx + 0x7f8], 0x16
jne 0x41fddb
push 0x1a
push str._ADVICE_FILL_IN_STARFRUIT_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
call fcn.00404330
mov dword [esp + 0x224], 0xb
mov edi, dword [ebx + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.00459010
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 0x10
jb 0x41fddb
mov eax, dword [esp + 0x14]
push eax
call fcn.0061c19a
add esp, 4
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x41fdfa
cmp dword [eax + 0x7f8], 0x12
jne 0x41fdfa
mov ecx, dword [ebx + 4]
push 0xd
push ecx
call fcn.00414cb0
mov edx, dword [ebx]
mov eax, dword [edx + 0x7f8]
cmp eax, 0x14
je 0x41fe10
cmp eax, 0x18
jne 0x41ff51
mov eax, dword [ebx + 4]
mov dword [eax + 0x559c], 0xc8
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x559c]
mov dword [eax + 0x55a0], ecx
mov dword [ebx + 0x58], 0x5dc
push ebx
lea ebx, [esp + 0x144]
call fcn.0041f320
mov esi, dword [ebp + 8]
push esi
lea ebx, [esp + 0x6c]
call fcn.0041f320
xor ebx, ebx
push ebx
lea edx, [esp + 0x6c]
push edx
push esi
call fcn.004216e0
push esi
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x144]
call fcn.00421750
mov eax, esi
call fcn.00420db0
mov eax, dword [esi]
mov eax, dword [eax + 0x7f8]
cmp eax, 0x14
jne 0x41fede
push 0x22
push str._ADVICE_BEGHOULED_DRAG_TO_MATCH_3_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
call fcn.00404330
mov dword [esp + 0x224], 0xc
mov edi, dword [esi + 4]
mov esi, dword [edi + 0x140]
lea ecx, [ebx + 7]
lea edx, [esp + 0x10]
call fcn.00459010
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 0x10
jb 0x41ff4e
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x41ff46
cmp eax, 0x18
jne 0x41ff4e
xor eax, eax
push 0x23
push str._ADVICE_BEGHOULED_TWIST_TO_MATCH_3_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], eax
mov byte [esp + 0x1c], al
call fcn.00404330
mov edx, dword [ebp + 8]
mov dword [esp + 0x224], 0xd
mov edi, dword [edx + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.00459010
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 0x10
jb 0x41ff4e
mov eax, dword [esp + 0x14]
push eax
call fcn.0061c19a
add esp, 4
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
mov ecx, dword [eax + 0x7f8]
je 0x41ffab
test ecx, ecx
jne 0x41ffab
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 0xa
je 0x41ff88
test ecx, ecx
jne 0x41ffab
cmp dword [edx + 0x24], 0x14
je 0x41ff88
test ecx, ecx
jne 0x41ffab
mov eax, edx
cmp dword [eax + 0x24], 0x1e
jne 0x41ffab
mov ecx, dword [ebx + 4]
mov dword [ecx + 0x559c], 0x64
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x559c]
mov dword [eax + 0x55a0], edx
mov dword [ebx + 0x5c], 0xc8
mov eax, dword [ebx]
cmp dword [eax + 0x7f8], 0x1a
jne 0x41ffbd
mov edi, ebx
call fcn.00426fc0
mov edx, dword [ebx]
cmp dword [edx + 0x7f8], 0x1b
jne 0x41ffe2
mov eax, dword [ebx + 4]
mov dword [eax + 0x557c], 9
mov ecx, dword [ebx + 4]
mov dword [ecx + 0x559c], 0x960
mov edx, dword [ebx]
mov eax, dword [edx + 0x7f8]
jmp 0x7a0096