Function at 0x418c04
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
or dword [ebp - 0x1c], 0xffffffff
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
test al, al
je 0x419861
mov esi, dword [ebp + 0x10]
xor edi, edi
inc edi
movsx eax, al
push eax
call dword [sym.imp.MSVCR100.dll_isspace]
pop ecx
test eax, eax
jne 0x418bac
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
cmp al, 0x25
je 0x418bc3
mov cl, byte [ebx]
inc ebx
inc dword [ebp + 0xc]
cmp al, cl
je case.0x418bde.90
xor eax, eax
jmp 0x419863
inc ebx
movsx eax, byte [ebx]
push eax
call dword [sym.imp.MSVCR100.dll_isspace]
pop ecx
test eax, eax
jne 0x418bab
inc dword [ebp + 0xc]
jmp case.0x418bde.90
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
inc dword [ebp + 0xc]
sub eax, 0x25
cmp eax, 0x54
ja case.0x418bde.38
movzx eax, byte [eax + 0x4198e5]
jmp dword [eax*4 + 0x419869]
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
cmp al, 0x63
je 0x418bc6
cmp al, 0x43
je 0x418bc6
cmp al, 0x79
je 0x418bc6
cmp al, 0x59
je 0x418bc6
cmp al, 0x78
je 0x418bc6
cmp al, 0x58
je 0x418bc6
jmp case.0x418bde.38
mov al, byte [ebx]
inc ebx
cmp al, 0x25
jmp 0x418b9e
xor esi, esi
mov dword [ebp - 0xc], 0x42b558
mov edi, str.Sunday
mov eax, dword [ebp + 0x14]
cmp dword [eax], 1
je 0x418c52
push edi
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
push eax
push ebx
mov eax, edi
call fcn.00418a28
pop ecx
pop ecx
test eax, eax
je 0x418c64
push dword [ebp - 0xc]
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
push eax
mov eax, dword [ebp - 0xc]
push ebx
call fcn.00418a28
pop ecx
pop ecx
test eax, eax
je 0x418c70
add dword [ebp - 0xc], 4
add edi, 0xa
inc esi
cmp edi, 0x42b556
jl 0x418c19
jmp 0x418c8a
mov eax, esi
imul eax, eax, 0xa
add eax, str.Sunday
jmp 0x418c77
lea eax, [esi*4 + 0x42b558]
push eax
call dword [sym.imp.MSVCR100.dll_strlen]
add ebx, eax
mov eax, dword [ebp + 0x14]
pop ecx
mov dword [eax], 2
cmp esi, 7
je case.0x418bde.38
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x18], esi
mov dword [ebp - 0xc], 1
mov esi, eax
xor edi, edi
inc edi
jmp case.0x418bde.90
xor esi, esi
mov dword [ebp - 4], 0x42b5f0
mov edi, str.January
push edi
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
push eax
push ebx
mov eax, edi
call fcn.00418a28
pop ecx
pop ecx
test eax, eax
je 0x418cfb
push dword [ebp - 4]
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
push eax
mov eax, dword [ebp - 4]
push ebx
call fcn.00418a28
pop ecx
pop ecx
test eax, eax
je 0x418d07
add dword [ebp - 4], 4
add edi, 0xa
inc esi
cmp edi, 0x42b5f0
jl 0x418cb8
jmp 0x418d21
mov eax, esi
imul eax, eax, 0xa
add eax, str.January
jmp 0x418d0e
lea eax, [esi*4 + 0x42b5f0]
push eax
call dword [sym.imp.MSVCR100.dll_strlen]
add ebx, eax
mov eax, dword [ebp + 0x14]
pop ecx
mov dword [eax], 2
cmp esi, 0xc
je case.0x418bde.38
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x10], esi
mov dword [ebp - 4], 1
jmp 0x418ca0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
push str._a__b__e__H:_M:_S__Y
push ebx
call fcn.00418b41
mov ebx, eax
add esp, 0x14
test ebx, ebx
je case.0x418bde.38
jmp 0x419718
push 2
pop edx
xor ecx, ecx
jmp 0x418d68
inc ebx
cmp byte [ebx], 0x20
je 0x418d67
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x418da3
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x63
ja 0x418da3
mov al, byte [ebx]
cmp al, 0x30
jl 0x418da3
cmp al, 0x39
jle 0x418d7f
cmp ecx, 0x63
ja case.0x418bde.38
mov dword [ebp - 0x1c], ecx
jmp 0x419718
push 2
pop edx
xor ecx, ecx
jmp 0x418dbc
inc ebx
cmp byte [ebx], 0x20
je 0x418dbb
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x419706
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x1f
ja 0x419706
mov al, byte [ebx]
cmp al, 0x30
jl 0x419706
cmp al, 0x39
jle 0x418dd3
jmp 0x419706
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
push str._Y__m__d
jmp 0x418d48
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
push str._m__d__y
jmp 0x418d48
push 2
pop edx
xor ecx, ecx
jmp 0x418e32
inc ebx
cmp byte [ebx], 0x20
je 0x418e31
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41952c
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x17
ja 0x41952c
mov al, byte [ebx]
cmp al, 0x30
jl 0x41952c
cmp al, 0x39
jle 0x418e49
jmp 0x41952c
push 2
pop edx
xor eax, eax
jmp 0x418e86
inc ebx
cmp byte [ebx], 0x20
je 0x418e85
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x418bde.38
cmp cl, 0x39
jg case.0x418bde.38
imul eax, eax, 0xa
inc ebx
movsx ecx, cl
dec edx
lea eax, [eax + ecx - 0x30]
test edx, edx
jle 0x418ec5
mov ecx, eax
imul ecx, ecx, 0xa
cmp ecx, 0xc
ja 0x418ec5
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x418ec5
cmp cl, 0x39
jle 0x418e9f
lea ecx, [eax - 1]
cmp ecx, 0xb
ja case.0x418bde.38
push 0xc
xor edx, edx
pop ecx
div ecx
mov dword [esi + 8], edx
jmp 0x4194e1
push 3
pop edx
xor ecx, ecx
jmp 0x418ee8
inc ebx
cmp byte [ebx], 0x20
je 0x418ee7
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x418f25
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x16e
ja 0x418f25
mov al, byte [ebx]
cmp al, 0x30
jl 0x418f25
cmp al, 0x39
jle 0x418eff
lea eax, [ecx - 1]
cmp eax, 0x16d
ja case.0x418bde.38
dec ecx
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0x20], edi
jmp case.0x418bde.90
push 2
pop edx
xor ecx, ecx
jmp 0x418f47
inc ebx
cmp byte [ebx], 0x20
je 0x418f46
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x418f82
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0xc
ja 0x418f82
mov al, byte [ebx]
cmp al, 0x30
jl 0x418f82
cmp al, 0x39
jle 0x418f5e
lea eax, [ecx - 1]
cmp eax, 0xb
ja case.0x418bde.38
dec ecx
mov dword [esi + 0x10], ecx
mov dword [ebp - 0x10], edi
jmp 0x419718
push 2
pop edx
xor ecx, ecx
jmp 0x418fa2
inc ebx
cmp byte [ebx], 0x20
je 0x418fa1
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41947d
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x3b
ja 0x41947d
mov al, byte [ebx]
cmp al, 0x30
jl 0x41947d
cmp al, 0x39
jle 0x418fb9
jmp 0x41947d
inc ebx
movsx eax, byte [ebx]
push eax
call dword [sym.imp.MSVCR100.dll_isspace]
pop ecx
test eax, eax
jne 0x418fee
jmp case.0x418bde.90
push 0x4387c8
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
push eax
push ebx
mov eax, 0x4387c8
call fcn.00418a28
pop ecx
pop ecx
test eax, eax
jne 0x419034
push 0x4387c8
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
add ebx, eax
jmp case.0x418bde.90
push 0x4387cc
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
push eax
push ebx
mov eax, 0x4387cc
call fcn.00418a28
pop ecx
pop ecx
test eax, eax
jne case.0x418bde.38
push 0x4387cc
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
add ebx, eax
mov dword [ebp - 0x24], edi
jmp case.0x418bde.90
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
push str._I:_M:_S__p
push ebx
call fcn.00418b41
mov ebx, eax
add esp, 0x14
test ebx, ebx
je case.0x418bde.38
jmp case.0x418bde.90
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
push str._H:_M
jmp 0x419078
mov al, byte [ebx]
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
push 0
movsx eax, al
push 0xa
push dword [ebp - 0x2c]
sub eax, 0x30
push dword [ebp - 0x30]
cdq
mov esi, eax
mov edi, edx
call fcn.0042a040
add esi, eax
adc edi, edx
inc ebx
mov al, byte [ebx]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edi
cmp al, 0x30
jl 0x4190e7
cmp al, 0x39
jle 0x4190b8
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll__localtime64]
pop ecx
test eax, eax
je case.0x418bde.38
mov edi, dword [ebp + 0x10]
push 9
pop ecx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x10]
jmp 0x418ca2
push 2
pop edx
xor ecx, ecx
jmp 0x419114
inc ebx
cmp byte [ebx], 0x20
je 0x419113
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41942a
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x3d
ja 0x41942a
mov al, byte [ebx]
cmp al, 0x30
jl 0x41942a
cmp al, 0x39
jle 0x41912b
jmp 0x41942a
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
push str._H:_M:_S
jmp 0x419078
mov edx, edi
xor eax, eax
jmp 0x419178
inc ebx
cmp byte [ebx], 0x20
je 0x419177
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x418bde.38
cmp cl, 0x39
jg case.0x418bde.38
imul eax, eax, 0xa
inc ebx
movsx ecx, cl
dec edx
lea eax, [eax + ecx - 0x30]
test edx, edx
jle 0x4191b7
mov ecx, eax
imul ecx, ecx, 0xa
cmp ecx, 7
ja 0x4191b7
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x4191b7
cmp cl, 0x39
jle 0x419191
lea ecx, [eax - 1]
cmp ecx, 6
ja case.0x418bde.38
push 7
xor edx, edx
pop ecx
div ecx
mov dword [esi + 0x18], edx
jmp 0x419667
push 2
pop edx
xor ecx, ecx
jmp 0x4191da
inc ebx
cmp byte [ebx], 0x20
je 0x4191d9
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x419215
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x63
ja 0x419215
mov al, byte [ebx]
cmp al, 0x30
jl 0x419215
cmp al, 0x39
jle 0x4191f1
cmp ecx, 0x63
jmp 0x419587
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
inc ebx
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.90
cmp al, 0x39
jle 0x41922f
jmp case.0x418bde.90
push 2
pop edx
xor ecx, ecx
jmp 0x41924b
inc ebx
cmp byte [ebx], 0x20
je 0x41924a
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x419584
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x35
ja 0x419584
mov al, byte [ebx]
cmp al, 0x30
jl 0x419584
cmp al, 0x39
jle 0x419262
jmp 0x419584
mov edx, edi
xor ecx, ecx
jmp 0x41929e
inc ebx
cmp byte [ebx], 0x20
je 0x41929d
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41965b
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 6
ja 0x41965b
mov al, byte [ebx]
cmp al, 0x30
jl 0x41965b
cmp al, 0x39
jle 0x4192b5
jmp 0x41965b
push 2
pop edx
xor ecx, ecx
jmp 0x4192f2
inc ebx
cmp byte [ebx], 0x20
je 0x4192f1
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41932d
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x63
ja 0x41932d
mov al, byte [ebx]
cmp al, 0x30
jl 0x41932d
cmp al, 0x39
jle 0x419309
cmp ecx, 0x63
ja case.0x418bde.38
mov eax, ecx
cmp ecx, 0x45
jae 0x419340
lea eax, [ecx + 0x64]
mov dword [esi + 0x14], eax
mov dword [ebp - 0x18], edi
jmp 0x419718
push 4
pop edx
xor ecx, ecx
jmp 0x419353
inc ebx
cmp byte [ebx], 0x20
je 0x419352
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x419390
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x270f
ja 0x419390
mov al, byte [ebx]
cmp al, 0x30
jl 0x419390
cmp al, 0x39
jle 0x41936a
cmp ecx, 0x270f
ja case.0x418bde.38
add ecx, 0xfffff894
and dword [ebp - 0x18], 0
mov dword [esi + 0x14], ecx
jmp 0x419718
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
inc dword [ebp + 0xc]
cmp eax, 0x57
jg 0x419592
cmp eax, 0x55
jge 0x419541
sub eax, 0x48
je 0x4194e9
dec eax
je 0x41948e
sub eax, 4
je 0x41943a
sub eax, 6
jne case.0x418bde.38
push 2
pop edx
xor ecx, ecx
jmp 0x4193ef
inc ebx
cmp byte [ebx], 0x20
je 0x4193ee
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41942a
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x3d
ja 0x41942a
mov al, byte [ebx]
cmp al, 0x30
jl 0x41942a
cmp al, 0x39
jle 0x419406
cmp ecx, 0x3d
ja case.0x418bde.38
mov dword [esi], ecx
jmp case.0x418bde.90
push 2
pop edx
xor ecx, ecx
jmp 0x419442
inc ebx
cmp byte [ebx], 0x20
je 0x419441
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41947d
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x3b
ja 0x41947d
mov al, byte [ebx]
cmp al, 0x30
jl 0x41947d
cmp al, 0x39
jle 0x419459
cmp ecx, 0x3b
ja case.0x418bde.38
mov dword [esi + 4], ecx
jmp case.0x418bde.90
push 2
pop edx
xor ecx, ecx
jmp 0x419496
inc ebx
cmp byte [ebx], 0x20
je 0x419495
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x4194d1
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0xc
ja 0x4194d1
mov al, byte [ebx]
cmp al, 0x30
jl 0x4194d1
cmp al, 0x39
jle 0x4194ad
lea eax, [ecx - 1]
cmp eax, 0xb
ja case.0x418bde.38
dec ecx
mov dword [esi + 8], ecx
mov dword [ebp - 8], edi
jmp case.0x418bde.90
push 2
pop edx
xor ecx, ecx
jmp 0x4194f1
inc ebx
cmp byte [ebx], 0x20
je 0x4194f0
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41952c
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x17
ja 0x41952c
mov al, byte [ebx]
cmp al, 0x30
jl 0x41952c
cmp al, 0x39
jle 0x419508
cmp ecx, 0x17
ja case.0x418bde.38
and dword [ebp - 8], 0
mov dword [esi + 8], ecx
jmp case.0x418bde.90
push 2
pop edx
xor ecx, ecx
jmp 0x419549
inc ebx
cmp byte [ebx], 0x20
je 0x419548
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x419584
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x35
ja 0x419584
mov al, byte [ebx]
cmp al, 0x30
jl 0x419584
cmp al, 0x39
jle 0x419560
cmp ecx, 0x35
ja case.0x418bde.38
jmp case.0x418bde.90
cmp eax, 0x64
jl case.0x418bde.38
cmp eax, 0x65
jle 0x4196c3
cmp eax, 0x6d
je 0x41966f
cmp eax, 0x77
je 0x419619
cmp eax, 0x79
jne case.0x418bde.38
push 2
pop edx
xor ecx, ecx
jmp 0x4195c3
inc ebx
cmp byte [ebx], 0x20
je 0x4195c2
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x4195fe
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x63
ja 0x4195fe
mov al, byte [ebx]
cmp al, 0x30
jl 0x4195fe
cmp al, 0x39
jle 0x4195da
cmp ecx, 0x63
ja case.0x418bde.38
mov eax, ecx
cmp ecx, 0x45
jae 0x419611
lea eax, [ecx + 0x64]
mov dword [esi + 0x14], eax
jmp 0x419718
mov edx, edi
xor ecx, ecx
jmp 0x419620
inc ebx
cmp byte [ebx], 0x20
je 0x41961f
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x41965b
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 6
ja 0x41965b
mov al, byte [ebx]
cmp al, 0x30
jl 0x41965b
cmp al, 0x39
jle 0x419637
cmp ecx, 6
ja case.0x418bde.38
mov dword [esi + 0x18], ecx
mov dword [ebp - 0xc], edi
jmp case.0x418bde.90
push 2
pop edx
xor ecx, ecx
jmp 0x419677
inc ebx
cmp byte [ebx], 0x20
je 0x419676
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x418f82
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0xc
ja 0x418f82
mov al, byte [ebx]
cmp al, 0x30
jl 0x418f82
cmp al, 0x39
jle 0x41968e
jmp 0x418f82
push 2
pop edx
xor ecx, ecx
jmp 0x4196cb
inc ebx
cmp byte [ebx], 0x20
je 0x4196ca
mov al, byte [ebx]
cmp al, 0x30
jl case.0x418bde.38
cmp al, 0x39
jg case.0x418bde.38
imul ecx, ecx, 0xa
inc ebx
movsx eax, al
dec edx
lea ecx, [ecx + eax - 0x30]
test edx, edx
jle 0x419706
mov eax, ecx
imul eax, eax, 0xa
cmp eax, 0x1f
ja 0x419706
mov al, byte [ebx]
cmp al, 0x30
jl 0x419706
cmp al, 0x39
jle 0x4196e2
lea eax, [ecx - 1]
cmp eax, 0x1e
ja case.0x418bde.38
mov dword [ebp - 0x14], edi
mov dword [esi + 0xc], ecx
mov dword [ebp - 4], edi
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
test al, al
jne 0x418b7e
xor ecx, ecx
cmp dword [ebp - 8], ecx
je 0x419738
cmp dword [ebp - 0x24], ecx
je 0x419738
add dword [esi + 8], 0xc
mov eax, dword [ebp - 0x1c]
cmp eax, 0xffffffff
je 0x419768
cmp dword [ebp - 0x18], ecx
je 0x41975f
mov ecx, eax
mov eax, dword [esi + 0x14]
push 0x64
cdq
pop edi
idiv edi
add ecx, 0xffffffed
imul ecx, ecx, 0x64
add ecx, edx
mov dword [esi + 0x14], ecx
xor ecx, ecx
jmp 0x419768
add eax, 0xffffffed
imul eax, eax, 0x64
mov dword [esi + 0x14], eax
cmp dword [ebp - 4], ecx
je 0x419861
cmp dword [ebp - 0xc], ecx
jne 0x419855
cmp dword [ebp - 0x10], ecx
je 0x41978a
cmp dword [ebp - 0x14], ecx
jne 0x419849
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
je 0x419849
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x14]
and dword [ebp + 0xc], 0
add eax, 0x76c
mov esi, eax
and esi, 0x80000003
mov dword [ebp - 0xc], eax
jns 0x4197b4
dec esi
or esi, 0xfffffffc
inc esi
mov ecx, dword [ecx + 0x1c]
test esi, esi
jne 0x4197dc
mov eax, dword [ebp - 0xc]
push 0x64
cdq
pop edi
idiv edi
test edx, edx
jne 0x4197d7
mov eax, dword [ebp - 0xc]
cdq
mov edi, 0x190
idiv edi
test edx, edx
jne 0x4197dc
xor eax, eax
inc eax
jmp 0x4197de
xor eax, eax
imul eax, eax, 0xd
add eax, dword [ebp + 0xc]
movzx eax, word [eax*2 + 0x42b620]
cmp eax, ecx
jg 0x4197f5
inc dword [ebp + 0xc]
jmp 0x4197b7
cmp dword [ebp - 0x10], 0
jne 0x419805
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
dec eax
mov dword [edx + 0x10], eax
cmp dword [ebp - 0x14], 0
jne 0x419849
test esi, esi
jne 0x419830
mov eax, dword [ebp - 0xc]
push 0x64
cdq
pop esi
idiv esi
test edx, edx
jne 0x41982b
mov eax, dword [ebp - 0xc]
cdq
mov esi, 0x190
idiv esi
test edx, edx
jne 0x419830
xor eax, eax
inc eax
jmp 0x419832
xor eax, eax
imul eax, eax, 0xd
add eax, dword [ebp + 0xc]
movzx eax, word [eax*2 + 0x42b61e]
sub ecx, eax
mov eax, dword [ebp + 0x10]
inc ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp + 0x10]
call fcn.00418a6f
mov esi, ecx
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
jne 0x419861
mov ecx, esi
call fcn.00418aea
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret