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
mov dword [ecx + eax], edi
mov ecx, dword [ebx + 4]
mov dword [eax + ecx + 0x18], edx
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 3
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]
cmp eax, 0x29
je 0x41fff4
cmp eax, 0x1c
jne 0x420001
mov eax, dword [ebx + 4]
mov dword [eax + 0x559c], 0x1194
mov ecx, dword [ebx]
cmp dword [ecx + 0x7f8], 0x22
jne 0x420019
mov edx, dword [ebx + 4]
mov dword [edx + 0x559c], 0x157c
mov eax, dword [ebx]
cmp dword [eax + 0x7f8], 0x17
jne 0x4200cb
push 0x23
push str._ADVICE_ZOMBIQUARIUM_CLICK_TO_FEED_
lea ecx, [esp + 0x34]
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], 0
mov byte [esp + 0x38], 0
call fcn.00404330
mov dword [esp + 0x224], 0xe
mov edi, dword [ebx + 4]
cmp byte [edi + 0x55da], 0
jne 0x420089
mov esi, dword [edi + 0x140]
mov ecx, 9
lea edx, [esp + 0x2c]
mov byte [edi + 0x55da], 1
call fcn.00459010
mov dword [edi + 0x55ec], 0x32
mov dword [esp + 0x224], 0xffffffff
cmp dword [esp + 0x44], 0x10
jb 0x4200a8
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0061c19a
add esp, 4
mov eax, ebx
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
call fcn.00427d30
mov eax, ebx
call fcn.00427d30
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x420114
mov eax, dword [eax + 0x7f8]
cmp eax, 0x3d
je 0x42010e
cmp eax, 0x3e
je 0x42010e
cmp eax, 0x3f
je 0x42010e
cmp eax, 0x40
je 0x42010e
cmp eax, 0x41
je 0x42010e
cmp eax, 0x42
je 0x42010e
cmp eax, 0x43
je 0x42010e
cmp eax, 0x44
je 0x42010e
cmp eax, 0x45
je 0x42010e
cmp eax, 0x46
jne 0x420114
push ebx
call fcn.0042b290
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x42012e
cmp dword [eax + 0x7f8], 0x31
jne 0x42012e
push ebx
call fcn.0042bb10
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4