Function at 0x4100c2
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x1c
mov esi, dword [ebp + 8]
cmp esi, 0x52
je 0x41025f
jg 0x410170
cmp esi, 0x47
je 0x41023b
jg 0x41013b
cmp esi, 0x33
je 0x4102b6
jg 0x41012d
cmp esi, 0x31
je 0x410293
cmp esi, 0x32
jne 0x4102ed
mov eax, dword [ebx + 0x1b9b84]
mov dword [ecx + 0x1b9af8], 0
lea ecx, [ecx + 0x2e8]
mov dword [esp], 2
mov dword [esp + 4], eax
jmp 0x4102d7
cmp esi, 0x42
je 0x4101ff
cmp esi, 0x45
jmp 0x41019d
cmp esi, 0x4d
je 0x41022b
jg 0x41015d
cmp esi, 0x48
je 0x4101f6
cmp esi, 0x4b
je 0x4101ea
jmp 0x4102ed
cmp esi, 0x4e
je 0x41027c
cmp esi, 0x50
je 0x4101de
jmp 0x4102ed
cmp esi, 0x73
je 0x410208
jg 0x4101ac
cmp esi, 0x70
je 0x4101f6
jg 0x410195
cmp esi, 0x53
je 0x41021b
cmp esi, 0x54
je 0x410208
jmp 0x4102ed
cmp esi, 0x71
je 0x4101ff
cmp esi, 0x72
jne 0x4102ed
mov dword [esp], 0xfffffffd
jmp 0x41020f
cmp esi, 0x76
je 0x41023b
jg 0x4101c6
cmp esi, 0x74
je 0x41021b
cmp esi, 0x75
je 0x41022b
jmp 0x4102ed
cmp esi, 0x7a
je 0x4101ea
cmp esi, 0x7b
je 0x4101de
cmp esi, 0x77
jne 0x4102ed
jmp 0x41025f
mov ecx, ebx
call method.Window.savescr__
jmp 0x4102ed
mov ecx, ebx
call method.Window.switchskin__
jmp 0x4102ed
mov dword [esp], 1
jmp 0x41020f
mov dword [esp], 0xffffffff
jmp 0x41020f
mov dword [esp], 0xfffffffe
mov ecx, ebx
call method.Window.sethelp_long_
jmp 0x4102ec
lea ecx, [ebx + 0x3d8a8]
call method.Sound.switchsound__
jmp 0x4102ed
lea ecx, [ebx + 0x3d8a8]
call method.Sound.switchmusic__
jmp 0x4102ed
mov eax, dword [ebx + 0x1b9b84]
mov ecx, 4
inc eax
cdq
idiv ecx
mov dword [ebx + 0x1b9b84], edx
dec edx
jle 0x410266
mov dword [ebx + 0x3d9c0], 0
jmp 0x410266
xor byte [ebx + 0x1b9b9c], 1
mov eax, dword [ebx + 0x3d908]
lea ecx, [ebx + 0x3d8a8]
mov dword [esp], eax
call method.Sound.playsound_long_
jmp 0x4102ec
mov dword [ecx + 0x1b9af8], 0
lea ecx, [ecx + 0x2e8]
call method.Board.initbd__
jmp 0x4102de
mov eax, dword [ebx + 0x1b9b84]
mov dword [ecx + 0x1b9af8], 0
lea ecx, [ecx + 0x2e8]
mov dword [esp], 1
mov dword [esp + 4], eax
jmp 0x4102d7
mov eax, dword [ebx + 0x1b9b84]
mov dword [ecx + 0x1b9af8], 0
lea ecx, [ecx + 0x2e8]
mov dword [esp], 3
mov dword [esp + 4], eax
call method.Board.initbd_long__long_
push edx
push edx
mov dword [esp], 0
mov ecx, ebx
call method.Window.initwindow_bool_
push eax
cmp esi, 0x43
jne 0x410306
cmp byte [ebx + 0x1b9afd], 0
je 0x410306
lea ecx, [ebx + 0x2c310]
call method.Steam.resetach__
cmp dword [ebx + 0x1b9af8], 0xfffffffe
jne 0x41033e
cmp esi, 9
jne 0x41033e
mov eax, dword [ebx + 0x1b9b98]
mov ecx, 5
inc eax
cdq
idiv ecx
mov eax, dword [ebx + 0x3d908]
lea ecx, [ebx + 0x3d8a8]
mov dword [esp], eax
mov dword [ebx + 0x1b9b98], edx
call method.Sound.playsound_long_
push eax
cmp dword [ebx + 0x1b9af8], 0
jne 0x41075a
cmp dword [ebx + 0x3d9c8], 0xffffffff
jne 0x4103a6
cmp dword [ebx + 0x3d9cc], 0xffffffff
jne 0x4103a6
lea ecx, [esi - 0x41]
mov eax, 1
cmp ecx, 0x16
ja 0x410373
mov eax, 0x440009
shr eax, cl
not eax
test al, 1
je 0x410383
mov eax, esi
and eax, 0xfffffffd
cmp eax, 0xbc
jne 0x4103a6
mov eax, dword [ebx + 0x2e8]
mov ecx, 2
cdq
idiv ecx
mov dword [ebx + 0x3d9c8], eax
mov eax, dword [ebx + 0x2ec]
sub eax, 3
mov dword [ebx + 0x3d9cc], eax
cmp esi, 0x44
je 0x4105bb
jg 0x410409
cmp esi, 0x25
je 0x41051b
jg 0x4103e3
cmp esi, 0x20
je 0x4104d8
jg 0x4103cc
cmp esi, 0x1b
jmp 0x410422
cmp esi, 0x21
je 0x41055d
cmp esi, 0x22
je 0x410585
jmp 0x4106b5
cmp esi, 0x27
je 0x410535
jl 0x41053d
cmp esi, 0x28
je 0x410545
cmp esi, 0x41
je 0x4105a7
jmp 0x4106b5
cmp esi, 0x6b
je 0x410555
jg 0x410449
cmp esi, 0x53
je 0x4105ee
jg 0x410432
cmp esi, 0x51
jne 0x4106b5
call sym._CloseWin48
jmp 0x4106b5
cmp esi, 0x55
je 0x410676
cmp esi, 0x57
je 0x4105da
jmp 0x4106b5
cmp esi, 0xbc
je 0x41060d
jg 0x410471
cmp esi, 0x6d
je 0x41054d
cmp esi, 0xbb
je 0x410555
jmp 0x4106b5
cmp esi, 0xbd
je 0x41054d
cmp esi, 0xbe
jne 0x4106b5
mov dword [ebx + 0x1b9b8c], 0xffffffff
mov dword [ebx + 0x1b9b90], 0xffffffff
mov ecx, ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0
call method.Window.tutevent_long__long__bool_
mov eax, dword [ebx + 0x1b9b84]
sub esp, 0xc
mov dword [esp + 8], 2
add eax, 4
mov dword [esp + 0xc], eax
jmp 0x410657
cmp dword [ebx + 0x2f4], 0
jle 0x4106b5
lea ecx, [ebx + 0x2e8]
call method.Board.pause__
mov eax, dword [ebx + 0x3d918]
lea ecx, [ebx + 0x3d8a8]
mov dword [esp], eax
call method.Sound.playsound_long_
push eax
mov eax, dword [ebx + 0x3622c]
lea ecx, [ebx + 0x2c310]
mov dword [esp], eax
call method.Steam.addach_long_
jmp 0x41052f
dec dword [ebx + 0x2e8]
mov dword [esp], 1
mov ecx, ebx
call method.Window.initwindow_bool_
push eax
jmp 0x4106b5
inc dword [ebx + 0x2e8]
jmp 0x410521
dec dword [ebx + 0x2ec]
jmp 0x410521
inc dword [ebx + 0x2ec]
jmp 0x410521
dec dword [ebx + 0x2f0]
jmp 0x410521
inc dword [ebx + 0x2f0]
jmp 0x410521
mov edx, dword [ebx + 0x2ec]
mov eax, dword [ebx + 0x3d95c]
lea ecx, [edx - 3]
cmp ecx, eax
jg 0x410573
lea eax, [edx - 4]
dec eax
test eax, eax
mov dword [ebx + 0x3d95c], eax
jg 0x41059c
mov eax, 1
jmp 0x41059c
mov edx, dword [ebx + 0x2ec]
mov eax, dword [ebx + 0x3d95c]
lea ecx, [edx - 3]
inc eax
cmp eax, ecx
jl 0x41059c
lea eax, [edx - 4]
mov dword [ebx + 0x3d95c], eax
jmp 0x410521
dec dword [ebx + 0x3d9c8]
mov eax, dword [ebx + 0x3d9c8]
test eax, eax
jns 0x4105cf
xor eax, eax
jmp 0x4105cf
mov eax, dword [ebx + 0x3d9c8]
mov edx, dword [ebx + 0x2e8]
inc eax
cmp eax, edx
jl 0x4105cf
lea eax, [edx - 1]
mov dword [ebx + 0x3d9c8], eax
jmp 0x4106b5
dec dword [ebx + 0x3d9cc]
mov eax, dword [ebx + 0x3d9cc]
test eax, eax
jns 0x410602
xor eax, eax
jmp 0x410602
mov eax, dword [ebx + 0x3d9cc]
mov edx, dword [ebx + 0x2ec]
inc eax
cmp eax, edx
jl 0x410602
lea eax, [edx - 1]
mov dword [ebx + 0x3d9cc], eax
jmp 0x4106b5
mov dword [ebx + 0x1b9b8c], 0xffffffff
mov dword [ebx + 0x1b9b90], 0xffffffff
mov ecx, ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0
call method.Window.tutevent_long__long__bool_
mov eax, dword [ebx + 0x1b9b84]
sub esp, 0xc
mov dword [esp + 8], 1
add eax, 4
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x3d9cc]
mov ecx, ebx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x3d9c8]
mov dword [esp], eax
call method.Window.mouseeventboard__long__long__long__long_
sub esp, 0x10
jmp 0x4106b5
lea edi, [ebx + 0x2e8]
mov ecx, edi
call method.Board.addline__
mov eax, dword [ebx + 0x3d908]
lea ecx, [ebx + 0x3d8a8]
mov dword [esp], eax
call method.Sound.playsound_long_
push eax
mov ecx, ebx
call method.Window.paintevent__
mov ecx, edi
mov dword [esp], 1
call method.Board.checkline_bool_
push eax
mov ecx, edi
call method.Board.checkdie__
cmp byte [ebx + 0x1b9afd], 0
je 0x410805
lea eax, [esi - 0x30]
cmp eax, 9
ja case.0x4106ca.49
jmp dword [eax*4 + 0x425910]
lea ecx, [ebx + 0x2e8]
call method.Board.solve2__
jmp case.0x4106ca.49
lea ecx, [ebx + 0x2e8]
call method.Board.solve1__
jmp case.0x4106ca.49
lea ecx, [ebx + 0x2e8]
call method.Board.solve2___
jmp case.0x4106ca.49
lea ecx, [ebx + 0x2e8]
call method.Board.solve1___
jmp case.0x4106ca.49
lea ecx, [ebx + 0x2e8]
call method.Board.solveblank___
jmp case.0x4106ca.49
mov eax, dword [ebx + 0x2ec]
lea ecx, [ebx + 0x2e8]
dec eax
mov dword [esp], eax
call method.Board.delline_long_
push edi
jmp case.0x4106ca.49
inc dword [ebx + 0x3d968]
sub esi, 0x31
cmp esi, 2
jbe 0x410805
mov ecx, ebx
call method.Window.paintevent__
lea ecx, [ebx + 0x2e8]
mov dword [esp], 1
call method.Board.checkline_bool_
jmp 0x410804
lea ecx, [esi - 0xd]
mov eax, 1
cmp ecx, 0x13
ja 0x410770
mov eax, 0x84001
shr eax, cl
not eax
test al, 1
je 0x410779
cmp esi, 0x51
jne 0x410788
mov ecx, ebx
mov dword [esp], 0
call method.Window.sethelp_long_
push ecx
mov eax, dword [ebx + 0x1b9af8]
test eax, eax
jle 0x410805
cmp esi, 0x25
jne 0x4107b9
cmp eax, 1
je 0x410805
dec eax
lea ecx, [ebx + 0x3d8a8]
mov dword [ebx + 0x1b9af8], eax
mov eax, dword [ebx + 0x3d908]
mov dword [esp], eax
call method.Sound.playsound_long_
jmp 0x410804
cmp esi, 0x27
jne 0x410805
cmp eax, dword [ebx + 0x1b9af4]
jge 0x410805
inc eax
lea ecx, [ebx + 0x3d8a8]
mov dword [ebx + 0x1b9af8], eax
mov eax, dword [ebx + 0x3d908]
mov dword [esp], eax
call method.Sound.playsound_long_
mov eax, dword [ebx + 0x1b9af4]
cmp dword [ebx + 0x1b9af8], eax
push edx
jne 0x410805
mov eax, dword [ebx + 0x36230]
lea ecx, [ebx + 0x2c310]
mov dword [esp], eax
call method.Steam.addach_long_
push eax
mov ecx, ebx
call method.Window.paintevent__
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4