Function at 0x469260
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x4c]
push ebx
push esi
push edi
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x28], 0
xor eax, eax
push fcn.00469250
push ebp
push 0x414380
push dword fs:[eax]
mov dword fs:[eax], esp
xor edi, edi
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 4]
mov dword [eax], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax - 1]
cmp al, 0x24
jb 0x46ac90
sub al, 0x24
je 0x469380
sub al, 4
je 0x4699b0
sub al, 1
je 0x46a560
sub al, 1
jb 0x46ac90
sub al, 1
jbe 0x46a580
sub al, 3
je 0x4693d0
sub al, 0x11
je 0x46a580
sub al, 0x1c
je 0x469410
sub al, 1
je 0x46a5a0
sub al, 2
je 0x469330
sub al, 0x1e
je 0x46a560
jmp 0x46ac90
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
cmp byte [eax + 0x278], 0
je 0x46934b
cmp dword [eax + 0x288], 0
jne 0x469360
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov dl, 0x22
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
cmp byte [eax + 0x278], 0
je 0x46939b
cmp dword [eax + 0x288], 0
jne 0x4693b0
mov eax, dword [ebp - 8]
mov dl, 2
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov dl, 0x23
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x276], 0
je 0x4693f8
mov eax, dword [ebp - 8]
mov dl, 3
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov dl, 0x24
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 1
jmp 0x46aef0
mov byte [ebp - 0x20], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x5e
jne 0x469460
mov eax, dword [ebp - 8]
cmp byte [eax + 0x274], 0
je 0x469440
mov eax, dword [ebp - 8]
mov dl, 0x16
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46944d
mov eax, dword [ebp - 8]
mov dl, 5
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
jmp 0x46948d
mov eax, dword [ebp - 8]
cmp byte [eax + 0x274], 0
je 0x469480
mov eax, dword [ebp - 8]
mov dl, 0x15
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46948d
mov eax, dword [ebp - 8]
mov dl, 4
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x18], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x5d
jne 0x469906
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax + 1], 0x2d
sete cl
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov dl, byte [eax]
mov eax, ebp
call fcn.0046b010
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
jmp 0x469906
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
cmp byte [edx], 0x2d
jne 0x469510
add edx, 1
cmp edx, dword [eax + 0x22c]
jae 0x469510
cmp byte [edx], 0x5d
jne 0x469510
mov eax, ebp
xor cl, cl
mov dl, 0x2d
call fcn.0046b010
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
jmp 0x469920
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
cmp byte [edx], 0x2d
jne 0x469618
add edx, 1
cmp edx, dword [eax + 0x22c]
jae 0x469618
cmp byte [ebp - 0x18], 0
je 0x469618
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov bl, byte [eax]
cmp bl, 0x5c
jne 0x4695a6
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax + 1]
call fcn.00465a70
test al, al
je 0x469580
mov eax, dword [ebp - 8]
mov edx, 0x76
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x22c]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x234]
mov eax, dword [ebp - 8]
call fcn.00468fc0
mov bl, al
mov eax, dword [ebp - 8]
cmp byte [eax + 0x275], 0
je 0x4695d8
cmp byte [ebp - 0x14], 0xe0
jne 0x4695d8
cmp bl, 0xdf
jne 0x4695d8
mov eax, ebp
mov cl, 0xff
mov dl, 0xe0
call fcn.0046af10
mov eax, ebp
mov cl, 0xdf
mov dl, 0xc0
call fcn.0046af10
jmp 0x469604
cmp bl, byte [ebp - 0x14]
jae 0x4695f8
mov eax, dword [ebp - 8]
mov edx, 0x6d
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov dl, byte [ebp - 0x14]
mov eax, ebp
mov cl, bl
call fcn.0046af10
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
jmp 0x469906
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x5c
jne 0x4698c0
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x234]
cmp eax, dword [edx + 0x22c]
jb 0x469660
mov eax, dword [ebp - 8]
mov edx, 0x6e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
call fcn.00465a70
test al, al
je 0x469868
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0
mov eax, dword [ebp - 8]
mov dl, 2
call fcn.00467020
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
cmp al, 0x44
jb 0x469850
sub al, 0x44
je 0x469790
sub al, 4
je 0x469810
sub al, 0xa
je 0x469830
sub al, 1
je 0x469750
sub al, 3
je 0x4697d0
sub al, 1
je 0x469710
sub al, 0xd
je 0x469770
sub al, 4
je 0x4697f0
sub al, 0xb
je 0x469730
sub al, 3
je 0x4697b0
sub al, 1
jne 0x469850
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x494]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x495]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x498]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x499]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x496]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x497]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x49c]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x49d]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x49a]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x49b]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0x4a0]
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x4698fc
mov eax, dword [ebp - 8]
mov edx, 0x3f0
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x4698fc
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x22c]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x234]
mov eax, dword [ebp - 8]
call fcn.00468fc0
mov byte [ebp - 0x48], al
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x234]
lea ecx, [eax + 2]
cmp ecx, dword [edx + 0x22c]
jae 0x4698a8
cmp byte [eax + 1], 0x2d
jne 0x4698a8
cmp byte [ecx], 0x5d
setne byte [ebp - 0x4c]
jmp 0x4698ac
mov byte [ebp - 0x4c], 0
mov eax, ebp
mov cl, byte [ebp - 0x4c]
mov dl, byte [ebp - 0x48]
call fcn.0046b010
jmp 0x4698fc
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x234]
lea ecx, [eax + 2]
cmp ecx, dword [edx + 0x22c]
jae 0x4698e3
cmp byte [eax + 1], 0x2d
jne 0x4698e3
cmp byte [ecx], 0x5d
setne byte [ebp - 0x4c]
jmp 0x4698e7
mov byte [ebp - 0x4c], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov dl, byte [eax]
mov eax, ebp
mov cl, byte [ebp - 0x4c]
call fcn.0046b010
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
cmp edx, dword [eax + 0x22c]
jae 0x469920
cmp byte [edx], 0x5d
jne 0x4694d8
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.00467020
mov edx, dword [ebp - 8]
cmp byte [ebp - 0x20], 0
sete al
and al, byte [edx + 0x274]
je 0x469963
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0x16
jne 0x469955
mov eax, dword [ebp - 0xc]
mov byte [eax], 5
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0x15
jne 0x469963
mov eax, dword [ebp - 0xc]
mov byte [eax], 4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x5d
je 0x469990
mov eax, dword [ebp - 8]
mov edx, 0x71
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46aef0
mov byte [ebp - 0x44], 0
lea eax, [ebp - 0x28]
xor edx, edx
call fcn.00407f30
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x3f
jne 0x469fb0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov bl, byte [eax + 1]
mov al, bl
sub al, 0x21
cmp al, 0x59
ja case.0x4699eb.34
movzx eax, al
jmp dword [eax*4 + 0x49f588]
mov byte [ebp - 0x44], 1
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 2
jmp 0x469fb0
mov byte [ebp - 0x44], 2
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 2
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
add edx, 4
cmp edx, dword [eax + 0x22c]
jb 0x469a64
mov eax, dword [ebp - 8]
mov edx, 0x8c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax + 2]
cmp al, 0x3c
jb 0x469bb0
sub al, 0x3c
je 0x469a90
sub al, 1
je 0x469ae0
sub al, 1
je 0x469b30
jmp 0x469bb0
mov byte [ebp - 0x44], 0
push 0x3e
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x469ac1
mov eax, dword [eax - 4]
lea edx, [eax + 4]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
jmp 0x469fb0
mov byte [ebp - 0x44], 3
push 0x29
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x469b11
mov eax, dword [eax - 4]
lea edx, [eax + 4]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
jmp 0x469fb0
mov byte [ebp - 0x44], 0xb
push 0x29
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x469b61
mov eax, dword [eax - 4]
lea edx, [eax + 4]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x469fb0
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466a40
mov dword [ebp - 0x2c], eax
test eax, eax
jg 0x469fb0
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, 0x8c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax + 2]
cmp al, 0x21
jb 0x469d10
sub al, 0x21
je 0x469c60
sub al, 0x1c
je 0x469c20
sub al, 4
jb 0x469d10
sub al, 0x19
jbe 0x469ca0
sub al, 7
jb 0x469d10
sub al, 0x19
jbe 0x469ca0
jmp 0x469d10
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
add edx, 4
cmp edx, dword [eax + 0x22c]
jb 0x469c44
mov eax, dword [ebp - 8]
mov edx, 0x98
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x44], 8
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 3
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
add edx, 4
cmp edx, dword [eax + 0x22c]
jb 0x469c84
mov eax, dword [ebp - 8]
mov edx, 0x98
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x44], 9
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 3
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
add edx, 4
cmp edx, dword [eax + 0x22c]
jb 0x469cc4
mov eax, dword [ebp - 8]
mov edx, 0x8c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x44], 0
push 0x3e
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x469cf5
mov eax, dword [eax - 4]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, 0x78
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
add edx, 3
cmp edx, dword [eax + 0x22c]
jb 0x469d54
mov eax, dword [ebp - 8]
mov edx, 0x96
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
cmp bl, 0x3d
jne 0x469d60
mov byte [ebp - 0x44], 6
jmp 0x469d64
mov byte [ebp - 0x44], 7
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 2
jmp 0x469fb0
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov byte [ebp - 0x44], 4
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 2
jmp 0x469fb0
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov byte [ebp - 0x44], 5
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
jmp 0x469fb0
mov byte [ebp - 0x44], 0xa
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 2
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x29
je 0x469dec
mov eax, dword [ebp - 8]
mov edx, 0x84
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
jmp 0x469fb0
mov byte [ebp - 0x44], 0xb
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
lea edx, [eax + 0x234]
lea ecx, [ebp - 0x2c]
call fcn.0046b150
test al, al
je 0x469e31
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x29
je 0x469e50
mov eax, dword [ebp - 8]
mov edx, 0x84
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x469fb0
mov edx, dword [ebp - 0x2c]
cmp edx, dword [eax + 0xcc]
jle 0x469fb0
mov eax, dword [ebp - 8]
mov edx, 0x85
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
add edx, 4
cmp edx, dword [eax + 0x22c]
jb 0x469eb4
mov eax, dword [ebp - 8]
mov edx, 0x8c
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x44], 0
push 0x27
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x469ee5
mov eax, dword [eax - 4]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
add edx, 2
cmp edx, dword [eax + 0x22c]
jb 0x469f24
mov eax, dword [ebp - 8]
mov edx, 0x85
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov byte [ebp - 0x44], 0xb
push 0x29
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x469f55
mov eax, dword [eax - 4]
lea edx, [eax + 3]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x469fb0
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466a40
mov dword [ebp - 0x2c], eax
test eax, eax
jg 0x469fb0
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x469fb0
mov eax, dword [ebp - 8]
mov edx, 0x78
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov al, byte [ebp - 0x44]
test al, al
je 0x46a050
sub al, 1
je 0x46a010
sub al, 1
je 0x46a050
sub al, 1
je 0x46a310
sub al, 1
je 0x46a4ba
sub al, 1
je 0x46a370
sub al, 1
jb 0x46aef0
sub al, 1
jbe 0x46a130
sub al, 2
jbe 0x46a1c0
sub al, 1
je 0x46a520
sub al, 1
je 0x46a540
jmp 0x46aef0
lea eax, [ebp - 0x24]
push eax
push 0xff
push 0xff
mov eax, dword [ebp - 8]
xor cl, cl
mov dl, 1
call fcn.00467d70
mov dword [ebp - 0xc], eax
xor ecx, ecx
test eax, eax
cmove edi, ecx
je 0x46aef3
mov edx, dword [ebp - 0x24]
and edx, 0x1d
mov eax, dword [ebp - 4]
or dword [eax], edx
jmp 0x46aef0
test byte [ebp - 0x44], 0xff
jne 0x46a0d3
mov eax, dword [ebp - 8]
add dword [eax + 0xd0], 1
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x46a090
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0xb4]
mov eax, dword [ecx + 0xd0]
mov ecx, dword [ecx + 0x238]
mov dword [edx + eax*4], ecx
jmp 0x46a0d3
cmp dword [ebp - 0x28], 0
je 0x46a0d3
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466a40
test eax, eax
jl 0x46a0ba
mov eax, dword [ebp - 8]
mov edx, 0x8f
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xd0]
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466af0
cmp byte [ebp - 0x44], 2
jne 0x46a0f8
lea eax, [ebp - 0x24]
push eax
push 0x34
push 0x35
mov eax, dword [ebp - 8]
mov cl, 1
mov dl, 1
call fcn.00467d70
mov dword [ebp - 0xc], eax
jmp 0x46a108
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.00467d50
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], 0
cmove edi, eax
je 0x46aef3
mov edx, dword [ebp - 0x24]
and edx, 0x1d
mov eax, dword [ebp - 4]
or dword [eax], edx
jmp 0x46aef0
mov al, byte [ebp - 0x44]
cmp al, 6
jb 0x46a170
sub al, 6
je 0x46a150
sub al, 1
je 0x46a160
jmp 0x46a170
mov eax, dword [ebp - 8]
mov dl, 0x37
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46a170
mov eax, dword [ebp - 8]
mov dl, 0x38
call fcn.00466f60
mov dword [ebp - 0xc], eax
nop dword [eax]
lea eax, [ebp - 0x24]
push eax
push 0xff
push 0x39
mov eax, dword [ebp - 8]
xor cl, cl
mov dl, 1
call fcn.00467d70
mov edi, eax
test eax, eax
je 0x46aef3
mov eax, dword [ebp - 8]
mov edx, edi
call fcn.0046b910
mov ecx, eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.00466ee0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0xfffffffe
or eax, 0x20
mov edx, dword [ebp - 4]
mov dword [edx], eax
jmp 0x46aef0
mov al, byte [ebp - 0x44]
cmp al, 8
jb 0x46a200
sub al, 8
je 0x46a1e0
sub al, 1
je 0x46a1f0
jmp 0x46a200
mov eax, dword [ebp - 8]
mov dl, 0x3a
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46a200
mov eax, dword [ebp - 8]
mov dl, 0x3b
call fcn.00466f60
mov dword [ebp - 0xc], eax
nop dword [eax]
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x24c]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x23c]
cmp edx, dword [eax + 0x24c]
je 0x46a230
mov eax, dword [ebp - 8]
add dword [eax + 0x24c], 9
jmp 0x46a23a
mov eax, dword [ebp - 8]
add dword [eax + 0x250], 9
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0xd0]
lea eax, [ebp - 0x24]
push eax
push 0xff
push 0x3c
mov eax, dword [ebp - 8]
xor cl, cl
mov dl, 1
call fcn.00467d70
mov edi, eax
test eax, eax
je 0x46aef3
mov eax, dword [ebp - 8]
mov edx, edi
call fcn.0046b910
mov ecx, eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.00466ee0
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 8]
lea edx, [eax + 0x23c]
cmp edx, dword [eax + 0x24c]
je 0x46a2fb
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x3c
push 0
push 4
lea ecx, [ebp - 0x38]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0046f000
test al, al
je 0x46a2c0
mov byte [esi + 8], 2
jmp 0x46a2f0
mov eax, dword [ebp - 8]
cmp ebx, dword [eax + 0xd0]
jge 0x46a2e8
cmp byte [eax + 5], 0
jne 0x46a2e8
mov eax, dword [ebp - 8]
mov edx, 0x99
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46a2f0
test byte [ebp - 0x24], 0x10
setne byte [esi + 8]
mov eax, dword [ebp - 0x30]
mov dword [esi], eax
mov eax, dword [ebp - 0x34]
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0xfffffffe
or eax, 0x20
mov edx, dword [ebp - 4]
mov dword [edx], eax
jmp 0x46aef0
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466a40
mov esi, eax
mov edx, dword [ebp - 8]
test eax, eax
setl al
and al, byte [edx + 0x25c]
je 0x46a342
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x274]
mov eax, dword [ebp - 8]
mov edx, esi
call fcn.004670a0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x234]
jmp 0x46a38a
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x234]
cmp eax, dword [edx + 0x22c]
jae 0x46a3a5
mov al, byte [eax]
cmp al, 0x29
je 0x46a3a5
cmp al, 0x3a
jne 0x46a380
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x274]
mov dword [ebp - 0x40], edx
mov ax, word [eax + 0x278]
mov word [ebp - 0x3c], ax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x3a
jne 0x46a440
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
sub edx, ebx
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x274]
mov eax, ebx
call fcn.00465d70
test al, al
je 0x46a440
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.00467d50
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x274], edx
mov dx, word [ebp - 0x3c]
mov word [eax + 0x278], dx
xor eax, eax
cmp dword [ebp - 0xc], 0
cmove edi, eax
je 0x46aef3
mov edx, dword [ebp - 0x24]
and edx, 0x1d
mov eax, dword [ebp - 4]
or dword [eax], edx
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x29
jne 0x46a490
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
sub edx, ebx
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x274]
mov eax, ebx
call fcn.00465d70
test al, al
je 0x46a490
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
mov dl, 0x13
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov edx, 0x7f
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x234]
cmp eax, dword [edx + 0x22c]
jae 0x46a4d0
cmp byte [eax], 0x29
jne 0x46a4b0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x29
je 0x46a4f8
mov eax, dword [ebp - 8]
mov edx, 0x7d
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
mov dl, 0x13
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 4]
or dword [eax], 1
mov eax, dword [ebp - 8]
mov dl, 0x30
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 4]
or dword [eax], 1
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov dl, 0x41
call fcn.00467080
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov edx, 0x72
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
mov edx, 0x73
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x234]
cmp edx, dword [eax + 0x22c]
jb 0x46a5d0
mov eax, dword [ebp - 8]
mov edx, 0x74
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
sub al, 0x31
cmp al, 0x49
ja case.0x46a5e8.58
movzx eax, al
jmp dword [eax*4 + 0x49f6f0]
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
mov dl, 0x25
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46ac80
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
mov dl, 0x26
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46ac80
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46ac80
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
mov dl, 2
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46ac80
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
mov dl, 0x19
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46ac80
mov eax, dword [ebp - 4]
or dword [eax], 0x40
mov eax, dword [ebp - 8]
mov dl, 0x1a
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0xc
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0xd
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x10
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x11
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0xe
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0xf
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x29
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x2a
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x27
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x28
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x46a820
mov edx, dword [eax + 0x234]
movzx edx, byte [edx]
sub edx, 0x30
cmp edx, dword [eax + 0xcc]
jle 0x46a820
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
movzx edx, byte [eax]
sub edx, 0x30
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x274]
mov eax, dword [ebp - 8]
call fcn.004670a0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax + 1]
cmp al, 0x27
jb 0x46aab0
sub al, 0x27
je 0x46a890
sub al, 9
jb 0x46aab0
sub al, 9
jbe 0x46aa00
sub al, 3
je 0x46a890
sub al, 0x3f
je 0x46a970
jmp 0x46aab0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax + 1]
cmp al, 0x27
jb 0x46a900
sub al, 0x27
je 0x46a8d0
sub al, 0x15
jne 0x46a900
push 0x3e
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
jmp 0x46a900
push 0x27
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
nop word [eax + eax]
nop
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46a90a
mov eax, dword [eax - 4]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466a40
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x46a94b
cmp dword [ebp - 0x2c], 0
jg 0x46a94b
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov dl, 0x41
call fcn.00467080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 1
jmp 0x46ac80
push 0x7d
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46a99d
mov eax, dword [eax - 4]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466a40
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x46a9de
cmp dword [ebp - 0x2c], 0
jg 0x46a9de
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x274]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.004670a0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
lea edx, [eax + 0x234]
lea ecx, [ebp - 0x2c]
call fcn.0046b150
test al, al
jne 0x46aa38
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
sub dword [eax + 0x234], 1
cmp dword [ebp - 0x2c], 0
jne 0x46aa58
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov edx, dword [ebp - 8]
cmp byte [edx + 0x25c], 0
je 0x46aa7f
mov eax, dword [ebp - 0x2c]
cmp eax, dword [edx + 0xcc]
jle 0x46aa7f
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x274]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.004670a0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax + 1]
cmp al, 0x27
jb 0x46ab90
sub al, 0x27
je 0x46ab30
sub al, 0x15
je 0x46ab00
sub al, 0x3f
je 0x46ab60
jmp 0x46ab90
push 0x3e
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
jmp 0x46aba0
push 0x27
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
jmp 0x46aba0
push 0x7d
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
call fcn.0046b1c0
jmp 0x46aba0
mov eax, dword [ebp - 8]
mov edx, 0x9a
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46abaa
mov eax, dword [eax - 4]
lea edx, [eax + 2]
mov eax, dword [ebp - 8]
add dword [eax + 0x234], edx
mov eax, dword [ebp - 8]
add eax, 0xb8
mov edx, dword [ebp - 0x28]
call fcn.00466a40
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x25c], 0
je 0x46abeb
cmp dword [ebp - 0x2c], 0
jg 0x46abeb
mov eax, dword [ebp - 8]
mov edx, 0x8e
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0x274]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.004670a0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x46
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 0x40
jmp 0x46ac80
mov eax, dword [ebp - 8]
mov dl, 0x1b
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
or dword [eax], 3
jmp 0x46ac80
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x22c]
mov eax, dword [ebp - 8]
lea edx, [eax + 0x234]
mov eax, dword [ebp - 8]
call fcn.00468fc0
mov dl, al
mov eax, ebp
call fcn.0046b0a0
nop word [eax + eax]
nop
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
jmp 0x46aef0
mov eax, dword [ebp - 8]
sub dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
cmp byte [eax + 0x279], 0
je 0x46ad60
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x23
je 0x46acd0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
call fcn.00465a30
test al, al
je 0x46ad60
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x23
jne 0x46ad3a
jmp 0x46acf2
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x234]
cmp eax, dword [edx + 0x22c]
jae 0x46ad1a
mov al, byte [eax]
cmp al, 0xd
je 0x46ad1a
cmp al, 0xa
jne 0x46ace8
jmp 0x46ad1a
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
cmp al, 0xd
je 0x46ad10
cmp al, 0xa
je 0x46ad10
jmp 0x46ad4e
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
call fcn.00465a30
test al, al
jne 0x46ad30
mov eax, dword [ebp - 8]
mov dl, 0x13
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46aef0
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
call fcn.00467280
mov esi, eax
test eax, eax
jg 0x46adbd
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x7b
je 0x46ada0
mov eax, dword [ebp - 8]
mov edx, 0x77
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx]
call dword [ecx + 0x64]
jmp 0x46aef3
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
add eax, 1
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x22c]
call fcn.00467280
lea esi, [eax + 1]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov dl, byte [eax + esi]
cmp esi, 1
jle 0x46adf4
cmp dl, 0x2a
sete cl
cmp dl, 0x2b
sete al
or cl, al
cmp dl, 0x3f
sete al
or cl, al
cmp dl, 0x7b
sete al
or cl, al
setne al
movzx eax, al
sub esi, eax
mov eax, dword [ebp - 4]
or dword [eax], 1
cmp esi, 1
jne 0x46ae05
mov eax, dword [ebp - 4]
or dword [eax], 2
mov eax, dword [ebp - 8]
cmp byte [eax + 0x274], 0
je 0x46ae20
mov eax, dword [ebp - 8]
mov dl, 0x14
call fcn.00466f60
mov dword [ebp - 0xc], eax
jmp 0x46ae2d
mov eax, dword [ebp - 8]
mov dl, 8
call fcn.00466f60
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
xor edx, edx
call fcn.00467050
jmp 0x46aecd
mov eax, dword [ebp - 8]
cmp byte [eax + 0x279], 0
je 0x46ae60
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
call fcn.00465a30
test al, al
jne 0x46aec0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x274], 0
je 0x46ae90
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov al, byte [eax]
call fcn.00465c50
mov dl, al
mov eax, dword [ebp - 8]
call fcn.00467020
jmp 0x46aea3
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
mov dl, byte [eax]
mov eax, dword [ebp - 8]
call fcn.00467020
mov eax, dword [ebp - 8]
lea edx, [eax + 0x23c]
cmp edx, dword [eax + 0x24c]
je 0x46aec0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x258]
add dword [eax], 1
mov eax, dword [ebp - 8]
add dword [eax + 0x234], 1
sub esi, 1
test esi, esi
jle 0x46aef0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x279], 0
je 0x46ae40
mov eax, dword [eax + 0x234]
cmp byte [eax], 0x23
jne 0x46ae40
mov edi, dword [ebp - 0xc]
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.00469250
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret