Function at 0x461513
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bc4cf
mov eax, dword fs:[0]
push eax
mov eax, 0x20e0
call fcn.00490ed0
mov eax, dword [0x50c924]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x1ff8]
mov ebx, dword [ebp + 8]
push 0
push eax
mov dword [ebp - 0x2060], ebx
call fcn.00454891
cmp byte [ebx + 0x15], 0
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
push 0x76
pop eax
je 0x461573
test edi, edi
cmove esi, eax
mov ecx, dword [ebp - 0x1ff8]
push edi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov edx, dword [ebp + 0xc]
lea edi, [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x94], edx
stosd dword es:[edi], eax
xor ecx, ecx
push 0xf
pop ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x58], cl
xor eax, eax
mov dword [ebp - 4], ecx
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 0x40], cl
push esi
call fcn.004684bf
mov ebx, eax
lea edi, [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x2000], ebx
stosd dword es:[edi], eax
xor ecx, ecx
push 0xf
pop esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
mov byte [ebp - 0x28], cl
xor eax, eax
mov dword [ebp - 0x201c], ecx
lea edi, [ebp - 0x70]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
mov byte [ebp - 0x70], cl
push ebx
mov byte [ebp - 4], 3
call fcn.00467669
mov edi, dword [ebp + 0x10]
pop ecx
pop ecx
test al, al
je 0x46165e
test edx, edx
je 0x461656
mov ecx, dword [ebp - 0x1ff8]
lea esi, [edx - 1]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
movsx eax, al
push eax
call fcn.00467669
pop ecx
test al, al
je 0x461653
mov ecx, dword [ebp - 0x1ff8]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edx, dword [ebp - 0x1ff8]
push eax
push edx
mov ecx, dword [edx]
call dword [ecx + 0x18]
mov edx, dword [ebp + 0xc]
sub edx, eax
add edi, edx
mov edx, eax
mov dword [ebp + 0xc], edx
test eax, eax
jne 0x461609
jmp 0x461656
mov edx, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
push ebx
call fcn.00468137
add esp, 4
test al, al
je 0x4616c5
jmp 0x4616b4
push ebx
call fcn.00468137
add esp, 4
test al, al
jne 0x46169c
lea eax, [edx - 1]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.0042fe6d
movsx eax, al
push eax
call fcn.0046805b
mov edx, dword [ebp + 0xc]
add esp, 4
test al, al
jne 0x4616b8
mov ecx, dword [ebp - 0x1ff8]
dec edx
push edx
push ecx
mov dword [ebp + 0xc], edx
inc edi
mov eax, dword [ecx]
call dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
movsx ebx, al
test edx, edx
jne 0x46166d
xor eax, eax
test edx, edx
cmove ebx, eax
mov dword [ebp - 0x2000], ebx
mov ecx, dword [ebp - 0x1ff8]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov esi, dword [ebp + 0xc]
mov eax, ebx
mov dword [ebp - 0x94], esi
sub eax, 0xc
je 0x4616f2
sub eax, 1
je 0x4616f2
dec eax
sub eax, 1
je 0x4616f2
sub eax, 3
jne 0x4616fa
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
mov ecx, dword [ebp - 0x1ff8]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov dword [ebp - 0x2024], eax
test eax, eax
jle 0x461728
mov esi, dword [ebp - 0x1ff8]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x24]
lea ecx, [eax - 1]
push ecx
push esi
call edx
mov esi, dword [ebp + 0xc]
jmp 0x46173a
mov eax, dword [ebp - 0x2060]
mov eax, dword [eax + 0x1878]
or eax, 0x10
shl eax, 4
mov ecx, eax
mov byte [ebp - 0x205a], 0
and ecx, 3
mov dword [ebp - 0x202c], ecx
mov ecx, eax
sar ecx, 2
and ecx, 0xffffff01
mov dword [ebp - 0x2088], ecx
mov ecx, eax
sar ecx, 3
and ecx, 0xffffff01
mov dword [ebp - 0x207c], ecx
mov ecx, eax
sar ecx, 4
and ecx, 0xf
mov dword [ebp - 0x2084], ecx
mov ecx, eax
sar ecx, 8
sar eax, 0xc
and ecx, 0xf
movzx eax, al
push ebx
mov dword [ebp - 0x20a0], ecx
mov dword [ebp - 0x2080], eax
call fcn.00467961
cmp dword [ebp - 0x202c], 1
pop ecx
push 8
mov dword [ebp - 0x204c], eax
pop ecx
jne 0x4617bb
cmp ebx, 9
cmove eax, ecx
mov dword [ebp - 0x204c], eax
push dword [ebp - 0x2080]
call fcn.00467961
mov edx, dword [ebp - 0x2060]
pop ecx
mov dword [ebp - 0x2098], eax
mov cl, byte [edx + 0x1881]
test cl, cl
je 0x4617f0
cmp byte [edx + 0x1880], 0
je 0x4617f0
mov al, 1
mov byte [ebp - 0x1ff9], al
jmp 0x4617fc
xor al, al
mov byte [ebp - 0x1ff9], al
test cl, cl
je 0x46180c
cmp byte [edx + 0x1882], 0
mov byte [ebp - 0x2059], 1
jne 0x461813
mov byte [ebp - 0x2059], 0
mov cl, byte [edx + 0x1883]
mov byte [ebp - 0x2091], cl
test al, al
je 0x461835
cmp byte [edx + 0x1884], 0
je 0x461835
mov byte [ebp - 0x1ffa], 1
jmp 0x461840
mov byte [ebp - 0x1ffa], 0
test al, al
je 0x461850
cmp byte [edx + 0x1885], 0
mov byte [ebp - 0x205b], 1
jne 0x461857
mov byte [ebp - 0x205b], 0
cmp byte [edx + 0x14], 0
je 0x461871
test al, al
je 0x461871
cmp byte [edx + 0x1886], 0
mov byte [ebp - 0x204d], 1
jne 0x461878
mov byte [ebp - 0x204d], 0
mov al, byte [edx + 0x187c]
lea ecx, [ebp - 0x20c8]
mov byte [ebp - 0x20ac], al
mov al, byte [edx + 0x187d]
push 1
mov byte [ebp - 0x20a8], al
mov al, byte [edx + 0x187e]
push 0x80
mov byte [ebp - 0x2078], al
mov al, byte [edx + 0x187f]
push str..__:_
push 7
mov byte [ebp - 0x2065], al
call fcn.00459d7b
push 4
pop eax
push 1
push 0x80
push 0x4cf0cc
push 7
lea ecx, [ebp - 0x20e0]
mov byte [ebp - 4], al
call fcn.00459d7b
push 1
push 0x80
push str..__:__
push 7
lea ecx, [ebp - 0x20d4]
mov byte [ebp - 4], 5
call fcn.00459d7b
push 0
push 0x80
push str.___:____
push 0
lea ecx, [ebp - 0x20ec]
mov byte [ebp - 4], 6
call fcn.00459d7b
mov ecx, dword [ebp - 0x1ff8]
push dword [ebp - 0x2024]
mov byte [ebp - 4], 7
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
and dword [ebp - 0x2010], 0
and eax, 0xfff
push 0x20
mov dword [ebp - 0x2020], eax
xor edx, edx
cmp dword [ebp - 0x204c], 1
mov dword [ebp - 0x200c], eax
pop eax
mov ecx, eax
mov dword [ebp - 0x2014], edx
mov dword [ebp - 0x2054], eax
mov dword [ebp - 0x2004], ecx
mov dword [ebp - 0x20a4], eax
jne 0x4619be
test esi, esi
je 0x4619be
sub esi, 1
je 0x4619be
mov ecx, dword [ebp - 0x1ff8]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
movsx ecx, al
lea eax, [ecx - 0x29]
cmp eax, 3
ja 0x461996
sub esi, 1
jne 0x461979
cmp ecx, 0x32
jne 0x4619b2
push 0x20
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
movzx eax, al
mov dword [ebp - 0x20a4], eax
mov edx, dword [ebp - 0x2014]
mov ecx, dword [ebp - 0x2004]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x98], eax
lea esi, [eax + edi]
mov dword [ebp - 0x2090], esi
cmp eax, esi
jge 0x46245d
mov edi, eax
mov eax, dword [ebp - 0x202c]
mov dword [ebp - 0x2064], eax
mov esi, edx
mov eax, dword [ebp - 0x2054]
mov dword [ebp - 0x2074], eax
mov eax, ecx
push eax
mov dword [ebp - 0x2054], eax
call fcn.0044cdc6
pop ecx
test al, al
jne 0x461a29
push 0x2a
pop eax
cmp ebx, eax
je 0x461a29
cmp ebx, 0x2b
je 0x461a29
mov eax, dword [ebp - 0x20a4]
cmp ebx, 0x2c
cmovne eax, dword [ebp - 0x2054]
mov dword [ebp - 0x20a4], eax
push edi
lea ecx, [ebp - 0x1ff8]
call fcn.0042fe6d
movzx eax, al
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x2004], eax
lea eax, [edi + 1]
push 0x20
push eax
mov dword [ebp - 0x2058], eax
call fcn.004314fb
movzx eax, al
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x2008], eax
mov eax, dword [ebp + 0xc]
add eax, 2
push 0x20
push eax
mov dword [ebp - 0x2070], eax
call fcn.004314fb
mov ecx, dword [ebp - 0x1ff8]
mov edi, dword [ebp - 0x2004]
movzx eax, al
mov dword [ebp - 0x206c], eax
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x48]
test al, al
je 0x461aad
mov edi, dword [ebp - 0x2058]
mov dword [ebp - 0x2054], 0x20
jmp 0x462439
push edi
call fcn.0044cdc6
mov byte [ebp - 0x2089], al
pop ecx
test al, al
je 0x461ac7
cmp byte [ebp - 0x2091], 0
jne 0x461ad6
cmp byte [ebp - 0x1ff9], 0
je 0x461ad6
inc dword [ebp - 0x2010]
mov edi, dword [ebp - 0x2014]
push dword [ebp - 0x202c]
inc edi
test al, al
push ebx
cmovne edi, esi
mov dword [ebp - 0x2014], edi
call fcn.004684e9
pop ecx
pop ecx
mov cl, byte [ebp - 0x1ff9]
mov edx, eax
mov dword [ebp - 0x2028], edx
test cl, cl
je 0x461f11
mov ecx, dword [ebp - 0x204c]
sub ecx, 1
je 0x461d70
dec ecx
sub ecx, 1
je 0x461c67
sub ecx, 1
je 0x461d70
mov esi, dword [ebp - 0x2004]
mov edi, dword [ebp - 0x200c]
mov eax, dword [ebp - 0x2008]
mov cl, byte [ebp - 0x1ff9]
cmp esi, 0xd
jne 0x461b50
cmp eax, 0xa
jne 0x461b65
mov eax, dword [ebp - 0x2014]
mov dword [ebp - 0x2014], eax
cmp esi, 0xa
jne 0x461c2c
test cl, cl
je 0x461bb1
mov esi, dword [ebp - 0x2020]
mov eax, esi
mov ecx, dword [ebp - 0x2010]
or eax, 0x1000
test ecx, ecx
cmovne eax, esi
mov edx, eax
cmp edi, esi
jle 0x461b91
test ecx, ecx
jle 0x461b91
or edx, 0x2000
mov eax, dword [ebp - 0x1ff8]
push edx
push dword [ebp - 0x2024]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
and dword [ebp - 0x2010], 0
mov dword [ebp - 0x2020], edi
mov eax, dword [ebp - 0x2080]
movzx ecx, al
mov eax, dword [ebp - 0x20a0]
and eax, 0xf
shl ecx, 4
or ecx, eax
mov edx, dword [ebp - 0x1ff8]
mov eax, dword [ebp - 0x2084]
and eax, 0xf
shl ecx, 4
or ecx, eax
xor eax, eax
mov esi, dword [edx]
push 8
shl ecx, 4
cmp byte [ebp - 0x207c], al
pop edi
cmovne eax, edi
or ecx, eax
xor eax, eax
cmp byte [ebp - 0x2088], al
push 4
pop edi
cmovne eax, edi
mov edi, dword [ebp - 0x2024]
or ecx, eax
mov eax, dword [ebp - 0x202c]
and eax, 3
or ecx, eax
push ecx
push edi
push edx
call dword [esi + 0x28]
inc edi
and dword [ebp - 0x2014], 0
mov dword [ebp - 0x2024], edi
mov esi, dword [ebp - 0x2004]
mov al, byte [ebp - 0x2078]
test al, al
je 0x461f82
cmp esi, 0x23
jne 0x461f33
cmp dword [ebp - 0x2008], esi
jne 0x461f33
push 0x5c
pop ebx
mov dword [ebp - 0x201c], 1
mov dword [ebp - 0x2000], ebx
jmp 0x46583b
mov esi, dword [ebp - 0x2004]
cmp ebx, 0x5c
je 0x461b34
cmp byte [ebp - 0x2078], 0
jne 0x461b34
cmp esi, 0x3a
jne 0x461cbb
mov ecx, dword [ebp - 0x2008]
cmp ecx, 0xa
je 0x461ca9
cmp ecx, 0xd
jne 0x461b34
cmp dword [ebp - 0x206c], 0xa
jne 0x461b34
mov edi, dword [ebp - 0x200c]
inc edi
mov dword [ebp - 0x200c], edi
jmp 0x461fed
mov eax, dword [ebp - 0x2008]
cmp esi, 0xa
jne 0x461f28
cmp eax, 0xd
jne 0x461cdb
cmp dword [ebp - 0x206c], esi
je 0x461f28
mov edi, dword [ebp - 0x200c]
cmp eax, 0xa
je 0x461b40
mov esi, edi
and esi, 0xfffffbff
shl esi, 3
test esi, esi
jle 0x461efb
mov edi, dword [ebp - 0x2058]
push 8
pop ebx
push 0x20
push edi
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
cmp al, 9
jne 0x461d1c
sub esi, ebx
jmp 0x461d21
cmp al, 0x20
jne 0x461d26
dec esi
inc edi
test esi, esi
jg 0x461d06
mov ebx, dword [ebp - 0x2000]
mov edi, dword [ebp - 0x200c]
test esi, esi
jle 0x461f06
mov eax, esi
mov esi, dword [ebp - 0x2004]
push 8
cdq
pop ecx
idiv ecx
mov cl, byte [ebp - 0x1ff9]
sub edi, eax
mov eax, dword [ebp - 0x2008]
mov dword [ebp - 0x200c], edi
test edx, edx
je 0x461b46
dec edi
mov dword [ebp - 0x200c], edi
jmp 0x461b46
push 0x2a
pop ecx
cmp ebx, 0x7c
je 0x461ec0
cmp ebx, 0x7d
je 0x461eb8
cmp ebx, ecx
je 0x461ec0
cmp ebx, 0x2b
je 0x461eb8
cmp ebx, 0x2c
je 0x461eb8
push ebx
call fcn.00468159
add esp, 4
test al, al
jne 0x461eb8
mov esi, dword [ebp - 0x2004]
cmp esi, 0x23
jne 0x461e6a
mov esi, dword [ebp - 0x2058]
cmp esi, dword [ebp - 0x2090]
jge 0x461e12
mov bl, byte [ebp - 0x1ff9]
mov edi, dword [ebp - 0x2090]
push 0x20
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
cmp al, 0x20
je 0x461def
cmp al, 9
jne 0x461e00
mov al, byte [ebp - 0x1ffa]
inc esi
mov byte [ebp - 0x1ffa], al
cmp esi, edi
jl 0x461dd9
mov edi, dword [ebp - 0x2014]
mov byte [ebp - 0x1ff9], bl
mov ebx, dword [ebp - 0x2000]
push str.region
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004574ab
test al, al
jne 0x461e59
push 0x4cc648
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004574ab
test al, al
jne 0x461e59
push 0x4cd690
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.004574ab
test al, al
je 0x461e5f
dec dword [ebp - 0x200c]
jmp 0x461e5f
inc dword [ebp - 0x200c]
mov dword [ebp - 0x2014], edi
jmp 0x461c26
cmp esi, 0x7b
je 0x461ea2
cmp esi, 0x7d
je 0x461e98
cmp byte [ebp - 0x1ffa], 0
mov eax, dword [ebp - 0x2008]
je 0x461f28
cmp esi, 0x2f
jne 0x461f28
cmp eax, ecx
jne 0x461f28
cmp esi, 0x2f
je 0x461ea2
or eax, 0xffffffff
jmp 0x461ea5
xor eax, eax
inc eax
mov edi, dword [ebp - 0x200c]
add edi, eax
mov dword [ebp - 0x200c], edi
jmp 0x461b3a
cmp ebx, ecx
jne 0x461b2e
cmp byte [ebp - 0x1ffa], 0
mov esi, dword [ebp - 0x2004]
je 0x461b34
cmp esi, ecx
jne 0x461b34
mov eax, dword [ebp - 0x2008]
mov edi, dword [ebp - 0x200c]
mov cl, byte [ebp - 0x1ff9]
cmp eax, 0x2f
jne 0x461b46
jmp 0x461d64
mov esi, dword [ebp - 0x2004]
jmp 0x461b40
mov esi, dword [ebp - 0x2004]
jmp 0x461b3a
mov esi, dword [ebp - 0x2004]
mov edi, dword [ebp - 0x200c]
mov eax, dword [ebp - 0x2008]
jmp 0x461b46
mov edi, dword [ebp - 0x200c]
jmp 0x461b40
mov edi, dword [ebp - 0x201c]
test edi, edi
je 0x461f88
cmp esi, 0xd
je 0x461f47
cmp esi, 0xa
jne 0x461f88
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
xor edi, edi
dec eax
push eax
mov dword [ebp - 0x201c], edi
call fcn.00456fec
xor ebx, ebx
cmp dword [ebp - 0x204c], 3
push 0x5b
pop eax
cmove ebx, eax
mov al, byte [ebp - 0x2078]
mov dword [ebp - 0x2000], ebx
jmp 0x461f88
mov edi, dword [ebp - 0x201c]
cmp esi, 0xd
jne 0x461f96
cmp dword [ebp - 0x2008], 0xa
jne 0x461f9b
cmp esi, 0xa
jne 0x461fbc
test al, al
je 0x462102
mov eax, 0x4c0068
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004567a1
pop ecx
pop ecx
test al, al
jne 0x462102
cmp byte [ebp - 0x2078], 0
mov eax, edi
je 0x461fdb
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], eax
test eax, eax
jne 0x462102
mov ecx, dword [ebp - 0x2008]
mov edx, dword [ebp - 0x2028]
mov edi, dword [ebp - 0x200c]
cmp dword [ebp - 0x202c], 1
jne 0x4624b0
cmp esi, 0x3c
jne 0x4624b0
cmp ecx, 0x2f
jne 0x4624b0
cmp ebx, 0x52
jg 0x462062
je 0x462102
cmp ebx, 0x30
jg 0x462042
je 0x462102
mov eax, ebx
sub eax, 6
je 0x462102
sub eax, 1
je 0x462102
sub eax, 0x23
je 0x462102
dec eax
jmp 0x462094
cmp ebx, 0x31
je 0x462102
cmp ebx, 0x34
je 0x462102
cmp ebx, 0x48
je 0x462102
cmp ebx, 0x4b
jmp 0x462097
cmp ebx, 0x77
jg 0x462086
je 0x462102
mov eax, ebx
sub eax, 0x55
je 0x462102
sub eax, 9
je 0x462102
sub eax, 3
jmp 0x462092
mov eax, ebx
sub eax, 0x78
je 0x462102
push 4
pop ecx
sub eax, ecx
je 0x462102
sub eax, 1
je 0x462102
cmp ebx, 0x2b
je 0x4620c1
mov eax, dword [ebp - 0x2060]
cmp byte [eax + 0x14], 0
jne 0x4620c1
xor eax, eax
mov esi, 0x4cc220
cmp ebx, 9
cmovne esi, eax
test esi, esi
je 0x4623d5
jmp 0x4620c6
mov esi, str.script
mov edi, dword [ebp - 0x2070]
mov al, byte [esi]
inc esi
mov byte [ebp - 0x202d], al
test al, al
je 0x4623cf
mov eax, edi
lea ecx, [ebp - 0x1ff8]
push 0x20
push eax
inc edi
call fcn.004314fb
mov cl, al
sub cl, 0x41
cmp cl, 0x19
ja 0x4620fa
add al, 0x20
cmp byte [ebp - 0x202d], al
je 0x4620cc
mov ecx, dword [ebp - 0x200c]
mov eax, dword [ebp - 0x2024]
mov edx, dword [ebp - 0x2020]
mov esi, dword [ebp - 0x2014]
mov edi, dword [ebp - 0x2010]
mov dword [ebp - 0x2064], ecx
mov ecx, dword [ebp - 0x2024]
mov dword [ebp - 0x2048], ecx
mov ecx, dword [ebp - 0x201c]
mov dword [ebp - 0x203c], ecx
mov cl, byte [ebp - 0x1ff9]
mov dword [ebp - 0x2034], eax
mov eax, dword [ebp - 0x201c]
mov dword [ebp - 0x2038], eax
mov al, byte [ebp - 0x1ff9]
mov byte [ebp - 0x1ffb], cl
mov cl, byte [ebp - 0x1ffa]
mov byte [ebp - 0x202d], al
mov al, cl
mov byte [ebp - 0x2015], cl
mov ecx, dword [ebp - 0x2064]
mov dword [ebp - 0x2040], edx
mov dword [ebp - 0x2044], ebx
mov dword [ebp - 0x209c], ebx
mov byte [ebp - 0x1ffc], al
cmp ebx, 0x68
jg 0x465e8e
mov ecx, dword [ebp - 0x201c]
mov esi, ebx
mov edx, dword [ebp - 0x2024]
mov eax, dword [ebp - 0x2020]
mov edi, dword [ebp - 0x200c]
mov dword [ebp - 0x2040], ecx
mov ecx, dword [ebp - 0x2010]
mov dword [ebp - 0x2034], ecx
mov ecx, dword [ebp - 0x2014]
mov dword [ebp - 0x2038], ecx
mov cl, byte [ebp - 0x1ffa]
mov byte [ebp - 0x1ffc], cl
mov cl, byte [ebp - 0x1ff9]
mov byte [ebp - 0x1ffb], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2044], edx
mov dword [ebp - 0x2048], eax
mov dword [ebp - 0x2064], edi
je 0x465e5d
push 0x2a
pop ebx
cmp esi, ebx
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jg 0x464ab8
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], cl
push 0x2a
pop ecx
cmp esi, ecx
mov dword [ebp - 0x2024], edx
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
je 0x464f30
cmp esi, 0x16
jg 0x46411a
je 0x464067
push 8
pop ebx
cmp esi, ebx
jg 0x463baf
je 0x463943
mov dword [ebp - 0x2020], eax
mov ebx, esi
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
sub eax, 0
je 0x46357f
dec eax
sub eax, 1
je 0x463365
sub eax, 1
je 0x463205
sub eax, 3
je 0x4631ba
sub eax, 1
jne case.default.0x465e9a
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
cmp esi, 0x27
jne 0x46237c
cmp dword [ebp - 0x202c], 1
jne 0x462355
push dword [ebp - 0x204c]
lea eax, [ebp - 0x1ff8]
push dword [ebp + 0xc]
push dword [ebp - 0x98]
push eax
call fcn.00468381
add esp, 0x10
mov dword [ebp - 0x204c], eax
push 7
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 8
mov ecx, dword [ebp - 0x2040]
mov edx, dword [ebp - 0x2044]
pop eax
mov ebx, eax
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
mov edx, dword [ebp - 0x2034]
mov eax, dword [ebp - 0x2048]
mov cl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2010], edx
mov edx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], edx
mov dh, byte [ebp - 0x1ffc]
mov dword [ebp - 0x2020], eax
mov byte [ebp - 0x1ffa], dh
mov byte [ebp - 0x1ff9], cl
jmp 0x4667d4
mov edx, dword [ebp - 0x2028]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
dec eax
push edx
push eax
call fcn.00456fec
mov ecx, dword [ebp - 0x200c]
mov eax, dword [ebp - 0x2070]
and dword [ebp - 0x202c], 0
and dword [ebp - 0x204c], 0
push 2
pop ebx
add dword [ebp - 0x2010], ebx
cmp byte [ebp - 0x204d], 0
mov dword [ebp + 0xc], eax
lea eax, [ecx - 1]
cmove eax, ecx
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x20a0], 1
mov byte [ebp - 0x207c], 1
mov dword [ebp - 0x200c], eax
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2004]
mov eax, dword [ebp - 0x202c]
mov esi, dword [ebp - 0x2090]
inc edi
mov edx, dword [ebp - 0x2014]
mov dword [ebp + 0xc], edi
cmp edi, esi
jl 0x4619e0
cmp ebx, 0x2e
je 0x4669a7
cmp ebx, 0x4a
je 0x46697d
cmp ebx, 0x60
je 0x466946
cmp ebx, 0x79
je 0x46691c
cmp dword [ebp - 0x98], esi
jge 0x4669d2
push dword [ebp - 0x202c]
push ebx
call fcn.004684e9
pop ecx
pop ecx
push eax
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
jmp 0x4669d2
cmp ebx, 0x10
je 0x462609
push ebx
call fcn.00468159
add esp, 4
test al, al
jne 0x462609
cmp ebx, 0x7c
je 0x462609
cmp ebx, 0x7d
je 0x462609
cmp esi, 0x3c
jne 0x462609
cmp ecx, 0x3f
jne 0x462609
push ebx
call fcn.0046783e
add esp, 4
test al, al
jne 0x462609
mov ecx, dword [ebp - 0x2060]
mov eax, dword [ebp - 0x204c]
mov dword [ebp - 0x2098], eax
xor eax, eax
push 4
cmp byte [ecx + 0x14], al
pop ecx
setne al
add eax, ecx
push eax
mov eax, dword [ebp + 0xc]
add eax, 6
push eax
push dword [ebp - 0x2070]
lea eax, [ebp - 0x1ff8]
push eax
call fcn.00468381
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x204c], esi
push 4
pop eax
cmp esi, eax
je 0x462553
cmp ebx, 9
je 0x462436
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
inc dword [ebp - 0x2010]
mov dword [ebp - 0x2080], ebx
mov ebx, dword [ebp - 0x2058]
lea eax, [ebx + 6]
push eax
mov eax, dword [ebp - 0x98]
add eax, 2
push eax
lea eax, [ebp - 0x1ff8]
push eax
call fcn.00467902
add esp, 0xc
add ebx, eax
cmp esi, 5
mov dword [ebp + 0xc], ebx
push 0xc
pop eax
push 0x12
pop ecx
cmovne eax, ecx
lea ecx, [ebp - 0x1ff8]
push eax
push ebx
call fcn.00456fec
push esi
call fcn.004679b0
mov ebx, eax
mov eax, dword [ebp - 0x202c]
dec eax
mov dword [ebp - 0x2000], ebx
neg eax
pop ecx
sbb eax, eax
add eax, 3
cmp byte [ebp - 0x2059], 0
mov dword [ebp - 0x202c], eax
je 0x4625ee
cmp esi, 5
je 0x4625ee
inc edi
mov dword [ebp - 0x200c], edi
push 0x20
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
mov edi, dword [ebp + 0xc]
movzx ecx, al
jmp 0x46243f
cmp byte [ebp - 0x2078], 0
mov eax, dword [ebp - 0x204c]
je 0x4628bf
test eax, eax
jne 0x4628bf
cmp esi, 0x3c
jne 0x46262e
cmp ecx, 0x25
je 0x462693
cmp dword [ebp - 0x2014], 1
jne 0x462650
cmp esi, 0x25
je 0x462646
cmp esi, 0x2f
jne 0x462650
cmp ecx, 0x25
jne 0x462650
push 1
mov eax, 0x4c0068
push eax
jmp 0x462661
cmp esi, 0x24
jne 0x462674
cmp ecx, 0x7b
jne 0x462674
push 1
push 0x4c0080
lea ecx, [ebp - 0x28]
call fcn.004076b1
mov edi, dword [ebp - 0x2070]
jmp 0x4627d3
cmp esi, 0x3c
jne 0x4628bf
cmp ecx, 0x2f
jne 0x4628bf
cmp dword [ebp - 0x206c], 0x25
jne 0x4628bf
cmp ecx, 0x2f
jne 0x46273a
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
lea eax, [ebp - 0x1ff8]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00467527
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x462724
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x46270c
mov eax, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x2074], ecx
mov dword [ebp - 0x203c], eax
cmp ecx, 0x1000
jb 0x462703
lea eax, [ebp - 0x2074]
push eax
lea eax, [ebp - 0x203c]
push eax
call fcn.004062e4
mov eax, dword [ebp - 0x203c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2074]
push ecx
push eax
call fcn.0049058f
pop ecx
pop ecx
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
push esi
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004072ce
lea ecx, [ebp - 0x88]
call fcn.00407414
mov edi, dword [ebp - 0x2070]
jmp 0x4627cd
mov edi, dword [ebp - 0x2070]
lea eax, [ebp - 0x1ff8]
push edi
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00467527
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x4627c2
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x4627aa
mov eax, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x2074], ecx
mov dword [ebp - 0x203c], eax
cmp ecx, 0x1000
jb 0x4627a1
lea eax, [ebp - 0x2074]
push eax
lea eax, [ebp - 0x203c]
push eax
call fcn.004062e4
mov eax, dword [ebp - 0x203c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2074]
push ecx
push eax
call fcn.0049058f
pop ecx
pop ecx
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
push esi
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004072ce
lea ecx, [ebp - 0x88]
call fcn.00407414
mov esi, dword [ebp - 0x2004]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x202c]
dec eax
mov dword [ebp - 0x2080], ebx
neg eax
push 3
sbb eax, eax
pop ecx
add eax, ecx
cmp dword [ebp - 0x2008], 0x2f
mov dword [ebp - 0x202c], eax
jne 0x462824
mov eax, edi
mov edi, dword [ebp - 0x2010]
add edi, 2
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x2010], edi
jmp 0x46283b
mov edi, dword [ebp - 0x2010]
cmp esi, 0x25
je 0x462838
mov eax, dword [ebp - 0x2058]
inc edi
jmp 0x462819
mov eax, dword [ebp + 0xc]
push 0x5a
pop ebx
push 0xf
mov dword [ebp - 0x204c], ecx
lea ecx, [ebp - 0x1ff8]
push eax
mov dword [ebp - 0x2000], ebx
call fcn.00456fec
cmp esi, 0x25
je 0x4625ee
cmp esi, 0x24
je 0x4625ee
cmp esi, 0x2f
je 0x4625ee
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x18]
add edi, dword [ebp - 0x18]
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x2060]
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
lea ecx, [ecx + 0xc48]
mov dword [ebp - 0x2010], edi
call fcn.00430fef
lea ecx, [ebp - 0x1ff8]
test al, al
je 0x4628b0
push 0x60
jmp 0x4628b2
push 2
push dword [ebp + 0xc]
call fcn.00456fec
jmp 0x4625ee
cmp byte [ebp - 0x2065], 0
je 0x462aa0
cmp ebx, 9
je 0x46296f
cmp esi, 0x7b
jne 0x46296a
cmp ecx, 0x23
jne 0x46296a
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
dec eax
push edx
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x204c]
lea ecx, [ebp - 0x1ff8]
inc dword [ebp - 0x2010]
push 8
mov dword [ebp - 0x2098], eax
mov eax, dword [ebp - 0x2058]
mov dword [ebp + 0xc], eax
pop eax
push 9
mov dword [ebp - 0x2080], ebx
pop ebx
push 0xf
push dword [ebp + 0xc]
mov dword [ebp - 0x204c], eax
mov dword [ebp - 0x2000], ebx
call fcn.00456fec
push 0x20
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
movzx ecx, al
mov eax, dword [ebp - 0x202c]
dec eax
neg eax
sbb eax, eax
add eax, 3
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x202c], eax
jmp 0x462445
cmp ebx, 9
jne 0x4629df
cmp esi, 0x23
jne 0x4629df
cmp ecx, 0x7d
jne 0x4629df
mov eax, dword [ebp + 0xc]
dec eax
push edx
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x1ff8]
inc dword [ebp - 0x2010]
push 0xf
push eax
mov dword [ebp + 0xc], eax
call fcn.00456fec
mov eax, dword [ebp - 0x2098]
mov ebx, dword [ebp - 0x2080]
mov dword [ebp - 0x204c], eax
xor eax, eax
cmp dword [ebp - 0x202c], 3
mov dword [ebp - 0x2000], ebx
sete al
mov dword [ebp - 0x202c], eax
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2004]
jmp 0x462445
cmp eax, 3
je 0x462aa0
cmp eax, 8
je 0x462aa0
cmp esi, 0x7b
jne 0x462aa0
cmp ecx, 0x25
je 0x462a07
cmp ecx, esi
jne 0x462aa0
cmp ecx, 0x25
mov eax, 0x4c0080
mov ecx, 0x4c0068
cmove eax, ecx
lea ecx, [ebp - 0x70]
push 1
push eax
call fcn.004076b1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x1ff8]
inc dword [ebp - 0x2010]
push 0x5a
mov dword [ebp - 0x2080], ebx
pop ebx
push 3
pop esi
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x204c]
push 0xf
push dword [ebp + 0xc]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2098], eax
mov dword [ebp - 0x204c], esi
call fcn.00456fec
push 0x20
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
movzx ecx, al
mov eax, dword [ebp - 0x202c]
dec eax
neg eax
sbb eax, eax
add eax, esi
jmp 0x46295c
cmp byte [ebp - 0x2078], 0
jne 0x462c28
cmp byte [ebp - 0x2065], 0
jne 0x462c28
mov eax, ebx
sub eax, 0x2a
je 0x462c28
sub eax, 1
je 0x462c28
sub eax, 1
je 0x462c28
sub eax, 0x1c
je 0x462c28
sub eax, 0x14
je 0x462c28
sub eax, 0x20
je 0x462c28
sub eax, 1
je 0x462c28
cmp esi, 0x3c
jne 0x462c28
cmp ecx, 0x25
jne 0x462c28
push ebx
call fcn.00468137
add esp, 4
test al, al
jne 0x462c28
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push edx
lea eax, [esi - 1]
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x202c]
dec eax
mov dword [ebp - 0x2080], ebx
neg eax
sbb eax, eax
add eax, 3
mov dword [ebp - 0x202c], eax
mov eax, dword [ebp - 0x206c]
cmp eax, 0x40
jne 0x462b6b
mov edx, dword [ebp - 0x2070]
add dword [ebp - 0x2010], 2
push 0x10
mov dword [ebp + 0xc], edx
pop ebx
jmp 0x462bdc
cmp eax, 0x2d
jne 0x462bab
push 0x20
add esi, 3
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.004314fb
cmp al, 0x2d
jne 0x462bbf
push 0xf
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x14
pop ebx
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x204c], 2
jmp 0x462436
cmp eax, 0x3d
jne 0x462bbf
mov edx, dword [ebp - 0x2070]
add dword [ebp - 0x2010], 2
jmp 0x462bcb
mov edx, dword [ebp - 0x2058]
inc dword [ebp - 0x2010]
push dword [ebp - 0x2084]
mov dword [ebp + 0xc], edx
call fcn.004679b0
pop ecx
mov ebx, eax
push 0xf
push edx
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x204c], 2
call fcn.00456fec
cmp byte [ebp - 0x2059], 0
je 0x462c0a
inc edi
mov dword [ebp - 0x200c], edi
push 0x20
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
movzx ecx, al
mov eax, dword [ebp - 0x202c]
jmp 0x46295c
mov ecx, dword [ebp - 0x204c]
test ecx, ecx
je 0x462c3b
cmp ecx, 5
jne 0x462d30
cmp dword [ebp - 0x2054], 0x3c
jne 0x462d30
cmp esi, 0x21
jne 0x462d30
cmp edx, 0x11
je 0x462d30
push edx
call fcn.004676f8
add esp, 4
test al, al
jne 0x462d30
push edx
call fcn.0046783e
add esp, 4
test al, al
jne 0x462d30
mov dword [ebp - 0x2080], ebx
lea ecx, [ebp - 0x1ff8]
mov ebx, dword [ebp + 0xc]
push edx
lea eax, [ebx - 2]
push eax
call fcn.00456fec
cmp dword [ebp - 0x2008], 0x2d
jne 0x462cc7
cmp dword [ebp - 0x206c], 0x2d
jne 0x462cc7
mov esi, dword [ebp - 0x2070]
lea ecx, [ebp - 0x1ff8]
push 9
pop ebx
push ebx
push esi
mov dword [ebp - 0x2000], ebx
call fcn.00456fec
mov edi, esi
jmp 0x462d0e
lea eax, [ebp - 0x1ff8]
push eax
lea eax, [ebx + 7]
push eax
push dword [ebp - 0x2058]
call fcn.004681bb
add esp, 0xc
test al, al
je 0x462ce8
push 0x11
jmp 0x462d04
push 0x15
pop eax
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
mov dword [ebp - 0x204c], 6
push 0x16
mov edi, dword [ebp + 0xc]
pop ebx
mov dword [ebp - 0x2000], ebx
cmp byte [ebp - 0x2059], 0
jne 0x462d25
cmp ebx, 9
je 0x462d25
cmp ebx, 0x11
jne 0x462439
inc dword [ebp - 0x200c]
jmp 0x462439
cmp byte [ebp - 0x2078], 0
mov eax, dword [ebp - 0x202c]
je 0x462ec5
cmp eax, 2
je 0x462d51
cmp eax, 3
jne 0x462ec5
test ecx, ecx
je 0x462ec5
push ebx
call fcn.00468494
mov edi, dword [ebp - 0x2008]
pop ecx
test al, al
je 0x462ecd
lea eax, [ebp - 0x28]
push eax
push edi
push esi
call fcn.00468072
add esp, 0xc
test al, al
je 0x462ecd
mov esi, dword [ebp + 0xc]
dec esi
cmp ebx, 0x10
jne 0x462daf
push dword [ebp - 0x2084]
lea eax, [ebp - 0x1ff8]
push esi
push dword [ebp - 0x98]
push eax
call fcn.00468381
add esp, 0x10
mov dword [ebp - 0x2084], eax
cmp ebx, 0x60
jne 0x462de9
push dword [ebp - 0x2078]
mov edi, dword [ebp - 0x202c]
lea eax, [ebp - 0x58]
push edi
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0xc48
push eax
push esi
push dword [ebp - 0x98]
call fcn.00467d9d
add esp, 0x1c
jmp 0x462e01
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.00456fec
mov edi, dword [ebp - 0x202c]
mov esi, 0x4c0068
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.004567a1
pop ecx
pop ecx
test al, al
je 0x462e46
lea eax, [ebp - 0x28]
push 0x4c0080
push eax
call fcn.004567a1
mov ebx, dword [ebp - 0x2004]
pop ecx
pop ecx
test al, al
je 0x462e4c
cmp ebx, 0x3e
je 0x462e4c
mov ebx, dword [ebp - 0x2058]
inc dword [ebp - 0x2010]
mov dword [ebp + 0xc], ebx
jmp 0x462e76
mov ebx, dword [ebp - 0x2004]
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
cmp dword [ebp - 0x18], 1
jne 0x462e73
push dword [ebp - 0x18]
push esi
push eax
call fcn.00492a28
add esp, 0xc
test eax, eax
jne 0x462e73
cmp ebx, 0x2f
je 0x462e35
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.004567a1
pop ecx
pop ecx
test al, al
jne 0x462e91
mov ecx, dword [ebp - 0x2004]
cmp ecx, 0x2f
jne 0x462ea5
push 0xf
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
mov ecx, dword [ebp - 0x2004]
and dword [ebp - 0x204c], 0
xor eax, eax
mov ebx, dword [ebp - 0x2080]
cmp edi, 3
mov dword [ebp - 0x2000], ebx
sete al
jmp 0x46295c
mov edi, dword [ebp - 0x2008]
jmp 0x462ed9
mov ecx, dword [ebp - 0x204c]
mov eax, dword [ebp - 0x202c]
mov dl, byte [ebp - 0x2065]
test dl, dl
je 0x462f97
cmp eax, 2
je 0x462ef5
cmp eax, 3
jne 0x462f97
test ecx, ecx
je 0x462f97
push ebx
call fcn.00468494
pop ecx
test al, al
je 0x462f97
lea eax, [ebp - 0x70]
push eax
push edi
push esi
call fcn.00467fc1
add esp, 0xc
test al, al
je 0x462f91
mov esi, dword [ebp + 0xc]
dec esi
cmp ebx, 0x10
jne 0x462f49
push dword [ebp - 0x2084]
lea eax, [ebp - 0x1ff8]
push esi
push dword [ebp - 0x98]
push eax
call fcn.00468381
add esp, 0x10
mov dword [ebp - 0x2084], eax
cmp ebx, 0x60
jne 0x462f85
push dword [ebp - 0x2078]
lea eax, [ebp - 0x58]
push dword [ebp - 0x202c]
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0xc48
push eax
push esi
push dword [ebp - 0x98]
call fcn.00467d9d
add esp, 0x1c
jmp 0x46298a
push dword [ebp - 0x2028]
push esi
jmp 0x46297f
mov dl, byte [ebp - 0x2065]
cmp byte [ebp - 0x2078], 0
jne 0x462fdd
test dl, dl
mov edx, dword [ebp - 0x202c]
jne 0x462fe3
cmp edx, 2
je 0x462fb4
cmp edx, 3
jne 0x462fe3
cmp dword [ebp - 0x204c], 0
je 0x462102
push ebx
call fcn.00468494
pop ecx
test al, al
je 0x462fe3
cmp esi, 0x25
je 0x462fd6
cmp esi, 0x3f
jne 0x462fe3
cmp edi, 0x3e
je 0x463002
jmp 0x462fe3
mov edx, dword [ebp - 0x202c]
cmp dword [ebp - 0x204c], 6
jne 0x462102
cmp esi, 0x3e
jne 0x462102
cmp ebx, 0x1d
je 0x462102
mov esi, dword [ebp + 0xc]
dec esi
cmp ebx, 0x10
jne 0x46302f
push dword [ebp - 0x2084]
lea eax, [ebp - 0x1ff8]
push esi
push dword [ebp - 0x98]
push eax
call fcn.00468381
add esp, 0x10
mov dword [ebp - 0x2084], eax
jmp 0x463052
mov edi, dword [ebp - 0x2084]
mov dword [ebp - 0x2084], edi
cmp ebx, 0x14
je 0x463115
cmp ebx, 0x2e
je 0x4630f0
cmp ebx, 0x4a
je 0x4630ce
cmp ebx, 0x60
je 0x46309a
cmp ebx, 0x79
je 0x463073
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.00456fec
jmp 0x463128
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0x1058
push eax
push esi
push dword [ebp - 0x98]
call fcn.00467cf6
add esp, 0x10
jmp 0x463128
push dword [ebp - 0x2078]
lea eax, [ebp - 0x58]
push dword [ebp - 0x202c]
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0xc48
push eax
push esi
push dword [ebp - 0x98]
call fcn.00467d9d
add esp, 0x1c
jmp 0x463128
push edx
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0x838
push eax
push esi
push dword [ebp - 0x98]
call fcn.00467f0b
jmp 0x463110
push edx
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0x428
push eax
push esi
push dword [ebp - 0x98]
call fcn.00467c2f
add esp, 0x14
jmp 0x463128
push ebx
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
mov dword [ebp - 0x2084], edi
mov esi, dword [ebp - 0x204c]
cmp esi, 6
je 0x463144
mov ecx, dword [ebp - 0x2058]
inc dword [ebp - 0x2010]
mov dword [ebp + 0xc], ecx
jmp 0x463147
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x2004], 0x25
jne 0x463154
push 0xf
jmp 0x46315b
cmp esi, 5
jne 0x46315e
push 0xd
pop eax
jmp 0x46316a
push 0x12
pop eax
push 0x15
cmp esi, 6
pop edx
cmove eax, edx
push eax
push ecx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
mov ebx, dword [ebp - 0x2080]
xor eax, eax
cmp dword [ebp - 0x2064], 3
mov dword [ebp - 0x2000], ebx
sete al
cmp byte [ebp - 0x2059], 0
mov dword [ebp - 0x202c], eax
je 0x4631a9
cmp esi, 5
je 0x4631a9
dec dword [ebp - 0x200c]
mov ecx, dword [ebp - 0x2098]
mov dword [ebp - 0x204c], ecx
jmp 0x4629d1
mov ebx, esi
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
cmp esi, 0x22
jne 0x46237c
cmp dword [ebp - 0x202c], 1
jne 0x4631fe
push dword [ebp - 0x204c]
lea eax, [ebp - 0x1ff8]
push dword [ebp + 0xc]
push dword [ebp - 0x98]
push eax
call fcn.00468381
add esp, 0x10
mov dword [ebp - 0x204c], eax
push 6
jmp 0x462357
mov ebx, esi
mov dword [ebp - 0x200c], edi
mov esi, dword [ebp - 0x2004]
lea ecx, [ebp - 0x20d4]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.0045a2bb
test al, al
jne 0x463348
cmp dword [ebp - 0x202c], 1
mov ebx, dword [ebp + 0xc]
jne 0x463286
mov ecx, dword [ebp - 0x204c]
lea eax, [ebx - 1]
push ecx
push eax
push dword [ebp - 0x98]
lea eax, [ebp - 0x1ff8]
mov esi, ecx
push eax
call fcn.00468381
mov ecx, eax
add esp, 0x10
cmp esi, ecx
mov dword [ebp - 0x20a0], ecx
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x204c], ecx
je 0x463286
mov eax, dword [ebp - 0x202c]
xor edx, edx
test ecx, ecx
cmove eax, edx
mov dword [ebp - 0x202c], eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
lea ecx, [ebx - 1]
add eax, 0x18
push eax
push ecx
push dword [ebp - 0x98]
call fcn.004679f0
add esp, 0x10
cmp esi, 0x3e
jne 0x463320
push 1
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
cmp dword [ebp - 0x202c], 1
jne 0x4632d5
push dword [ebp - 0x204c]
call fcn.004679b0
pop ecx
mov ebx, eax
jmp 0x4632d7
xor ebx, ebx
cmp byte [ebp - 0x204d], 0
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x2088], 0
mov dword [ebp - 0x200c], edi
jne 0x463317
cmp byte [ebp - 0x205a], 0
mov dword [ebp - 0x200c], edi
jne 0x463317
cmp byte [ebp - 0x207c], 0
lea eax, [edi - 1]
jne 0x463311
lea eax, [edi + 1]
mov dword [ebp - 0x200c], eax
mov byte [ebp - 0x207c], 0
jmp 0x463348
push 8
pop eax
cmp esi, 0x3d
jne 0x46333a
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x13
pop ebx
jmp 0x46333c
mov ebx, eax
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2000], ebx
mov eax, dword [ebp - 0x2040]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2044]
mov dword [ebp - 0x2024], eax
jmp 0x46238e
push dword [ebp - 0x2004]
mov ebx, esi
mov dword [ebp - 0x200c], edi
lea ecx, [ebp - 0x20e0]
mov dword [ebp - 0x2000], ebx
call fcn.0045a2bb
test al, al
jne 0x4634b2
cmp dword [ebp - 0x2004], 0x2f
jne 0x4633ae
cmp dword [ebp - 0x2054], 0x3c
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
je 0x4634b2
mov edx, dword [ebp - 0x2060]
mov ebx, dword [ebp + 0xc]
mov cl, byte [edx + 0x14]
lea eax, [edx + 0x18c4]
push eax
push dword [ebp - 0x20a8]
lea eax, [ebp - 0x205a]
push ecx
push dword [ebp - 0x20ac]
lea edi, [ebx - 1]
push eax
lea eax, [ebp - 0x1ff8]
push eax
lea eax, [edx + 0x18]
push eax
push edi
push dword [ebp - 0x98]
call fcn.00467a7e
add esp, 0x24
cmp eax, 0xe
je 0x4633fc
cmp eax, 9
jne 0x46342e
cmp byte [ebp - 0x207c], 0
jne 0x463424
push 8
cmp eax, 0xe
mov dword [ebp - 0x202c], 1
pop ecx
cmove ecx, dword [ebp - 0x20a0]
mov dword [ebp - 0x204c], ecx
jmp 0x46342b
and dword [ebp - 0x204c], 0
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x2004]
cmp ecx, 0x3e
jne 0x4634bd
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
cmp dword [ebp - 0x202c], 1
jne 0x463463
push dword [ebp - 0x204c]
call fcn.004679b0
pop ecx
mov ebx, eax
jmp 0x463465
xor ebx, ebx
cmp byte [ebp - 0x204d], 0
mov ecx, dword [ebp - 0x2064]
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x2088], 0
mov dword [ebp - 0x200c], ecx
jne 0x4634ab
cmp byte [ebp - 0x205a], 0
mov dword [ebp - 0x200c], ecx
jne 0x4634ab
cmp byte [ebp - 0x207c], 0
lea eax, [ecx - 1]
jne 0x4634a5
lea eax, [ecx + 1]
mov dword [ebp - 0x200c], eax
mov byte [ebp - 0x207c], 0
mov esi, dword [ebp - 0x2004]
jmp 0x463348
cmp ecx, 0x2f
jne 0x46353e
cmp dword [ebp - 0x2008], 0x3e
jne 0x46353e
cmp eax, 2
jne 0x4634d3
push eax
jmp 0x4634e7
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push edi
call fcn.00456fec
push 0xb
mov ebx, dword [ebp - 0x2058]
lea ecx, [ebp - 0x1ff8]
pop eax
push eax
push ebx
call fcn.00456fec
mov esi, dword [ebp - 0x2008]
mov ecx, dword [ebp - 0x2064]
mov dword [ebp + 0xc], ebx
xor ebx, ebx
mov dword [ebp - 0x2004], esi
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x2088], bl
mov dword [ebp - 0x200c], ecx
cmp byte [ebp - 0x204d], bl
je 0x463348
lea edx, [ecx - 1]
mov dword [ebp - 0x200c], edx
jmp 0x463348
mov ecx, dword [ebp - 0x2064]
mov ebx, esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], ecx
cmp eax, 2
je 0x4634b2
mov esi, dword [ebp - 0x2004]
push 0x15
pop edx
mov dword [ebp - 0x200c], ecx
cmp eax, edx
jne 0x463575
mov ebx, edx
jmp 0x463342
push 8
pop eax
mov ebx, eax
jmp 0x463342
mov eax, dword [ebp - 0x2004]
mov ebx, esi
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2000], ebx
cmp eax, 0x3c
jne 0x463885
cmp dword [ebp - 0x2008], 0x2f
mov edi, dword [ebp - 0x2034]
sete al
mov byte [ebp - 0x2088], 1
cmp byte [ebp - 0x204d], 0
mov byte [ebp - 0x207c], al
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2010], edi
je 0x463849
cmp dword [ebp - 0x2008], 0x2f
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2010], edi
mov edi, dword [ebp - 0x2064]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
je 0x463840
cmp dword [ebp - 0x2008], 0x3f
mov edx, dword [ebp - 0x2044]
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
je 0x463849
cmp dword [ebp - 0x2008], 0x21
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
je 0x463849
cmp dword [ebp - 0x2008], 0x2d
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
je 0x463849
cmp dword [ebp - 0x2008], 0x25
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
je 0x463849
mov dword [ebp - 0x2020], eax
inc edi
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov byte [ebp - 0x1ff9], al
jmp 0x463849
lea eax, [edi - 1]
mov dword [ebp - 0x200c], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov ecx, dword [ebp - 0x2008]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp - 0x2004]
cmp ecx, 0x21
je 0x4667dd
push 2
pop ebx
mov dword [ebp - 0x2000], ebx
jmp 0x4667dd
mov edx, dword [ebp - 0x2034]
mov cl, byte [ebp - 0x1ffb]
mov esi, dword [ebp - 0x2048]
mov dword [ebp - 0x2010], edx
mov edx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], edx
mov dh, byte [ebp - 0x1ffc]
mov dword [ebp - 0x2020], esi
mov byte [ebp - 0x1ffa], dh
mov byte [ebp - 0x1ff9], cl
cmp eax, 0x26
jne case.default.0x465e9a
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
dec eax
push 0
push eax
call fcn.00456fec
mov edx, dword [ebp - 0x2034]
mov eax, dword [ebp - 0x2040]
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x2010], edx
mov dh, byte [ebp - 0x1ffc]
push 0xa
mov dword [ebp - 0x201c], eax
mov dword [ebp - 0x2024], ecx
mov dword [ebp - 0x2020], esi
mov byte [ebp - 0x1ffa], dh
mov ah, byte [ebp - 0x1ffb]
mov ecx, dword [ebp - 0x2038]
pop ebx
mov byte [ebp - 0x1ff9], ah
mov dword [ebp - 0x2014], ecx
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp - 0x2004]
jmp 0x4667d7
mov eax, dword [ebp - 0x2004]
cmp eax, 0x3e
jne 0x4639e5
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
lea eax, [ebx - 1]
push eax
call fcn.00456fec
push 1
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
cmp dword [ebp - 0x202c], 1
jne 0x463991
push dword [ebp - 0x204c]
call fcn.004679b0
pop ecx
mov ebx, eax
jmp 0x463993
xor ebx, ebx
cmp byte [ebp - 0x204d], 0
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x2088], 0
mov dword [ebp - 0x200c], edi
jne 0x4639d3
cmp byte [ebp - 0x205a], 0
mov dword [ebp - 0x200c], edi
jne 0x4639d3
cmp byte [ebp - 0x207c], 0
lea eax, [edi - 1]
jne 0x4639cd
lea eax, [edi + 1]
mov dword [ebp - 0x200c], eax
mov esi, dword [ebp - 0x2004]
mov byte [ebp - 0x207c], 0
jmp 0x463b56
cmp eax, 0x22
jne 0x463a0d
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 6
mov esi, dword [ebp - 0x2004]
jmp 0x463b49
cmp eax, 0x27
jne 0x463a2c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 7
jmp 0x463a02
cmp eax, 0x3d
jne 0x463a49
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x13
jmp 0x463a02
cmp eax, 0x2f
jne 0x463ac2
cmp dword [ebp - 0x2008], 0x3e
jne 0x463b0d
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov ebx, dword [ebp - 0x2058]
lea ecx, [ebp - 0x1ff8]
push 0xb
push ebx
call fcn.00456fec
mov esi, dword [ebp - 0x2008]
mov dword [ebp + 0xc], ebx
xor ebx, ebx
mov dword [ebp - 0x2004], esi
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x2088], bl
mov dword [ebp - 0x200c], edi
cmp byte [ebp - 0x204d], bl
je 0x463b56
lea eax, [edi - 1]
mov dword [ebp - 0x200c], eax
jmp 0x463b56
cmp eax, 0x3f
jne 0x463b0d
cmp dword [ebp - 0x2008], 0x3e
jne 0x463b0d
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov ebx, dword [ebp - 0x2058]
lea ecx, [ebp - 0x1ff8]
push 0xd
push ebx
call fcn.00456fec
mov esi, dword [ebp - 0x2008]
mov dword [ebp + 0xc], ebx
xor ebx, ebx
mov dword [ebp - 0x2004], esi
jmp 0x463b4a
mov ebx, esi
mov dword [ebp - 0x200c], edi
mov esi, dword [ebp - 0x2004]
lea ecx, [ebp - 0x20c8]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.0045a2bb
test al, al
je 0x463b56
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 3
pop ebx
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
mov eax, dword [ebp - 0x2040]
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x201c], eax
mov dword [ebp - 0x2024], ecx
mov edx, dword [ebp - 0x2034]
mov ecx, dword [ebp - 0x2048]
mov ah, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2010], edx
mov dh, byte [ebp - 0x1ffc]
mov dword [ebp - 0x2020], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov byte [ebp - 0x1ffa], dh
mov byte [ebp - 0x1ff9], ah
jmp 0x4667d4
mov edi, dword [ebp - 0x2064]
mov ebx, esi
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
sub eax, 9
je 0x463fc3
sub eax, 1
je 0x463ded
sub eax, 7
je 0x463d60
dec eax
sub eax, 1
je 0x463c5f
dec eax
sub eax, 1
jne case.default.0x465e9a
mov eax, dword [ebp - 0x2004]
cmp eax, 0x22
jne 0x4646e3
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x18
pop ebx
jmp 0x46454b
mov ebx, esi
mov dword [ebp - 0x200c], edi
mov esi, dword [ebp - 0x2004]
lea ecx, [ebp - 0x20c8]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.0045a2bb
test al, al
jne 0x463b56
cmp esi, 0x22
jne 0x463c9c
cmp dword [ebp - 0x2054], 0x3d
jne 0x463cb1
push 6
jmp 0x463b49
cmp esi, 0x27
jne 0x463cb1
cmp dword [ebp - 0x2054], 0x3d
jne 0x463cb1
push 7
jmp 0x463b49
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
push dword [ebp - 0x98]
lea esi, [ebx - 1]
call fcn.0046770f
pop ecx
pop ecx
lea ecx, [ebp - 0x1ff8]
test al, al
je 0x463cd9
push 5
jmp 0x463cdf
push dword [ebp - 0x2028]
push esi
call fcn.00456fec
mov esi, dword [ebp - 0x2004]
cmp esi, 0x3e
jne 0x463d56
push 1
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
cmp dword [ebp - 0x202c], 1
jne 0x463d17
push dword [ebp - 0x204c]
call fcn.004679b0
pop ecx
mov ebx, eax
jmp 0x463d19
xor ebx, ebx
cmp byte [ebp - 0x205a], 0
mov dword [ebp - 0x2000], ebx
mov byte [ebp - 0x2088], 0
mov dword [ebp - 0x200c], edi
jne 0x463d4a
cmp byte [ebp - 0x207c], 0
lea eax, [edi - 1]
jne 0x463d44
lea eax, [edi + 1]
mov dword [ebp - 0x200c], eax
mov byte [ebp - 0x207c], 0
jmp 0x463b56
push 8
pop eax
mov ebx, eax
jmp 0x463b4a
cmp dword [ebp - 0x2074], 0x5d
mov ebx, esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
jne 0x463dd6
cmp dword [ebp - 0x2054], 0x5d
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
jne 0x463dd6
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
cmp esi, 0x3e
jne 0x463ddc
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
mov ecx, dword [ebp - 0x2040]
lea eax, [edi - 1]
mov edx, dword [ebp - 0x2044]
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], eax
jmp 0x463ddc
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
jmp 0x463b6e
cmp dword [ebp - 0x2004], 0x3b
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jne 0x463e26
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
mov ecx, dword [ebp - 0x2040]
xor ebx, ebx
mov edx, dword [ebp - 0x2044]
mov dword [ebp - 0x2000], ebx
cmp dword [ebp - 0x2004], 0x23
mov eax, dword [ebp - 0x2048]
mov esi, dword [ebp - 0x2034]
mov dword [ebp - 0x2020], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2010], esi
mov esi, dword [ebp - 0x2038]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2014], esi
je case.default.0x465e9a
mov dword [ebp - 0x2014], esi
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x2010], ecx
cmp esi, 0x7f
ja 0x463ef7
mov dh, byte [ebp - 0x1ffc]
mov dl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x200c], edi
mov edi, dword [ebp - 0x2024]
push esi
mov byte [ebp - 0x1ffa], dh
mov byte [ebp - 0x1ff9], dl
call fcn.0049fdc0
pop ecx
test eax, eax
jne 0x4667d4
mov edx, dword [ebp - 0x200c]
mov ecx, dword [ebp - 0x2010]
jmp 0x463f1d
mov al, byte [ebp - 0x1ffc]
mov edx, edi
mov edi, dword [ebp - 0x2024]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov dword [ebp - 0x200c], edx
mov byte [ebp - 0x1ff9], al
cmp esi, 0x2e
je 0x4667d4
cmp esi, 0x2d
je 0x4667d4
cmp esi, 0x5f
je 0x4667d4
cmp esi, 0x3a
je 0x4667d4
mov bl, byte [ebp - 0x1ffa]
mov byte [ebp - 0x1ffa], bl
mov bl, byte [ebp - 0x1ff9]
push 0x7f
pop eax
mov dword [ebp - 0x2010], ecx
cmp esi, eax
mov ecx, dword [ebp - 0x2014]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x1ff9], bl
mov ebx, dword [ebp - 0x201c]
mov dword [ebp - 0x2024], edi
mov dword [ebp - 0x200c], edx
mov dword [ebp - 0x2014], ecx
mov dword [ebp - 0x201c], ebx
ja 0x463f9b
mov edi, dword [ebp - 0x2020]
mov dword [ebp - 0x2020], edi
jmp 0x463fa8
mov ebx, dword [ebp - 0x2020]
dec eax
mov dword [ebp - 0x2020], ebx
push 2
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
jmp 0x4667d4
push 8
pop eax
mov ebx, esi
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2000], ebx
cmp dword [ebp - 0x204c], eax
je 0x464050
cmp dword [ebp - 0x2074], 0x2d
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
jne 0x464050
cmp dword [ebp - 0x2054], 0x2d
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
jne 0x464050
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], edi
cmp esi, 0x3e
jne 0x464056
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
mov ecx, dword [ebp - 0x2040]
lea eax, [edi - 1]
mov edx, dword [ebp - 0x2044]
xor ebx, ebx
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], eax
jmp 0x464056
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
jmp 0x46238e
cmp dword [ebp - 0x2004], 0x2d
jne 0x464095
cmp dword [ebp - 0x2054], 0x2d
jne 0x464095
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
add eax, 0xfffffffe
push eax
call fcn.00456fec
push 0x1d
jmp 0x4640f0
mov ebx, esi
mov esi, dword [ebp - 0x2004]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.00468343
pop ecx
test al, al
jne 0x4640fd
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
dec esi
add eax, 0x1468
push eax
push esi
push dword [ebp - 0x98]
call fcn.00468288
add esp, 0x10
test al, al
je 0x4640ee
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.00456fec
push 0x17
jmp 0x4640f0
push 0x1a
mov esi, dword [ebp - 0x2004]
pop ebx
mov dword [ebp - 0x2000], ebx
mov eax, dword [ebp - 0x2040]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2044]
mov dword [ebp - 0x2024], eax
jmp 0x462388
cmp esi, 0x1c
jg 0x46462a
je 0x464527
mov edi, dword [ebp - 0x2064]
mov ebx, esi
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
sub eax, 0x17
je 0x464373
sub eax, 1
je 0x464366
sub eax, 1
je 0x464334
sub eax, 1
je 0x464294
sub eax, 1
jne case.default.0x465e9a
push 0x7f
pop eax
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
cmp dword [ebp - 0x2004], eax
ja 0x464224
mov ecx, dword [ebp - 0x2038]
mov esi, dword [ebp - 0x2048]
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2014], ecx
mov ch, byte [ebp - 0x1ffc]
mov cl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2020], esi
mov esi, dword [ebp - 0x2004]
push esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2010], eax
mov byte [ebp - 0x1ffa], ch
mov byte [ebp - 0x1ff9], cl
call fcn.004a0090
pop ecx
test eax, eax
jne 0x4667d4
jmp 0x464266
mov eax, dword [ebp - 0x2048]
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push esi
call fcn.0049fdc0
neg eax
pop ecx
sbb ebx, ebx
push 0x15
and ebx, 5
pop eax
add ebx, eax
jmp 0x463fb8
cmp dword [ebp - 0x2004], 0x2d
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jne 0x4642e1
cmp dword [ebp - 0x2054], 0x2d
mov dword [ebp - 0x2000], ebx
jne 0x4642e1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffe
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.00456fec
mov ecx, dword [ebp - 0x2040]
mov edx, dword [ebp - 0x2044]
push 0x1d
pop ebx
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov edx, dword [ebp - 0x2034]
mov eax, dword [ebp - 0x2048]
mov cl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2010], edx
mov edx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], edx
mov dh, byte [ebp - 0x1ffc]
mov dword [ebp - 0x200c], edi
mov byte [ebp - 0x1ffa], dh
mov dword [ebp - 0x2020], eax
mov byte [ebp - 0x1ff9], cl
jmp case.default.0x465e9a
mov ebx, esi
mov esi, dword [ebp - 0x2004]
cmp esi, 0x27
mov dword [ebp - 0x2000], ebx
jne 0x46237c
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x15
jmp 0x462367
mov ebx, esi
mov esi, dword [ebp - 0x2004]
cmp esi, 0x22
jmp 0x46433f
cmp dword [ebp - 0x2004], 0x2d
jne 0x4643b1
cmp dword [ebp - 0x2054], 0x2d
jne 0x4643b1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x204c]
add ecx, 0xfffffffe
push 0x1f
pop eax
push 0x15
cmp edx, 7
pop edx
cmovne eax, edx
push eax
push ecx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x1e
jmp 0x4640f0
mov ebx, esi
mov esi, dword [ebp - 0x2004]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.00468343
pop ecx
test al, al
je 0x4640fd
cmp dword [ebp - 0x204c], 7
lea ecx, [ebp - 0x1ff8]
push 0x1f
pop ebx
push 0x15
pop eax
cmovne ebx, eax
mov eax, dword [ebp + 0xc]
dec eax
mov dword [ebp - 0x2000], ebx
push ebx
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x2040]
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x201c], eax
xor esi, esi
mov eax, dword [ebp - 0x2044]
inc esi
mov dword [ebp - 0x2024], eax
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
push 0x20
push dword [ebp - 0x2058]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov dword [ebp - 0x200c], edi
mov byte [ebp - 0x1ff9], al
call fcn.004314fb
movzx eax, al
lea ecx, [ebp - 0x20c8]
push eax
call fcn.0045a2bb
test al, al
je 0x4644f8
mov eax, dword [ebp - 0x2040]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2044]
mov dword [ebp - 0x2024], eax
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2034], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov dword [ebp - 0x200c], edi
mov byte [ebp - 0x1ff9], al
inc esi
lea ecx, [ebp - 0x1ff8]
push 0x20
lea eax, [esi + ebx]
push eax
call fcn.004314fb
movzx eax, al
lea ecx, [ebp - 0x20c8]
push eax
call fcn.0045a2bb
test al, al
jne 0x4644cd
mov ebx, dword [ebp - 0x2000]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
add eax, esi
push eax
mov dword [ebp + 0xc], eax
call fcn.00456fec
mov eax, dword [ebp - 0x2034]
dec eax
add eax, esi
mov dword [ebp - 0x2010], eax
jmp 0x4625ee
mov ebx, dword [ebp - 0x2004]
cmp ebx, 0x3b
jne 0x46456e
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x15
pop eax
mov ebx, eax
mov eax, dword [ebp - 0x2040]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2044]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], eax
jmp 0x4642ed
cmp ebx, 0x7f
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov ebx, esi
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2010], eax
mov dword [ebp - 0x2000], ebx
ja 0x4645da
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov ch, byte [ebp - 0x1ffc]
mov cl, byte [ebp - 0x1ffb]
push esi
mov byte [ebp - 0x1ffa], ch
mov byte [ebp - 0x1ff9], cl
call fcn.0049fdc0
pop ecx
test eax, eax
jne 0x4667d4
jmp 0x4645fe
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
cmp esi, 0x2d
je 0x4667d4
cmp esi, 0x2e
je 0x4667d4
push 0x1a
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x15
pop eax
mov ebx, eax
jmp 0x463fb8
mov edi, dword [ebp - 0x2064]
mov ebx, esi
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, esi
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
sub eax, 0x1d
je 0x464a7a
sub eax, 1
je 0x4649e8
sub eax, 1
je 0x463c32
sub eax, 9
je 0x4646b1
sub eax, 1
jne case.default.0x465e9a
mov esi, dword [ebp - 0x2004]
push esi
call fcn.004676d1
pop ecx
test al, al
je 0x464fca
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x2e
jmp 0x4648ea
cmp eax, 0x27
jne 0x464705
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x19
jmp 0x463c59
cmp eax, 0x2d
jne 0x464729
cmp dword [ebp - 0x2054], eax
jne 0x46473c
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffe
cmp dword [ebp - 0x98], eax
jg 0x4642d8
jmp 0x4642ba
test eax, eax
js 0x46486b
cmp eax, 0x80
jge 0x46486b
mov al, byte [ebp - 0x1ffc]
mov ebx, esi
mov esi, dword [ebp - 0x2004]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
push esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2014], eax
call fcn.0049fe50
pop ecx
test eax, eax
je 0x4648c7
mov cl, byte [ebp - 0x1ffb]
mov eax, dword [ebp - 0x2034]
mov dl, byte [ebp - 0x1ffc]
mov esi, dword [ebp - 0x2040]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x2024], ecx
mov ecx, dword [ebp - 0x2048]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2054]
mov dword [ebp - 0x2020], ecx
mov ecx, dword [ebp - 0x2038]
mov byte [ebp - 0x1ffa], dl
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], esi
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x2014], ecx
cmp eax, 0x25
jne 0x4648f0
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
add eax, 0xfffffffe
push eax
call fcn.00456fec
mov ecx, dword [ebp - 0x2044]
mov al, byte [ebp - 0x1ffc]
mov edx, dword [ebp - 0x2034]
mov dword [ebp - 0x2024], ecx
mov ecx, dword [ebp - 0x2048]
push 0x1c
mov byte [ebp - 0x1ffa], al
mov dword [ebp - 0x201c], esi
mov dword [ebp - 0x2020], ecx
mov dword [ebp - 0x2010], edx
jmp 0x463910
mov eax, dword [ebp - 0x2048]
mov ebx, esi
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x2054]
cmp esi, 0x23
jne 0x4648f8
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x1b
pop ebx
jmp 0x463fb8
mov esi, dword [ebp - 0x2004]
jmp 0x4648cd
push 0x5b
pop ecx
cmp esi, ecx
jne 0x464923
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov dword [ebp - 0x204c], 7
push 0x1f
jmp 0x4648ea
cmp esi, 0x5d
jne 0x464968
cmp dword [ebp - 0x204c], 7
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
jne 0x464954
push dword [ebp + 0xc]
call fcn.00456fec
mov dword [ebp - 0x204c], 6
jmp 0x464620
mov ebx, dword [ebp + 0xc]
lea eax, [ebx - 1]
push eax
call fcn.00456fec
push 0x1a
push ebx
jmp 0x464615
cmp dword [ebp - 0x204c], 7
jne 0x4667d4
cmp esi, 0x21
jne 0x4649b2
cmp eax, 0x3c
jne 0x4667d4
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
lea eax, [ebx - 2]
push eax
call fcn.00456fec
push 0x15
pop eax
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x16
jmp 0x4648ea
cmp esi, 0x3e
jne 0x4667d4
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x15
pop eax
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
jmp 0x4667d4
cmp dword [ebp - 0x2004], 0x2d
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
cmp dword [ebp - 0x2054], 0x2d
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
push 0x1d
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x17
pop ebx
mov dword [ebp - 0x2000], ebx
mov ecx, dword [ebp - 0x2040]
mov edx, dword [ebp - 0x2044]
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ebp - 0x2034]
mov dword [ebp - 0x2020], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2010], edx
mov dl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov byte [ebp - 0x1ff9], dl
jmp 0x46392f
cmp dword [ebp - 0x2004], 0x2d
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
cmp dword [ebp - 0x2054], 0x2d
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x15
pop eax
mov ebx, eax
jmp 0x464a1b
cmp esi, 0x4a
jg 0x465791
je 0x4656f3
mov edi, dword [ebp - 0x2064]
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
cmp esi, 0x32
jg 0x4651a5
mov eax, dword [ebp - 0x2038]
mov edi, dword [ebp - 0x2034]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2010], edi
mov edi, dword [ebp - 0x2064]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x2048]
je 0x4646b1
mov edx, dword [ebp - 0x2044]
mov ebx, esi
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
sub eax, 0x2b
je 0x464f79
sub eax, 1
je 0x464f30
dec eax
sub eax, 1
je 0x464e06
dec eax
sub eax, 1
je 0x464cc8
sub eax, 1
jne case.default.0x465e9a
mov eax, dword [ebp - 0x2004]
cmp eax, 0x5c
jne 0x464bed
mov eax, dword [ebp - 0x2008]
cmp eax, 0x22
je 0x464bd7
cmp eax, 0x27
je 0x464bd7
cmp eax, 0x5c
jne 0x464be0
mov eax, dword [ebp - 0x2058]
mov dword [ebp + 0xc], eax
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jmp 0x464a2d
cmp eax, 0x27
jne 0x464c17
push dword [ebp - 0x202c]
push 0x31
call fcn.004684e9
pop ecx
pop ecx
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x29
jmp 0x464a1a
cmp dword [ebp - 0x202c], 1
jne 0x464c5c
cmp eax, 0x2d
jne 0x464c5c
cmp dword [ebp - 0x2008], eax
jne 0x464c5c
cmp dword [ebp - 0x206c], 0x3e
jne 0x464c5c
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x2070]
push 0x2b
mov dword [ebp + 0xc], eax
jmp 0x464a1a
mov ebx, esi
push eax
mov dword [ebp - 0x2000], ebx
call fcn.0046805b
add esp, 4
test al, al
je 0x464a2d
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x2054]
mov dword [ebp - 0x2000], ebx
cmp eax, 0x5c
je 0x464a21
cmp dword [ebp - 0x2074], 0x5c
jne 0x464cc1
cmp eax, 0xd
jne 0x464cc1
cmp dword [ebp - 0x2004], 0xa
mov dword [ebp - 0x2000], ebx
je 0x464a21
push 0x33
jmp 0x464a1a
mov eax, dword [ebp - 0x2004]
cmp eax, 0x5c
jne 0x464cfe
mov eax, dword [ebp - 0x2008]
cmp eax, 0x22
je 0x464ce8
cmp eax, 0x27
je 0x464ce8
cmp eax, 0x5c
jne 0x464cf1
mov eax, dword [ebp - 0x2058]
mov dword [ebp + 0xc], eax
mov ebx, esi
mov esi, dword [ebp - 0x2004]
jmp 0x464dad
cmp eax, 0x22
jne 0x464d2b
push dword [ebp - 0x202c]
push 0x30
call fcn.004684e9
pop ecx
pop ecx
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x29
mov esi, dword [ebp - 0x2004]
jmp 0x464da0
cmp dword [ebp - 0x202c], 1
jne 0x464d6d
cmp eax, 0x2d
jne 0x464d6d
cmp dword [ebp - 0x2008], eax
jne 0x464d6d
cmp dword [ebp - 0x206c], 0x3e
jne 0x464d6d
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov eax, dword [ebp - 0x2070]
push 0x2b
mov dword [ebp + 0xc], eax
jmp 0x464d23
mov ebx, esi
mov esi, dword [ebp - 0x2004]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.0046805b
add esp, 4
test al, al
je 0x464db3
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x33
pop ebx
mov edx, dword [ebp - 0x2044]
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ebp - 0x2034]
mov dword [ebp - 0x2020], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2010], edx
mov dl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov dword [ebp - 0x200c], edi
mov byte [ebp - 0x1ffa], cl
mov byte [ebp - 0x1ff9], dl
jmp 0x4667d4
mov ebx, esi
mov esi, dword [ebp - 0x2004]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.004676a4
pop ecx
test al, al
jne 0x464f13
push dword [ebp - 0x202c]
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
dec esi
add eax, 0x428
push eax
push esi
push dword [ebp - 0x98]
call fcn.00467c2f
mov eax, dword [ebp - 0x2004]
add esp, 0x14
push 0x29
pop ebx
mov dword [ebp - 0x2000], ebx
cmp eax, 0x2f
jne 0x464e96
mov eax, dword [ebp - 0x2008]
push 0x2a
pop ecx
cmp eax, ecx
jne 0x464e87
cmp dword [ebp - 0x206c], ecx
push 0x2c
pop ebx
cmovne ebx, ecx
mov esi, dword [ebp - 0x2004]
jmp 0x464f0d
cmp eax, 0x2f
jne 0x464edb
push 0x2b
mov esi, dword [ebp - 0x2004]
jmp 0x464f0c
cmp eax, 0x22
jne 0x464e9f
push 0x30
jmp 0x464e8e
cmp eax, 0x27
jne 0x464ea8
push 0x31
jmp 0x464e8e
cmp eax, 0x2d
jne 0x464edb
cmp dword [ebp - 0x2008], eax
jne 0x464edb
cmp dword [ebp - 0x206c], 0x3e
jne 0x464edb
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push esi
call fcn.00456fec
mov eax, dword [ebp - 0x2070]
mov dword [ebp + 0xc], eax
jmp 0x464e8c
mov esi, dword [ebp - 0x2004]
push esi
call fcn.0046775a
pop ecx
test al, al
je 0x464f13
push dword [ebp - 0x202c]
push 0x32
call fcn.004684e9
pop ecx
pop ecx
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x29
pop ebx
mov dword [ebp - 0x2000], ebx
mov eax, dword [ebp - 0x2040]
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x201c], eax
mov dword [ebp - 0x2024], ecx
jmp 0x464dbf
mov esi, dword [ebp - 0x2004]
push 0x2a
pop edx
cmp esi, 0x2f
jne 0x4667c6
cmp dword [ebp - 0x2054], edx
jne 0x4667c6
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x29
pop ebx
push 0x20
pop esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2004], esi
jmp 0x4667d4
cmp dword [ebp - 0x2004], 0xd
je 0x464f99
mov ebx, esi
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
cmp esi, 0xa
jne 0x464db3
push dword [ebp - 0x202c]
mov esi, dword [ebp + 0xc]
push 0x2b
dec esi
call fcn.004684e9
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x29
pop ebx
push 0x20
pop esi
mov dword [ebp - 0x2004], esi
jmp 0x464da1
cmp esi, 0x2f
jne 0x465081
mov eax, dword [ebp - 0x2008]
push 0x2a
pop ecx
cmp eax, ecx
jne 0x465029
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov edi, dword [ebp + 0xc]
push 0x2c
pop ebx
push 0x2a
pop edx
cmp dword [ebp - 0x206c], edx
cmovne ebx, edx
cmp dword [ebp - 0x206c], esi
mov dword [ebp - 0x2000], ebx
cmove edi, dword [ebp - 0x2058]
mov dword [ebp + 0xc], edi
mov ecx, dword [ebp - 0x2008]
jmp 0x4667e0
cmp eax, 0x2f
jne 0x46504b
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x2b
jmp 0x4648ea
push dword [ebp - 0x20a4]
lea ecx, [ebp - 0x20ec]
call fcn.0045a2bb
test al, al
je 0x4650f8
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x34
jmp 0x4648ea
cmp esi, 0x22
jne 0x4650a3
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x30
jmp 0x4648ea
cmp esi, 0x27
jne 0x4650c5
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x31
jmp 0x4648ea
cmp esi, 0x3c
jne 0x46513e
cmp dword [ebp - 0x2008], 0x21
jne 0x4650f8
cmp dword [ebp - 0x206c], 0x2d
jne 0x4650f8
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push 0x20
add eax, 3
push eax
call fcn.004314fb
cmp al, 0x2d
je 0x46502e
push esi
call fcn.0046775a
pop ecx
test al, al
je 0x465181
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
lea eax, [ebx - 1]
push eax
call fcn.00456fec
push dword [ebp - 0x202c]
push 0x32
call fcn.004684e9
pop ecx
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x29
jmp 0x4648ea
cmp esi, 0x2d
jne 0x4650f8
cmp dword [ebp - 0x2008], esi
jne 0x4650f8
cmp dword [ebp - 0x206c], 0x3e
jne 0x4650f8
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov edi, dword [ebp - 0x2070]
push 0x2b
pop ebx
mov dword [ebp - 0x2000], ebx
mov dword [ebp + 0xc], edi
jmp 0x4667d7
cmp esi, 0x20
je 0x46518f
cmp esi, 9
jne 0x4667d4
cmp ebx, 0x28
jne 0x4667d4
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x2028]
dec eax
push eax
jmp 0x46512c
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, esi
sub eax, 0x33
je 0x46568e
sub eax, 1
je 0x465383
sub eax, 0x12
je 0x465241
sub eax, 1
je 0x465241
sub eax, 1
jne case.default.0x465e9a
cmp dword [ebp - 0x2004], 0xd
je 0x46521e
mov ebx, esi
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
cmp esi, 0xa
jne 0x464db3
jmp 0x465224
mov esi, dword [ebp - 0x2004]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x47
jmp 0x464da0
mov ebx, dword [ebp - 0x2004]
push ebx
call fcn.004676d1
pop ecx
test al, al
je 0x46526f
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x4a
jmp 0x46535f
cmp ebx, 0x27
jne 0x465291
mov eax, dword [ebp + 0xc]
dec eax
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.00456fec
push 0x48
jmp 0x46535f
cmp ebx, 0x22
jne 0x4652b3
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x4b
jmp 0x46535f
cmp ebx, 0x3c
jne 0x4652e7
cmp dword [ebp - 0x2008], 0x21
jne 0x4652e7
cmp dword [ebp - 0x206c], 0x2d
mov ebx, dword [ebp + 0xc]
jne 0x4652ea
push 0x20
lea eax, [ebx + 3]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
cmp al, 0x2d
jne 0x4652ea
lea eax, [ebx - 1]
jmp 0x465278
mov ebx, dword [ebp + 0xc]
push dword [ebp - 0x2004]
call fcn.0046775a
pop ecx
test al, al
je 0x465322
push dword [ebp - 0x2028]
lea eax, [ebx - 1]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push dword [ebp - 0x202c]
push 0x47
call fcn.004684e9
pop ecx
pop ecx
push eax
push ebx
jmp 0x465352
mov eax, dword [ebp - 0x2004]
cmp eax, 0x20
je 0x46533a
mov ebx, esi
mov dword [ebp - 0x2000], ebx
cmp eax, 9
jne 0x465366
mov ebx, esi
mov dword [ebp - 0x2000], ebx
cmp esi, 0x46
jne 0x465366
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x2028]
dec eax
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x47
pop ebx
mov dword [ebp - 0x2000], ebx
mov eax, dword [ebp - 0x2040]
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x201c], eax
mov dword [ebp - 0x2024], ecx
jmp 0x464a39
mov eax, dword [ebp - 0x2004]
cmp eax, 0xd
je 0x4654ab
cmp eax, 0xa
je 0x4654ab
cmp eax, 0x2f
mov eax, dword [ebp - 0x2048]
je 0x465508
cmp dword [ebp - 0x2004], 0x5c
mov ebx, esi
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
jne case.default.0x465e9a
cmp dword [ebp - 0x2008], 0x5c
je 0x465477
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov dword [ebp - 0x2024], edx
mov edx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], edx
mov dl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ffa], cl
mov ecx, dword [ebp - 0x2008]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
mov byte [ebp - 0x1ff9], dl
cmp ecx, 0x2f
je 0x46547d
mov edi, dword [ebp + 0xc]
jmp 0x4662be
mov ecx, dword [ebp - 0x2008]
mov eax, dword [ebp - 0x2058]
mov dword [ebp + 0xc], eax
inc eax
push 0x20
mov dword [ebp - 0x2004], ecx
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.004314fb
movzx eax, al
mov ebx, esi
mov dword [ebp - 0x2008], eax
jmp 0x465360
mov ebx, dword [ebp - 0x2034]
mov esi, dword [ebp - 0x2004]
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2010], ebx
mov ebx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ebx
mov bl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], bl
mov bl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
mov byte [ebp - 0x1ff9], bl
cmp esi, 0x2f
jne 0x465680
mov ebx, dword [ebp - 0x2038]
mov dword [ebp - 0x2024], edx
mov dl, byte [ebp - 0x1ffc]
mov dword [ebp - 0x2020], eax
mov eax, edi
mov byte [ebp - 0x1ffa], dl
mov dl, byte [ebp - 0x1ffb]
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x200c], eax
mov dword [ebp - 0x2010], ecx
mov byte [ebp - 0x1ff9], dl
cmp dword [ebp - 0x2008], 0x80
mov esi, ebx
mov edx, dword [ebp - 0x201c]
mov edi, ecx
mov ecx, dword [ebp - 0x2024]
mov dword [ebp - 0x2014], ebx
mov ebx, eax
mov eax, dword [ebp - 0x2020]
mov dword [ebp - 0x203c], eax
mov al, byte [ebp - 0x1ff9]
mov byte [ebp - 0x2015], al
mov al, byte [ebp - 0x1ffa]
mov byte [ebp - 0x202d], al
mov eax, dword [ebp - 0x203c]
mov dword [ebp - 0x2074], ecx
mov dword [ebp - 0x209c], edx
jae 0x46567a
mov cl, byte [ebp - 0x202d]
push dword [ebp - 0x2008]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x2015]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2074]
mov dword [ebp - 0x201c], edx
mov dword [ebp - 0x2024], ecx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], ebx
mov dword [ebp - 0x2010], edi
mov dword [ebp - 0x2014], esi
call fcn.0049ff70
pop ecx
test eax, eax
je 0x46567a
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2008]
inc eax
mov dword [ebp + 0xc], eax
inc eax
push 0x20
mov dword [ebp - 0x2004], ecx
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.004314fb
movzx eax, al
mov ecx, edi
mov dword [ebp - 0x2008], eax
mov al, byte [ebp - 0x202d]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x2015]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x209c]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2074]
mov dword [ebp - 0x2024], eax
mov eax, dword [ebp - 0x203c]
mov dword [ebp - 0x2020], eax
mov eax, ebx
mov dword [ebp - 0x200c], ebx
mov ebx, esi
mov dword [ebp - 0x2010], edi
jmp 0x46554c
mov esi, dword [ebp - 0x2004]
push dword [ebp - 0x2028]
push dword [ebp + 0xc]
jmp 0x46512c
push dword [ebp - 0x2004]
call fcn.0046805b
add esp, 4
test al, al
jne 0x4656ad
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x2028]
dec eax
push eax
jmp 0x4656d4
push dword [ebp - 0x2008]
mov ebx, esi
mov dword [ebp - 0x2000], ebx
call fcn.0046805b
add esp, 4
test al, al
jne 0x464a2d
push dword [ebp - 0x2028]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
mov edx, dword [ebp - 0x2044]
mov ecx, dword [ebp - 0x2040]
push 0x29
pop ebx
jmp 0x464be2
mov esi, dword [ebp - 0x2004]
push esi
call fcn.004676a4
pop ecx
test al, al
jne 0x464f13
push dword [ebp - 0x202c]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
dec ecx
add eax, 0x838
push eax
push ecx
push dword [ebp - 0x98]
call fcn.00467f0b
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x2000], ebx
cmp ebx, 0x47
jne 0x464f13
cmp esi, 0x22
jne 0x465751
push 0x4b
jmp 0x464f0c
cmp esi, 0x27
jne 0x46575d
push 0x48
jmp 0x464f0c
push esi
call fcn.0046775a
pop ecx
test al, al
je 0x464f13
push dword [ebp - 0x202c]
push 0x47
call fcn.004684e9
pop ecx
pop ecx
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x47
jmp 0x464f0c
mov edi, dword [ebp - 0x2064]
mov dword [ebp - 0x201c], ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], ecx
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], ecx
mov cl, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], cl
mov cl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], cl
mov ecx, dword [ebp - 0x2040]
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], eax
mov dword [ebp - 0x200c], edi
cmp esi, 0x5e
jg 0x465bc6
mov esi, ebx
cmp ebx, 0x5e
je 0x465b61
mov ecx, dword [ebp - 0x2010]
mov eax, esi
mov dword [ebp - 0x2000], ebx
mov edi, edx
mov edx, dword [ebp - 0x200c]
sub eax, 0x4b
je 0x465b27
dec eax
sub eax, 1
je 0x465a84
sub eax, 0xd
je 0x465866
sub eax, 1
je 0x465866
mov esi, dword [ebp - 0x2004]
sub eax, 1
jne 0x4667d4
cmp esi, 0xd
je 0x465849
cmp esi, 0xa
jne 0x4667d4
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x5b
jmp 0x464622
mov edi, dword [ebp - 0x2004]
push edi
call fcn.004676d1
pop ecx
test al, al
je 0x465895
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x60
pop ebx
jmp 0x465a25
cmp edi, 0x3c
jne 0x4658e9
cmp dword [ebp - 0x2008], 0x21
jne 0x4659a8
cmp dword [ebp - 0x206c], 0x2d
mov ebx, dword [ebp + 0xc]
jne 0x4659ab
push 0x20
lea eax, [ebx + 3]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
cmp al, 0x2d
jne 0x4659ab
lea eax, [ebx - 1]
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.00456fec
push 0x5c
jmp 0x46588f
cmp edi, 0x23
jne 0x4658f4
mov eax, dword [ebp + 0xc]
dec eax
jmp 0x4658d3
cmp edi, 0x22
jne 0x465965
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
cmp dword [ebp - 0x2008], edi
jne 0x46595e
cmp dword [ebp - 0x206c], edi
jne 0x46595e
push 0x62
pop ebx
push 0x20
pop edi
mov esi, edi
mov dword [ebp - 0x2054], edi
push edi
mov eax, dword [ebp - 0x2070]
mov dword [ebp - 0x2000], ebx
mov dword [ebp + 0xc], eax
lea ecx, [ebp - 0x1ff8]
inc eax
mov dword [ebp - 0x2004], esi
push eax
call fcn.004314fb
movzx eax, al
mov dword [ebp - 0x2008], eax
jmp 0x465a31
push 0x5e
jmp 0x46588f
cmp edi, 0x27
jne 0x4659a8
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
cmp dword [ebp - 0x2008], edi
jne 0x4659a1
cmp dword [ebp - 0x206c], edi
jne 0x4659a1
push 0x61
pop ebx
push 0x20
pop ecx
mov esi, ecx
mov dword [ebp - 0x2054], ecx
push ecx
jmp 0x46592e
push 0x5f
jmp 0x46588f
mov ebx, dword [ebp + 0xc]
push edi
call fcn.0046775a
pop ecx
test al, al
je 0x4659eb
push dword [ebp - 0x2028]
lea eax, [ebx - 1]
push eax
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push dword [ebp - 0x202c]
push 0x65
call fcn.004684e9
pop ecx
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
mov ebx, esi
jmp 0x465a25
cmp edi, 0x20
je 0x4659fd
mov ebx, esi
mov dword [ebp - 0x2000], ebx
cmp edi, 9
jne 0x465a2b
mov ebx, esi
mov dword [ebp - 0x2000], ebx
cmp esi, 0x5a
jne 0x465a2b
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x5b
pop eax
mov ebx, eax
mov dword [ebp - 0x2000], ebx
mov esi, dword [ebp - 0x2004]
mov edx, dword [ebp - 0x200c]
mov eax, dword [ebp - 0x201c]
mov cl, byte [ebp - 0x1ff9]
mov dword [ebp - 0x200c], edx
mov edx, dword [ebp - 0x2010]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2024]
mov dword [ebp - 0x2010], edx
mov edx, dword [ebp - 0x2014]
mov dword [ebp - 0x2024], eax
mov eax, dword [ebp - 0x2020]
mov dword [ebp - 0x2014], edx
mov dh, byte [ebp - 0x1ffa]
jmp 0x4623b8
push dword [ebp - 0x2004]
call fcn.0046805b
add esp, 4
test al, al
jne 0x465aa3
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x2028]
dec eax
push eax
jmp 0x465ac6
push dword [ebp - 0x2008]
mov ebx, esi
mov dword [ebp - 0x2000], ebx
call fcn.0046805b
add esp, 4
test al, al
jne 0x465ae6
push dword [ebp - 0x2028]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x47
mov ecx, dword [ebp - 0x2010]
mov edx, dword [ebp - 0x200c]
pop ebx
mov dword [ebp - 0x2000], ebx
mov eax, dword [ebp - 0x201c]
mov dword [ebp - 0x200c], edx
mov edx, dword [ebp - 0x2014]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2020]
mov dword [ebp - 0x2010], ecx
mov cl, byte [ebp - 0x1ff9]
mov dword [ebp - 0x2014], edx
mov dh, byte [ebp - 0x1ffa]
mov dword [ebp - 0x2024], edi
jmp 0x46431d
mov eax, dword [ebp - 0x2004]
cmp eax, 0x22
je 0x465abd
cmp eax, 0xd
je 0x465b44
mov ebx, esi
mov dword [ebp - 0x2000], ebx
cmp eax, 0xa
jne 0x465ae6
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x4d
jmp 0x465ad3
mov esi, dword [ebp - 0x2004]
cmp esi, 0x5c
jne 0x465b93
mov ecx, dword [ebp - 0x2008]
cmp ecx, 0x22
je 0x465b84
cmp ecx, 0x27
je 0x465b84
cmp ecx, esi
jne 0x465a31
mov eax, dword [ebp - 0x2058]
mov esi, ecx
push 0x20
jmp 0x46593a
mov dword [ebp - 0x2000], ebx
cmp esi, 0x22
jne 0x465a31
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x5b
pop eax
mov ebx, eax
mov dword [ebp - 0x2000], ebx
jmp 0x465a31
mov edi, dword [ebp - 0x2064]
mov ebx, esi
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], eax
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x2014], eax
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, esi
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], ecx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x200c], edi
sub eax, 0x5f
je 0x465ddc
sub eax, 1
je 0x465cc5
sub eax, 1
je 0x465c94
sub eax, 1
jne case.default.0x465e9a
cmp dword [ebp - 0x2004], 0x22
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
cmp dword [ebp - 0x2054], 0x22
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
cmp dword [ebp - 0x2074], 0x22
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x5b
jmp 0x464ab0
cmp dword [ebp - 0x2004], 0x27
mov ebx, esi
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
cmp dword [ebp - 0x2054], 0x27
mov dword [ebp - 0x2000], ebx
jne 0x464a2d
cmp dword [ebp - 0x2074], 0x27
jmp 0x465c6b
mov ebx, esi
mov esi, dword [ebp - 0x2004]
push esi
mov dword [ebp - 0x2000], ebx
call fcn.004676a4
pop ecx
test al, al
jne 0x464f13
push dword [ebp - 0x2078]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x58]
push dword [ebp - 0x202c]
dec ecx
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0xc48
push eax
push ecx
push dword [ebp - 0x98]
call fcn.00467d9d
add esp, 0x1c
push 0x5b
pop eax
mov ebx, eax
mov dword [ebp - 0x2000], ebx
cmp esi, 0x23
jne 0x465d2f
push 0x5c
jmp 0x464f0c
cmp esi, 0x22
jne 0x465d8a
cmp dword [ebp - 0x2008], esi
jne 0x465d83
cmp dword [ebp - 0x206c], esi
jne 0x465d83
push 0x62
mov eax, dword [ebp - 0x2070]
pop ebx
push 0x20
pop ecx
mov dword [ebp + 0xc], eax
mov esi, ecx
push ecx
inc eax
mov dword [ebp - 0x2054], ecx
push eax
lea ecx, [ebp - 0x1ff8]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2004], esi
call fcn.004314fb
movzx eax, al
mov dword [ebp - 0x2008], eax
jmp 0x464f13
push 0x5e
jmp 0x464f0c
cmp esi, 0x27
jne 0x465daa
cmp dword [ebp - 0x2008], esi
jne 0x465da3
cmp dword [ebp - 0x206c], esi
jne 0x465da3
push 0x61
jmp 0x465d46
push 0x5f
jmp 0x464f0c
push esi
call fcn.0046775a
pop ecx
test al, al
je 0x464f13
push dword [ebp - 0x202c]
push 0x65
call fcn.004684e9
pop ecx
pop ecx
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
jmp 0x464f13
cmp dword [ebp - 0x2004], 0x5c
jne 0x465e28
mov ecx, dword [ebp - 0x2008]
cmp ecx, 0x22
je 0x465dfa
cmp ecx, 0x27
je 0x465dfa
cmp ecx, 0x5c
jne 0x465e21
mov eax, dword [ebp - 0x2058]
mov dword [ebp + 0xc], eax
inc eax
push 0x20
mov dword [ebp - 0x2004], ecx
lea ecx, [ebp - 0x1ff8]
push eax
call fcn.004314fb
movzx eax, al
mov dword [ebp - 0x2008], eax
mov ebx, esi
jmp 0x464e7c
mov ebx, esi
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
cmp esi, 0x27
jne 0x464f13
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x5b
pop eax
mov ebx, eax
jmp 0x464f0d
mov esi, dword [ebp - 0x2004]
mov dword [ebp - 0x2000], ebx
cmp esi, 0x7d
jne 0x465a31
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x77
pop ebx
jmp 0x465bbb
lea eax, [ebx - 0x76]
cmp eax, 9
ja case.default.0x465e9a
jmp dword [eax*4 + 0x466a7f]
mov esi, dword [ebp - 0x2004]
push esi
call fcn.004676a4
pop ecx
test al, al
jne 0x4667d4
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
dec ecx
add eax, 0x1058
push eax
push ecx
push dword [ebp - 0x98]
call fcn.00467cf6
add esp, 0x10
cmp esi, 0x2f
jne 0x465f2a
mov ecx, dword [ebp - 0x2008]
push 0x2a
pop edx
cmp ecx, edx
jne 0x465ef5
push 0x7c
jmp 0x4666c8
cmp ecx, 0x2f
je 0x4666c6
push 0x4cf0ec
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004574ab
test al, al
jne 0x466708
cmp esi, 0x27
jne 0x465f58
push 0x78
pop ebx
push 1
push 0x4c0000
jmp 0x465f45
cmp esi, 0x23
jne 0x465f36
push 0x7d
jmp 0x4648ea
cmp esi, 0x22
jne 0x465efe
push 0x77
pop ebx
push 1
push 0x4c007c
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2000], ebx
call fcn.004076b1
jmp 0x4667d4
cmp esi, 0x24
jne 0x465f74
push dword [ebp - 0x2008]
call fcn.00467814
pop ecx
test al, al
je 0x465f74
push 0x7b
jmp 0x4648ea
push esi
call fcn.0046775a
pop ecx
push 0x76
pop ecx
test al, al
mov ebx, ecx
push 0x7f
pop eax
cmovne ebx, eax
jmp 0x463fb8
mov eax, dword [ebp - 0x2004]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x4667ce
mov al, byte [ebp - 0x2015]
push dword [ebp - 0x2004]
mov ebx, dword [ebp - 0x2044]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x203c]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2048]
push str..xXabcdefABCDEF
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], eax
mov dword [ebp - 0x2020], edx
mov dword [ebp - 0x200c], ecx
mov dword [ebp - 0x2010], edi
mov dword [ebp - 0x2014], esi
call fcn.00494160
pop ecx
pop ecx
test eax, eax
jne case.default.0x465e9a
mov eax, dword [ebp - 0x2004]
cmp eax, 0x2d
je 0x466021
cmp eax, 0x2b
jne 0x4660ef
cmp dword [ebp - 0x2054], 0x65
mov al, byte [ebp - 0x2015]
mov ebx, dword [ebp - 0x2044]
mov edx, dword [ebp - 0x2048]
mov ecx, dword [ebp - 0x2040]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x203c]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2064]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], ecx
mov dword [ebp - 0x200c], eax
mov dword [ebp - 0x2010], edi
mov dword [ebp - 0x2014], esi
je case.default.0x465e9a
cmp dword [ebp - 0x2054], 0x45
mov bl, byte [ebp - 0x2015]
mov eax, dword [ebp - 0x203c]
mov byte [ebp - 0x1ffa], bl
mov bl, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], bl
mov ebx, dword [ebp - 0x2044]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2064]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], edx
mov dword [ebp - 0x2020], ecx
mov dword [ebp - 0x200c], eax
mov dword [ebp - 0x2010], edi
mov dword [ebp - 0x2014], esi
je case.default.0x465e9a
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
dec eax
push 0x7a
push eax
call fcn.00456fec
push dword [ebp - 0x2004]
call fcn.0046775a
mov dword [ebp - 0x2010], edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2014], esi
mov esi, dword [ebp - 0x2004]
pop ecx
test al, al
je 0x46617e
mov dl, byte [ebp - 0x1ffb]
mov ecx, dword [ebp - 0x2064]
push 0x7f
pop eax
mov ebx, eax
mov byte [ebp - 0x1ff9], dl
mov al, byte [ebp - 0x2015]
mov edx, dword [ebp - 0x2048]
mov byte [ebp - 0x1ffa], al
mov eax, dword [ebp - 0x203c]
mov dword [ebp - 0x2024], edx
mov edx, dword [ebp - 0x2040]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x201c], eax
mov dword [ebp - 0x2020], edx
mov dword [ebp - 0x200c], ecx
jmp 0x4667d7
push 0x76
pop eax
mov ebx, eax
mov al, byte [ebp - 0x2015]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x1ffb]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x203c]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2024], eax
mov eax, dword [ebp - 0x2040]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2064]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x200c], eax
jmp 0x4667d7
push dword [ebp - 0x2008]
call fcn.004677f5
pop ecx
test al, al
jne case.default.0x465e9a
push 0x7b
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x76
pop eax
mov ebx, eax
mov dword [ebp - 0x2000], ebx
jmp case.default.0x465e9a
mov esi, dword [ebp - 0x2004]
push 0x2a
pop edx
cmp esi, 0x2f
jne 0x4667c6
cmp dword [ebp - 0x2054], edx
jne 0x4667c6
push dword [ebp - 0x2028]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
push 0x76
jmp 0x464622
mov esi, dword [ebp - 0x2004]
cmp esi, 0xd
je 0x466257
cmp esi, 0xa
jne 0x4667d4
mov eax, dword [ebp + 0xc]
push dword [ebp - 0x2028]
dec eax
push eax
jmp 0x466231
mov esi, dword [ebp - 0x2004]
cmp esi, 0x5c
jne 0x4662c9
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x40]
mov edi, dword [ebp - 0x40]
cmp esi, 0x10
cmovae eax, edi
cmp dword [ebp - 0x30], 1
jne 0x466299
push dword [ebp - 0x30]
push 0x4c007c
push eax
call fcn.00492a28
add esp, 0xc
test eax, eax
je 0x4662af
mov ecx, dword [ebp - 0x2008]
cmp ecx, 0x24
je 0x4662b5
cmp ecx, 0x7b
jne 0x466343
jmp 0x4662b5
mov ecx, dword [ebp - 0x2008]
mov edi, dword [ebp - 0x2058]
mov dword [ebp + 0xc], edi
mov esi, dword [ebp - 0x2004]
jmp 0x4667dd
mov edi, dword [ebp - 0x2008]
cmp esi, 0x7b
jne 0x4662d9
cmp edi, 0x24
je 0x4662e3
cmp esi, 0x24
jne 0x46633d
cmp edi, 0x7b
jne 0x466315
push dword [ebp - 0x206c]
call fcn.00467814
pop ecx
test al, al
je 0x466310
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x68
jmp 0x4648ea
cmp esi, 0x24
jne 0x46633d
push edi
call fcn.00467814
pop ecx
test al, al
je 0x46633d
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
push 0x7e
jmp 0x4648ea
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x40]
cmp esi, 0x10
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x1ff8]
cmovae eax, edi
push eax
push dword [ebp + 0xc]
call fcn.004574ab
test al, al
je case.default.0x465e9a
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
mov esi, dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
cmp esi, 1
jne 0x466394
push esi
push 0x4c007c
push eax
call fcn.00492a28
add esp, 0xc
test eax, eax
jne 0x466394
push dword [ebp - 0x2028]
jmp 0x4661ec
push dword [ebp - 0x2054]
call fcn.0046805b
mov edi, dword [ebp + 0xc]
add esp, 4
test al, al
je 0x463938
push 0x20
add edi, esi
lea ecx, [ebp - 0x1ff8]
push edi
call fcn.004314fb
push 0x20
lea ecx, [edi + 1]
mov byte [ebp - 0x202d], al
push ecx
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
mov dl, byte [ebp - 0x202d]
mov dh, al
movsx ecx, dl
push ecx
call fcn.0046805b
add esp, 4
test al, al
jne 0x466409
cmp dl, 0x3b
jne case.default.0x465e9a
movsx eax, dh
push eax
call fcn.0046805b
add esp, 4
test al, al
je case.default.0x465e9a
mov eax, dword [ebp - 0x2090]
cmp edi, eax
cmovl eax, esi
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x2028]
dec ecx
add ecx, eax
mov dword [ebp + 0xc], ecx
push ecx
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
cmp byte [ebp - 0x205b], 0
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp - 0x2004]
mov ecx, dword [ebp - 0x2008]
push 0x76
pop eax
mov ebx, eax
push 0x2a
mov dword [ebp - 0x2000], ebx
pop edx
je 0x4667e0
dec dword [ebp - 0x200c]
jmp 0x4667e0
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
cmp dword [ebp - 0x30], 1
jne 0x4664ae
push dword [ebp - 0x30]
push 0x4c0000
push eax
call fcn.00492a28
add esp, 0xc
test eax, eax
jne 0x4664ae
mov esi, dword [ebp - 0x2004]
cmp esi, 0x5c
jne 0x4664a0
mov edi, dword [ebp - 0x2058]
jmp 0x465179
cmp esi, 0x27
jne 0x4667d4
jmp 0x466228
push dword [ebp - 0x2054]
call fcn.0046805b
add esp, 4
test al, al
je case.default.0x465e9a
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x1ff8]
cmovae eax, dword [ebp - 0x40]
push eax
push dword [ebp + 0xc]
call fcn.004574ab
test al, al
je case.default.0x465e9a
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x1ff8]
mov esi, dword [ebp + 0xc]
push 0x20
add esi, edi
push esi
call fcn.004314fb
push 0x20
lea ecx, [esi + 1]
mov byte [ebp - 0x202d], al
push ecx
lea ecx, [ebp - 0x1ff8]
call fcn.004314fb
mov dl, byte [ebp - 0x202d]
mov dh, al
movsx ecx, dl
push ecx
call fcn.0046805b
add esp, 4
test al, al
jne 0x466548
cmp dl, 0x3b
jne case.default.0x465e9a
movsx eax, dh
push eax
call fcn.0046805b
add esp, 4
test al, al
je case.default.0x465e9a
mov eax, dword [ebp - 0x2090]
cmp esi, eax
cmovl eax, edi
jmp 0x466414
push dword [ebp - 0x2008]
call fcn.004677f5
pop ecx
test al, al
jne case.default.0x465e9a
push dword [ebp - 0x2028]
lea ecx, [ebp - 0x1ff8]
push dword [ebp + 0xc]
call fcn.00456fec
push 0x77
pop ebx
jmp 0x4661ff
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push dword [ebp - 0x2028]
dec eax
push eax
call fcn.00456fec
mov esi, dword [ebp - 0x2004]
lea eax, [esi - 0x30]
cmp eax, 9
jbe 0x466681
cmp dword [ebp - 0x2004], 0x2e
mov al, byte [ebp - 0x1ffc]
mov ebx, dword [ebp - 0x209c]
mov edi, dword [ebp - 0x2020]
mov esi, dword [ebp - 0x200c]
mov edx, dword [ebp - 0x2010]
mov ecx, dword [ebp - 0x2014]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x202d]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2000], ebx
mov dword [ebp - 0x2024], eax
mov dword [ebp - 0x2020], edi
mov dword [ebp - 0x200c], esi
mov dword [ebp - 0x2010], edx
mov dword [ebp - 0x2014], ecx
jne 0x466694
mov eax, dword [ebp - 0x2008]
add eax, 0xffffffd0
mov dword [ebp - 0x2020], edi
cmp eax, 9
mov dword [ebp - 0x200c], esi
mov al, byte [ebp - 0x1ffc]
mov byte [ebp - 0x1ffa], al
mov al, byte [ebp - 0x202d]
mov byte [ebp - 0x1ff9], al
mov eax, dword [ebp - 0x2038]
mov dword [ebp - 0x201c], eax
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2010], edx
mov dword [ebp - 0x2014], ecx
mov dword [ebp - 0x2024], eax
ja 0x466688
mov esi, dword [ebp - 0x2004]
push 0x7a
jmp 0x4648ea
mov ebx, dword [ebp - 0x209c]
mov dword [ebp - 0x2000], ebx
mov esi, dword [ebp - 0x2004]
push esi
call fcn.004676d1
pop ecx
test al, al
je 0x4666ac
push 0x79
jmp 0x4648ea
cmp esi, 0x2f
jne 0x4666df
mov ecx, dword [ebp - 0x2008]
push 0x2a
pop edx
cmp ecx, edx
je 0x465eee
cmp ecx, esi
jne 0x4666f1
push 0x7d
mov eax, dword [ebp - 0x2058]
mov edi, eax
pop ebx
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x2000], ebx
jmp 0x4667e0
cmp esi, 0x23
je 0x465f2f
cmp esi, 0x22
je 0x465f3b
push 0x4cf0ec
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.004574ab
test al, al
je 0x466773
lea eax, [ebp - 0x202d]
mov byte [ebp - 0x202d], 0
push eax
lea eax, [ebp - 0x1ff8]
push eax
push dword [ebp - 0x2090]
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004673ca
add esp, 0x14
mov edi, eax
cmp dword [ebp - 0x30], 0
mov dword [ebp + 0xc], edi
je 0x4667d7
mov ecx, dword [ebp - 0x2008]
xor ebx, ebx
cmp byte [ebp - 0x202d], bl
push 0x2a
setne bl
add ebx, 0x77
cmp byte [ebp - 0x205b], 0
mov dword [ebp - 0x2000], ebx
pop edx
je 0x4667e0
inc dword [ebp - 0x200c]
jmp 0x4667e0
cmp esi, 0x27
je 0x465f1e
cmp esi, 0x24
jne 0x466795
push dword [ebp - 0x2008]
call fcn.00467814
pop ecx
test al, al
jne 0x465f6d
push esi
call fcn.0046775a
pop ecx
push 0x7f
test al, al
pop eax
jne 0x464623
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2008]
cmp ebx, eax
jne 0x4667dd
cmp byte [ebp - 0x2089], 0
push 0x76
pop eax
cmovne ebx, eax
jmp 0x46387a
mov edi, dword [ebp + 0xc]
jmp 0x46501e
mov esi, dword [ebp - 0x2004]
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2008]
push 0x2a
pop edx
cmp edi, dword [ebp - 0x98]
setge al
cmp ebx, 0x47
jne 0x466841
cmp esi, 0x22
jne 0x466805
test al, al
je 0x46680e
push 0x4b
pop ebx
mov dword [ebp - 0x2000], ebx
jmp 0x462439
cmp esi, 0x27
jne 0x46680e
push 0x48
jmp 0x4667f9
push esi
call fcn.004676d1
pop ecx
test al, al
je 0x46681d
push 0x4a
jmp 0x4667f9
push esi
call fcn.0046775a
pop ecx
test al, al
je 0x462439
push 0x47
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
call fcn.00456fec
jmp 0x462436
cmp ebx, 0x51
jne 0x46687e
cmp esi, 0x22
jne 0x466853
test al, al
je 0x46685c
push 0x55
jmp 0x4667f9
cmp esi, 0x27
jne 0x46685c
push 0x52
jmp 0x4667f9
push esi
call fcn.004676d1
pop ecx
test al, al
je 0x46686b
push 0x54
jmp 0x4667f9
push esi
call fcn.0046775a
pop ecx
test al, al
je 0x462439
push 0x51
jmp 0x46682e
cmp ebx, 0x29
jne 0x462439
cmp esi, 0x2f
jne 0x4668c6
cmp ecx, edx
jne 0x4668ba
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1ff8]
push 0x20
add eax, 2
push eax
call fcn.004314fb
push 0x2c
pop ebx
cmp al, 0x2a
push 0x2a
pop eax
cmovne ebx, eax
mov dword [ebp - 0x2000], ebx
jmp 0x462436
cmp ecx, 0x2f
jne 0x4668e6
push 0x2b
jmp 0x4667f9
cmp esi, 0x22
jne 0x4668d6
test al, al
je 0x4668e6
push 0x30
jmp 0x4667f9
cmp esi, 0x27
jne 0x4668e6
test al, al
je 0x4668e6
push 0x31
jmp 0x4667f9
push esi
call fcn.004676d1
pop ecx
test al, al
je 0x4668f8
push 0x2e
jmp 0x4667f9
push esi
call fcn.0046775a
pop ecx
test al, al
je 0x462439
push dword [ebp - 0x202c]
push 0x32
call fcn.004684e9
pop ecx
pop ecx
push eax
jmp 0x46682e
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0x1058
push eax
lea eax, [esi - 1]
push eax
push dword [ebp - 0x98]
call fcn.00467cf6
add esp, 0x10
jmp 0x4669d2
push dword [ebp - 0x2078]
lea eax, [ebp - 0x58]
push dword [ebp - 0x202c]
push eax
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0xc48
push eax
lea eax, [esi - 1]
push eax
push dword [ebp - 0x98]
call fcn.00467d9d
add esp, 0x1c
jmp 0x4669d2
push dword [ebp - 0x202c]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0x838
push eax
lea eax, [esi - 1]
push eax
push dword [ebp - 0x98]
call fcn.00467f0b
jmp 0x4669cf
push dword [ebp - 0x202c]
lea eax, [ebp - 0x1ff8]
push eax
mov eax, dword [ebp - 0x2060]
add eax, 0x428
push eax
lea eax, [esi - 1]
push eax
push dword [ebp - 0x98]
call fcn.00467c2f
add esp, 0x14
cmp byte [ebp - 0x1ff9], 0
je 0x466a07
mov ecx, dword [ebp - 0x1ff8]
mov ebx, dword [ebp - 0x2024]
push ebx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x1ff8]
and eax, 0xfffff000
or eax, dword [ebp - 0x2020]
push eax
push ebx
mov edx, dword [ecx]
push ecx
call dword [edx + 0x20]
lea ecx, [ebp - 0x1ff8]
call fcn.00454da5
push dword [ebp - 0x20e4]
call fcn.004909df
push dword [ebp - 0x20cc]
call fcn.004909df
push dword [ebp - 0x20d8]
call fcn.004909df
push dword [ebp - 0x20c0]
call fcn.004909df
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00407414
lea ecx, [ebp - 0x28]
call fcn.00407414
lea ecx, [ebp - 0x40]
call fcn.00407414
lea ecx, [ebp - 0x58]
call fcn.00407414
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004908a3
leave
ret 0x14