Function at 0x421330
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x65a65a
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 0x4213a9
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x1e
je 0x42137d
test ecx, ecx
jne 0x4213a9
mov eax, dword [eax + 0x82c]
cmp dword [eax + 0x24], 0xf
jne 0x4213a9
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 0x4213de
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x2f
je 0x4213d4
test ecx, ecx
jne 0x4213de
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 0x28
jne 0x4213de
mov dword [ebx + 0x54], 5
mov dword [ebx + 0x58], edi
cmp dword [eax + 0x7f8], 0x1c
mov esi, 2
jne 0x421413
mov eax, 0x60c
mov edx, 0x7fffffff
mov ecx, dword [ebx + 4]
cmp dword [ecx + eax - 0x34], esi
je 0x421409
mov dword [ecx + eax], edi
mov ecx, dword [ebx + 4]
mov dword [eax + ecx + 0x18], edx
add eax, 4
cmp eax, 0x624
jl 0x4213f6
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x42146d
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x11
je 0x42143e
cmp ecx, 0x21
je 0x42143e
test ecx, ecx
jne 0x42146d
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 5
jne 0x42146d
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.0048d7c0
mov dword [ebx + 0x5c], edi
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x42149c
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x11
je 0x421498
cmp ecx, 0x21
je 0x421498
test ecx, ecx
jne 0x42149c
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 5
jne 0x42149c
mov byte [ebx + 0x64], 1
mov eax, dword [eax + 0x7f8]
cmp eax, 0x2e
je 0x4214ac
cmp eax, 0x31
jne 0x4214d2
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.0040e620
add esi, 1
cmp esi, 5
jl 0x4214b2
add edi, 1
cmp edi, 9
jl 0x4214b0
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x7f8]
cmp eax, 0x33
jl 0x4214e4
cmp eax, 0x3c
jle 0x4214f8
xor esi, esi
cmp eax, esi
jne 0x421501
mov eax, dword [ecx + 0x82c]
cmp dword [eax + 0x24], 0x23
jne 0x421501
jmp 0x4214fa
xor esi, esi
mov ecx, ebx
call fcn.0042b180
mov eax, dword [ebx]
cmp dword [eax + 0x768], esi
je 0x42156c
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x19
je 0x421575
cmp ecx, esi
jne 0x421526
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 0x19
je 0x421575
cmp dword [eax + 0x768], esi
je 0x42156c
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x2f
je 0x421575
cmp ecx, esi
jne 0x421549
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 0x28
je 0x421575
cmp dword [eax + 0x768], esi
je 0x42156c
mov ecx, dword [eax + 0x7f8]
cmp ecx, 0x30
je 0x421575
cmp ecx, esi
jne 0x42156c
mov ecx, dword [eax + 0x82c]
cmp dword [ecx + 0x24], 0x2d
je 0x421575
cmp dword [eax + 0x7f8], 0x15
jne 0x421595
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
jl 0x42174b
cmp ecx, 0xf
jg 0x42174b
cmp dword [ebx + 0x6c], esi
jne 0x42174b
mov edi, 7
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], esi
mov word [esp + 0x34], si
mov eax, ecx
lea ecx, [eax - 1]
cmp ecx, 4
mov dword [esp + 0x224], esi
ja 0x421654
push 0x16
push 0x66306c
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov word [esp + 0x1c], si
call fcn.00404f80
lea edx, [esp + 0x4c]
push 5
push edx
mov ecx, str.FLAGS
lea edx, [esp + 0x18]
mov byte [esp + 0x22c], 1
call fcn.00517980
add esp, 8
push 0xffffffffffffffff
push esi
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x230], 2
call fcn.00404e90
cmp dword [esp + 0x64], 8
jb 0x421641
mov eax, dword [esp + 0x50]
push eax
call fcn.0062414c
add esp, 4
mov byte [esp + 0x224], 0
cmp dword [esp + 0x28], 8
mov dword [esp + 0x64], edi
jmp 0x4216cf
add eax, 0xfffffffa
cmp eax, 4
ja 0x4216e9
push 0x66306c
lea ecx, [esp + 0x14]
call fcn.00404d70
lea edx, [esp + 0x4c]
push 0xa
push edx
mov ecx, str.FLAGS
lea edx, [esp + 0x18]
mov byte [esp + 0x22c], 3
call fcn.00517980
add esp, 8
push 0xffffffffffffffff
push esi
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x230], 4
call fcn.00404e90
mov edi, 8
cmp dword [esp + 0x64], edi
jb 0x4216bb
mov eax, dword [esp + 0x50]
push eax
call fcn.0062414c
add esp, 4
mov byte [esp + 0x224], 0
cmp dword [esp + 0x28], edi
mov dword [esp + 0x64], 7
mov word [esp + 0x50], si
mov dword [esp + 0x60], esi
jb 0x4216f9
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0062414c
add esp, 4
jmp 0x4216f9
push 0x18
push str._ADVICE_SURVIVE_ENDLESS_
lea ecx, [esp + 0x38]
call fcn.00404f80
mov edi, dword [ebx + 4]
cmp byte [edi + 0x55e7], 0
jne 0x42172c
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x30]
mov byte [edi + 0x55e7], 1
call fcn.0045c4a0
mov dword [edi + 0x55ec], 0x3f
xor esi, esi
mov dword [esp + 0x224], 0xffffffff
cmp dword [esp + 0x48], 8
jb 0x42174b
mov edx, dword [esp + 0x34]
push edx
call fcn.0062414c
add esp, 4
mov eax, dword [ebx]
cmp dword [eax + 0x7f8], 0x1f
jne 0x421908
cmp dword [ebx + 0x6c], esi
jne 0x421908
push 0x16
mov edi, 7
push 0x66306c
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov word [esp + 0x1c], si
call fcn.00404f80
lea ecx, [esp + 0x4c]
push 5
push ecx
mov ecx, str.FLAGS
lea edx, [esp + 0x18]
mov dword [esp + 0x22c], 5
call fcn.00517980
add esp, 8
mov byte [esp + 0x224], 7
cmp dword [esp + 0x28], 8
jb 0x4217c4
mov edx, dword [esp + 0x14]
push edx
call fcn.0062414c
add esp, 4
mov eax, dword [ebx + 4]
cmp byte [eax + 0x55e7], 0
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], esi
mov word [esp + 0x14], si
mov dword [esp + 0x2c], eax
jne 0x4218e9
mov esi, dword [eax + 0x140]
lea edx, [esp + 0x4c]
lea edi, [esp + 0x30]
mov byte [eax + 0x55e7], 1
call fcn.0051d780
mov byte [esp + 0x224], 8
cmp dword [esi + 0x310], 0xffffffff
je 0x421878
cmp dword [esi + 0x108], 0
jle 0x421878
mov edi, dword [esp + 0x48]
cmp edi, 8
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x418], 0xd
jae 0x421834
lea ecx, [esp + 0x34]
lea edx, [esi + 0x318]
lea ebx, [ebx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x421840
mov eax, dword [esi + 0x314]
mov ecx, dword [esi + 0x108]
add eax, 0x65
cmp ecx, eax
jge 0x421866
mov eax, ecx
cmp edi, 8
mov dword [esi + 0x108], eax
jb 0x4218db
mov eax, dword [esp + 0x34]
push eax
jmp 0x4218d3
mov edi, esi
call fcn.0045c450
mov edi, dword [esp + 0x48]
cmp edi, 8
mov ecx, dword [esp + 0x34]
jae 0x421890
lea ecx, [esp + 0x34]
lea edx, [esi + 4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x421893
cmp edi, 8
mov eax, 0x1f4
mov dword [esi + 0x10c], 0xd
mov dword [esi + 0x310], 0xffffffff
mov dword [esi + 0x108], eax
mov dword [esi + 0x104], eax
jb 0x4218db
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062414c
add esp, 4
mov edx, dword [esp + 0x2c]
mov dword [edx + 0x55ec], 0x3f
mov dword [esp + 0x224], 0xffffffff
cmp dword [esp + 0x64], 8
jb 0x421908
mov eax, dword [esp + 0x50]
push eax
call fcn.0062414c
add esp, 4
mov ecx, dword [ebx]
cmp dword [ecx + 0x7f8], 0x24
jne 0x42197c
xor eax, eax
push 0x19
push str._ADVICE_FILL_IN_WALLNUTS_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], eax
mov word [esp + 0x1c], ax
call fcn.00404f80
mov dword [esp + 0x224], 9
mov edi, dword [ebx + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.0045c4a0
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 8
jb 0x42197c
mov edx, dword [esp + 0x14]
push edx
call fcn.0062414c
add esp, 4
mov eax, dword [ebx]
cmp dword [eax + 0x7f8], 0x28
jne 0x4219f0
xor eax, eax
push 0x17
push str._ADVICE_FILL_IN_SPACES_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], eax
mov word [esp + 0x1c], ax
call fcn.00404f80
mov dword [esp + 0x224], 0xa
mov edi, dword [ebx + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.0045c4a0
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 8
jb 0x4219f0
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0062414c
add esp, 4
mov edx, dword [ebx]
cmp dword [edx + 0x7f8], 0x16
jne 0x421a64
xor eax, eax
push 0x1a
push str._ADVICE_FILL_IN_STARFRUIT_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], eax
mov word [esp + 0x1c], ax
call fcn.00404f80
mov dword [esp + 0x224], 0xb
mov edi, dword [ebx + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.0045c4a0
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 8
jb 0x421a64
mov eax, dword [esp + 0x14]
push eax
call fcn.0062414c
add esp, 4
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x421a83
cmp dword [eax + 0x7f8], 0x12
jne 0x421a83
mov ecx, dword [ebx + 4]
push 0xd
push ecx
call fcn.00416250
mov edx, dword [ebx]
mov eax, dword [edx + 0x7f8]
cmp eax, 0x14
je 0x421a99
cmp eax, 0x18
jne 0x421bda
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.00420f70
mov esi, dword [ebp + 8]
push esi
lea ebx, [esp + 0x6c]
call fcn.00420f70
xor edi, edi
push edi
mov edx, ebx
push edx
push esi
call fcn.00423330
push esi
mov eax, ebx
lea ecx, [esp + 0x144]
call fcn.004233a0
mov eax, esi
call fcn.00422a30
mov eax, dword [esi]
mov eax, dword [eax + 0x7f8]
cmp eax, 0x14
jne 0x421b66
push 0x22
push str._ADVICE_BEGHOULED_DRAG_TO_MATCH_3_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], edi
mov word [esp + 0x1c], di
call fcn.00404f80
mov dword [esp + 0x224], 0xc
mov edi, dword [esi + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x10]
call fcn.0045c4a0
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 8
jb 0x421bd7
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x421bcf
cmp eax, 0x18
jne 0x421bd7
xor eax, eax
push 0x23
push str._ADVICE_BEGHOULED_TWIST_TO_MATCH_3_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], eax
mov word [esp + 0x1c], ax
call fcn.00404f80
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.0045c4a0
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x224], eax
cmp dword [esp + 0x28], 8
jb 0x421bd7
mov eax, dword [esp + 0x14]
push eax
call fcn.0062414c
add esp, 4
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
mov ecx, dword [eax + 0x7f8]
je 0x421c34
test ecx, ecx
jne 0x421c34
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x24], 0xa
je 0x421c11
test ecx, ecx
jne 0x421c34
cmp dword [edx + 0x24], 0x14
je 0x421c11
test ecx, ecx
jne 0x421c34
mov eax, edx
cmp dword [eax + 0x24], 0x1e
jne 0x421c34
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 0x421c46
mov edi, ebx
call fcn.00428c50
mov edx, dword [ebx]
cmp dword [edx + 0x7f8], 0x1b
jne 0x421c6b
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 0x421c7d
cmp eax, 0x1c
jne 0x421c8a
mov eax, dword [ebx + 4]
mov dword [eax + 0x559c], 0x1194
mov ecx, dword [ebx]
cmp dword [ecx + 0x7f8], 0x22
jne 0x421ca2
mov edx, dword [ebx + 4]
mov dword [edx + 0x559c], 0x157c
mov eax, dword [ebx]
cmp dword [eax + 0x7f8], 0x17
jne 0x421d50
xor eax, eax
push 0x23
push str._ADVICE_ZOMBIQUARIUM_CLICK_TO_FEED_
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], eax
mov word [esp + 0x3c], ax
call fcn.00404f80
mov dword [esp + 0x224], 0xe
mov edi, dword [ebx + 4]
cmp byte [edi + 0x55da], 0
jne 0x421d10
mov esi, dword [edi + 0x140]
mov ecx, 9
lea edx, [esp + 0x30]
mov byte [edi + 0x55da], 1
call fcn.0045c4a0
mov dword [edi + 0x55ec], 0x32
mov dword [esp + 0x224], 0xffffffff
cmp dword [esp + 0x48], 8
jb 0x421d2f
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062414c
add esp, 4
xor eax, eax
mov dword [esp + 0x44], eax
mov word [esp + 0x34], ax
mov eax, ebx
mov dword [esp + 0x48], 7
call fcn.004299b0
mov eax, ebx
call fcn.004299b0
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x421d99
mov eax, dword [eax + 0x7f8]
cmp eax, 0x3d
je 0x421d93
cmp eax, 0x3e
je 0x421d93
cmp eax, 0x3f
je 0x421d93
cmp eax, 0x40
je 0x421d93
cmp eax, 0x41
je 0x421d93
cmp eax, 0x42
je 0x421d93
cmp eax, 0x43
je 0x421d93
cmp eax, 0x44
je 0x421d93
cmp eax, 0x45
je 0x421d93
cmp eax, 0x46
jne 0x421d99
push ebx
call fcn.0042cf00
mov eax, dword [ebx]
cmp dword [eax + 0x768], 0
je 0x421db3
cmp dword [eax + 0x7f8], 0x31
jne 0x421db3
push ebx
call fcn.0042d780
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4