Function at 0x42576e
Capabilities:
Authenticate hmac
Parse credit card information

Disassembly:
sub esp, 0x30
mov eax, dword [0x49526c]
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], edi
je 0x4257e8
mov ecx, dword [eax]
push eax
and ecx, 0x7f800
cmp ecx, 0x15000
jne 0x4257ab
call fcn.0042856c
mov esi, eax
pop ecx
cmp esi, 0x164
jne 0x426fce
jmp 0x4257d3
call fcn.00427c56
mov esi, eax
pop ecx
cmp esi, 0x164
je 0x4257c7
cmp esi, 0x13c
jne 0x426fce
push dword [0x49526c]
call sym.ruby187c.exc_rb_gc_force_recycle
pop ecx
mov dword [0x49526c], edi
mov dword [0x495260], 1
jmp 0x426fce
mov eax, dword [0x481a68]
mov dword [0x481a68], edi
mov dword [esp + 0x18], eax
mov ebp, 0x107
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
push 8
pop esi
call fcn.00427990
mov ebx, eax
cmp ebx, 0x2e
jg 0x4258d8
je 0x42674a
cmp ebx, 0x24
jg 0x4258c6
je 0x425b66
cmp ebx, 0x1a
jg 0x425869
je 0x426f63
cmp ebx, 0xffffffff
jl case.default.0x4258d1
test ebx, ebx
jle 0x426f63
cmp ebx, 4
je 0x426f63
cmp ebx, 9
je 0x4258bd
cmp ebx, 0xa
je 0x42589a
jle case.default.0x4258d1
cmp ebx, 0xd
jle 0x4258bd
jmp case.default.0x4258d1
mov eax, ebx
sub eax, 0x20
je 0x4258bd
dec eax
je 0x425b33
dec eax
je 0x425b28
dec eax
jne case.default.0x4258d1
call fcn.00427990
cmp eax, 0xa
je 0x42589a
cmp eax, 0xffffffff
je 0x426f63
jmp 0x425885
mov eax, dword [0x495260]
test eax, eax
je 0x425805
cmp eax, 5
jle 0x425b17
cmp eax, esi
jg 0x425b17
jmp 0x425805
inc dword [esp + 0x10]
jmp 0x425805
lea eax, [ebx - 0x25]
cmp eax, esi
ja case.default.0x4258d1
jmp dword [eax*4 + 0x42796c]
cmp ebx, 0x5b
jg 0x425a3a
je 0x427262
cmp ebx, 0x3c
jg 0x425921
je 0x426e37
cmp ebx, 0x2f
je 0x426d86
jle case.default.0x4258d1
cmp ebx, 0x39
jle 0x42618b
cmp ebx, 0x3a
je 0x4267d3
cmp ebx, 0x3b
je 0x4267c4
jmp case.default.0x4258d1
mov eax, ebx
sub eax, 0x3d
je 0x425942
dec eax
je 0x427178
dec eax
je 0x426fd5
dec eax
je 0x426eef
jmp case.default.0x4258d1
mov eax, dword [0x495258]
lea ecx, [eax + 1]
mov eax, dword [0x495250]
cmp eax, ecx
jne 0x4271ef
push 5
push str.begin
push eax
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x4271ef
mov eax, dword [0x495250]
mov al, byte [eax + 5]
cmp al, 0x80
jae 0x4271ef
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x425996
movzx eax, al
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x4259a6
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, al
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, esi
test eax, eax
je 0x4271ef
mov eax, dword [0x495268]
mov dword [0x495250], eax
call fcn.00427990
cmp eax, 0xffffffff
je 0x4271e0
cmp eax, 0x3d
jne 0x4259ae
push 3
push 0x480fb8
push dword [0x495250]
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x4259ae
mov eax, dword [0x495250]
add eax, 3
cmp eax, dword [0x495268]
je 0x425a2b
mov al, byte [eax]
cmp al, 0x80
jae 0x4259ae
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x425a16
movzx eax, al
push 8
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x425a27
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, al
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x4259ae
mov eax, dword [0x495268]
mov dword [0x495250], eax
jmp 0x4257fc
push 0x60
pop ecx
cmp ebx, ecx
jg 0x425a82
je 0x4273a8
mov eax, ebx
sub eax, 0x5c
je 0x425a65
dec eax
je case.0x4258d1.41
dec eax
je 0x42735d
dec eax
je 0x427319
jmp case.default.0x4258d1
call fcn.00427990
mov ebx, eax
cmp ebx, 0xa
jne 0x4273a1
mov dword [esp + 0x10], 1
jmp 0x425805
mov eax, ebx
sub eax, 0x7b
je 0x4278e7
dec eax
je 0x427874
dec eax
je case.0x4258d1.41
dec eax
je 0x4277cc
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x425afc
cmp bl, al
jae 0x425ae4
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x425acf
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x425adc
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + edi*2]
and eax, ebp
test eax, eax
jne 0x4273f9
cmp ebx, 0x5f
je 0x4273f9
mov eax, dword [sym.ruby187c.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x4273f9
push ebx
push str.Invalid_char___03o_in_expression
call sym.ruby187c.exc_rb_compile_error
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
push 8
pop esi
jmp 0x425805
mov dword [0x481a68], 2
push 0xa
jmp 0x42714a
push 0
push 0x22
push 2
jmp 0x4266c4
and dword [0x495260], 0
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x425b50
mov eax, 0x143
jmp 0x427964
cmp ebx, 0x7e
jne 0x425b5f
mov eax, 0x149
jmp 0x427964
push 0x21
jmp 0x426fc6
mov esi, dword [0x495260]
mov dword [0x495260], 1
call fcn.00427a56
call fcn.00427990
mov ebx, eax
cmp ebx, 0x2f
jg 0x425c67
cmp ebx, 0x2e
jge 0x425e8b
push 0x2a
pop edi
cmp ebx, edi
jg 0x425bd3
je 0x425e8b
cmp ebx, 0x21
jl 0x425d4d
cmp ebx, 0x22
jle 0x425e8b
cmp ebx, 0x24
je 0x425e8b
cmp ebx, 0x25
jle 0x425d4d
cmp ebx, 0x27
jle 0x425dae
jmp 0x425d4d
mov eax, ebx
sub eax, 0x2b
je 0x425dae
dec eax
je 0x425e8b
dec eax
jne 0x425d4d
push 0x24
call fcn.00427a9e
push 0x2d
call fcn.00427a9e
pop ecx
pop ecx
call fcn.00427990
mov ebx, eax
mov eax, 0x80
movzx esi, bl
mov ecx, esi
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x425c5c
cmp bl, al
jae 0x425c41
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x425c30
push ebp
push esi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x425c3d
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + esi*2]
and eax, ebp
test eax, eax
jne 0x425c51
cmp ebx, 0x5f
je 0x425c51
mov eax, dword [sym.ruby187c.exc_re_mbctab]
cmp byte [esi + eax], 0
je 0x425c5c
push ebx
call fcn.00427a9e
jmp 0x425dc1
push ebx
call fcn.00427a48
jmp 0x425dc1
cmp ebx, 0x5c
jg 0x425d36
je 0x425e8b
push 0x30
pop edi
cmp ebx, edi
je 0x425d9b
jle 0x425d4d
cmp ebx, 0x39
jle 0x425c9a
cmp ebx, 0x40
jle 0x425e8b
jmp 0x425d4d
push 0x24
call fcn.00427a9e
pop ecx
push ebx
call fcn.00427a9e
pop ecx
call fcn.00427990
mov ebx, eax
cmp bl, 0x80
jae 0x425ce4
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x425ccf
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x425ce0
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
jne 0x425ca2
push ebx
call fcn.00427a48
cmp esi, 6
pop ecx
je 0x425dc2
mov eax, dword [0x4952b0]
mov ecx, dword [0x495278]
push 0x7e
and byte [eax + ecx], 0
call fcn.00429d45
pop ecx
push eax
mov eax, dword [0x4952b0]
inc eax
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
push eax
push 0
push 0x35
call sym.ruby187c.exc_rb_node_newnode
mov dword [sym.ruby187c.exc_ruby_yylval], eax
add esp, 0x10
mov eax, 0x13a
jmp 0x427964
mov eax, ebx
sub eax, 0x5f
je 0x425e10
dec eax
je 0x425dae
sub eax, 0x1e
je 0x425e84
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x425da7
cmp bl, al
jae 0x425d8b
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x425d7a
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x425d87
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + edi*2]
and eax, ebp
test eax, eax
jne 0x425d9b
cmp ebx, 0x5f
je 0x425d9b
mov eax, dword [sym.ruby187c.exc_re_mbctab]
cmp byte [edi + eax], 0
je 0x425da7
push 0x24
call fcn.00427a9e
jmp 0x425e74
push 0x24
jmp 0x426fc6
cmp esi, 6
jne 0x425dec
push 0x24
call fcn.00427a9e
push ebx
call fcn.00427a9e
pop ecx
pop ecx
mov eax, dword [0x4952b0]
mov ecx, dword [0x495278]
and byte [eax + ecx], 0
push dword [0x4952b0]
call sym.ruby187c.exc_rb_intern
pop ecx
mov dword [sym.ruby187c.exc_ruby_yylval], eax
mov eax, 0x133
jmp 0x427964
push 0x7e
call fcn.00429d45
push eax
push ebx
push 0
push 0x36
call sym.ruby187c.exc_rb_node_newnode
mov dword [sym.ruby187c.exc_ruby_yylval], eax
add esp, 0x14
mov eax, 0x13b
jmp 0x427964
call fcn.00427990
mov ebx, eax
mov eax, 0x80
movzx edi, bl
mov ecx, edi
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x425e7a
cmp bl, al
jae 0x425e55
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x425e44
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x425e51
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + edi*2]
and eax, ebp
test eax, eax
jne 0x425e65
cmp ebx, 0x5f
je 0x425e65
mov eax, dword [sym.ruby187c.exc_re_mbctab]
cmp byte [edi + eax], 0
je 0x425e7a
push 0x24
call fcn.00427a9e
push 0x5f
call fcn.00427a9e
pop ecx
pop ecx
jmp 0x4273fe
push ebx
call fcn.00427a48
pop ecx
push 0x5f
pop ebx
push ebx
call fcn.00429d45
pop ecx
push 0x24
call fcn.00427a9e
push ebx
call fcn.00427a9e
mov eax, dword [0x4952b0]
mov ecx, dword [0x495278]
and byte [eax + ecx], 0
push dword [0x4952b0]
call sym.ruby187c.exc_rb_intern
add esp, 0xc
jmp 0x425ddd
call fcn.00427990
push 2
mov ebx, eax
pop esi
push 0x2a
pop edi
cmp ebx, edi
jne 0x425efb
call fcn.00427990
cmp eax, 0x3d
jne 0x425ee4
mov dword [sym.ruby187c.exc_ruby_yylval], 0x13f
jmp 0x426441
push eax
call fcn.00427a48
pop ecx
mov eax, 0x13f
mov ecx, dword [0x495260]
jmp 0x425f8c
cmp ebx, 0x3d
jne 0x425f0b
mov dword [sym.ruby187c.exc_ruby_yylval], edi
jmp 0x426441
push ebx
call fcn.00427a48
pop ecx
mov ecx, dword [0x495260]
cmp ecx, esi
je 0x425f21
cmp ecx, 3
jne 0x425f77
cmp dword [esp + 0x10], 0
je 0x425f77
cmp bl, 0x80
jae 0x425f62
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x425f4d
movzx eax, bl
push 8
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
mov ecx, dword [0x495260]
jmp 0x425f5e
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
jne 0x425f77
push str.__interpreted_as_argument_prefix
call sym.ruby187c.exc_rb_warning
pop ecx
mov eax, 0x15a
jmp 0x425ef0
test ecx, ecx
je 0x425f87
cmp ecx, 5
je 0x425f87
cmp ecx, 8
mov eax, edi
jne 0x425f8c
mov eax, 0x15a
cmp ecx, 6
jl 0x426096
cmp ecx, 7
jg 0x426096
mov dword [0x495260], esi
jmp 0x427964
push 0
push 0x27
push 0
jmp 0x4266c4
call fcn.00427990
push 0x26
mov ebx, eax
pop esi
cmp ebx, esi
jne 0x425fee
and dword [0x495260], 0
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x425fe4
mov dword [sym.ruby187c.exc_ruby_yylval], 0x146
jmp 0x426441
mov esi, 0x146
jmp 0x426fc7
cmp ebx, 0x3d
jne 0x425ffe
mov dword [sym.ruby187c.exc_ruby_yylval], esi
jmp 0x426441
push ebx
call fcn.00427a48
pop ecx
mov ecx, dword [0x495260]
push 2
pop ebp
cmp ecx, ebp
je 0x426017
cmp ecx, 3
jne 0x42606c
cmp dword [esp + 0x10], 0
je 0x42606c
cmp bl, 0x80
jae 0x426054
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x42603f
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495260]
jmp 0x426050
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
jne 0x42606c
push 0x4831e0
call sym.ruby187c.exc_rb_warning
pop ecx
mov eax, 0x15b
mov ecx, dword [0x495260]
jmp 0x426081
test ecx, ecx
je 0x42607c
cmp ecx, 5
je 0x42607c
cmp ecx, 8
mov eax, esi
jne 0x426081
mov eax, 0x15b
cmp ecx, 6
jl 0x426096
cmp ecx, 7
jg 0x426096
mov dword [0x495260], ebp
jmp 0x427964
and dword [0x495260], 0
jmp 0x427964
call fcn.00427990
mov ecx, dword [0x495260]
mov ebx, eax
cmp ecx, 6
je 0x426269
cmp ecx, 7
je 0x426269
cmp ebx, 0x3d
jne 0x4260d5
mov dword [sym.ruby187c.exc_ruby_yylval], 0x2b
jmp 0x426441
test ecx, ecx
je 0x426133
cmp ecx, 5
je 0x426133
cmp ecx, esi
je 0x426133
cmp ecx, 2
je 0x4260ec
cmp ecx, 3
jne 0x426127
cmp dword [esp + 0x10], 0
je 0x426127
cmp bl, 0x80
jae 0x426133
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426113
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495260]
jmp 0x426123
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, esi
test eax, eax
je 0x426133
and dword [0x495260], 0
jmp 0x426278
cmp ecx, 2
je 0x42613d
cmp ecx, 3
jne 0x426142
call fcn.00428832
and dword [0x495260], 0
push ebx
call fcn.00427a48
cmp bl, 0x80
pop ecx
jae 0x42625f
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x42616f
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x426180
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x42625f
push 0x2b
pop ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], ebp
mov dword [0x495260], 1
call fcn.00427a56
cmp ebx, 0x2d
je 0x4261b0
cmp ebx, 0x2b
jne 0x4261be
push ebx
call fcn.00427a9e
pop ecx
call fcn.00427990
mov ebx, eax
push 0x30
pop edi
cmp ebx, edi
jne 0x426959
mov eax, dword [0x495278]
mov dword [esp + 0x14], eax
call fcn.00427990
mov ebx, eax
cmp ebx, 0x78
je 0x426ae4
cmp ebx, 0x58
je 0x426ae4
cmp ebx, 0x62
je 0x426a6a
cmp ebx, 0x42
je 0x426a6a
cmp ebx, 0x64
je 0x426994
cmp ebx, 0x44
je 0x426994
cmp ebx, 0x5f
je 0x42624f
cmp ebx, 0x6f
je 0x42621e
cmp ebx, 0x4f
jne 0x426235
call fcn.00427990
mov ebx, eax
cmp ebx, 0x5f
jne 0x426235
push str.numeric_literal_without_digits
call fcn.00425305
pop ecx
cmp ebx, edi
jl 0x426912
cmp ebx, 0x37
jg 0x426917
cmp ebx, 0x5f
jne 0x4268a5
test esi, esi
jne 0x4268cc
push 0x5f
pop esi
jmp 0x4268bc
mov eax, 0x13d
jmp 0x427964
cmp ebx, 0x40
mov dword [0x495260], 2
je 0x42625f
push 0x2b
jmp 0x426fc6
call fcn.00427990
mov ecx, dword [0x495260]
mov ebx, eax
cmp ecx, 6
je 0x42636e
cmp ecx, 7
je 0x42636e
cmp ebx, 0x3d
jne 0x4262b2
mov dword [sym.ruby187c.exc_ruby_yylval], 0x2d
jmp 0x426441
test ecx, ecx
je 0x42630d
cmp ecx, 5
je 0x42630d
cmp ecx, esi
je 0x42630d
cmp ecx, 2
je 0x4262c9
cmp ecx, 3
jne 0x426304
cmp dword [esp + 0x10], 0
je 0x426304
cmp bl, 0x80
jae 0x42630d
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4262f0
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495260]
jmp 0x426300
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, esi
test eax, eax
je 0x42630d
and dword [0x495260], 0
jmp 0x42637d
cmp ecx, 2
je 0x426317
cmp ecx, 3
jne 0x42631c
call fcn.00428832
and dword [0x495260], 0
push ebx
call fcn.00427a48
cmp bl, 0x80
pop ecx
jae 0x426364
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426345
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x426356
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x426364
mov eax, 0x166
jmp 0x427964
mov eax, 0x13e
jmp 0x427964
cmp ebx, 0x40
mov dword [0x495260], 2
je 0x426364
push 0x2d
jmp 0x426fc6
mov eax, dword [0x495260]
push 2
pop ecx
test eax, eax
mov dword [0x481a68], ecx
je 0x4263c6
cmp eax, 5
je 0x4263c6
cmp eax, esi
je 0x4263c6
cmp dword [esp + 0x10], 0
je 0x4263cb
cmp eax, 3
jne 0x4263b2
mov ebx, 0x155
jmp 0x4263cb
cmp eax, ecx
jne 0x4263cb
push str.dont_put_space_before_argument_parentheses
call sym.ruby187c.exc_rb_warn
pop ecx
push 0x28
pop ebx
jmp 0x4263cb
mov ebx, 0x154
mov eax, dword [0x495288]
mov edx, dword [0x49528c]
push 1
pop ecx
call fcn.004678f0
push 1
mov dword [0x495288], eax
mov eax, dword [0x495290]
mov dword [0x49528c], edx
mov edx, dword [0x495294]
pop ecx
call fcn.004678f0
mov dword [0x495290], eax
mov dword [0x495294], edx
jmp case.0x4258d1.44
mov eax, dword [0x495260]
push 2
test eax, eax
pop esi
je 0x4264c4
cmp eax, 5
je 0x4264c4
cmp eax, 8
je 0x4264c4
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x426454
mov dword [sym.ruby187c.exc_ruby_yylval], 0x25
mov ebx, 0x152
and dword [0x495260], 0
mov eax, ebx
jmp 0x427964
mov ecx, dword [0x495260]
cmp ecx, esi
je 0x426463
cmp ecx, 3
jne 0x4264a4
cmp dword [esp + 0x10], 0
je 0x4264a4
cmp bl, 0x80
jae 0x42655c
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x42648f
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495260]
jmp 0x4264a0
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
je 0x4264cb
cmp ecx, 6
jl 0x4264b6
cmp ecx, 7
jg 0x4264b6
mov dword [0x495260], esi
jmp 0x4264bd
and dword [0x495260], 0
push 0x25
jmp 0x426fc6
call fcn.00427990
mov ebx, eax
cmp bl, 0x80
jae 0x42655c
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4264e9
movzx eax, bl
push ebp
push eax
call edi
pop ecx
pop ecx
jmp 0x4264fa
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov ax, word [ecx + eax*2]
and eax, ebp
xor esi, esi
cmp eax, esi
je 0x42655c
call fcn.00427990
mov edx, eax
cmp dl, 0x80
mov dword [esp + 0x10], edx
jae 0x42653e
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426529
movzx eax, dl
push ebp
push eax
call edi
mov edx, dword [esp + 0x18]
pop ecx
pop ecx
jmp 0x42653a
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, dl
mov ecx, dword [ecx]
mov ax, word [ecx + eax*2]
and eax, ebp
cmp eax, esi
jne 0x42654d
mov ecx, dword [sym.ruby187c.exc_re_mbctab]
movzx eax, dl
cmp byte [eax + ecx], 0
je 0x426569
push str.unknown_type_of__string
call fcn.00425305
jmp 0x426f62
mov dword [esp + 0x10], ebx
push 0x51
mov edx, dword [esp + 0x14]
pop ebx
xor esi, esi
cmp ebx, 0xffffffff
je 0x426740
cmp edx, 0xffffffff
je 0x426740
cmp edx, 0x28
mov ecx, edx
jne 0x426590
mov dword [esp + 0x10], 0x29
mov edx, dword [esp + 0x10]
jmp 0x4265bf
cmp edx, 0x5b
jne 0x42659f
mov dword [esp + 0x10], 0x5d
jmp 0x42658a
cmp edx, 0x7b
jne 0x4265ae
mov dword [esp + 0x10], 0x7d
jmp 0x42658a
cmp edx, 0x3c
jne 0x4265bd
mov dword [esp + 0x10], 0x3e
jmp 0x42658a
xor ecx, ecx
sub ebx, 0x51
je 0x426736
push 6
pop ebp
sub ebx, ebp
je 0x4266dd
sub ebx, 0x1a
je 0x4266bc
dec ebx
je 0x42669a
dec ebx
je 0x426672
sub ebx, 4
je 0x426619
dec ebx
jne 0x42654d
mov esi, 0x15e
shl ecx, 0x10
or ecx, edx
push 0
push ecx
push 2
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
add esp, 0x10
mov dword [0x49526c], eax
jmp 0x426fce
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 8
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
add esp, 0x10
mov dword [0x49526c], eax
call fcn.00427990
mov ebx, eax
cmp bl, 0x80
jae 0x426668
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426653
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
jmp 0x426664
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 8
cmp eax, esi
jne 0x426631
mov esi, 0x161
jmp 0x426fc7
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 0x10
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
add esp, 0x10
mov dword [0x49526c], eax
mov dword [0x495260], ebp
mov eax, 0x15c
jmp 0x427964
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 7
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
mov dword [0x49526c], eax
add esp, 0x10
mov eax, 0x15f
jmp 0x427964
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push esi
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
mov dword [0x49526c], eax
add esp, 0x10
mov eax, 0x15d
jmp 0x427964
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 0xa
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
add esp, 0x10
mov dword [0x49526c], eax
call fcn.00427990
mov ebx, eax
cmp bl, 0x80
jae 0x42672c
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426717
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
jmp 0x426728
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 8
cmp eax, esi
jne 0x4266f5
mov esi, 0x160
jmp 0x426fc7
mov esi, 0x15d
jmp 0x4265fb
push str.unterminated_quoted_string_meets_end_of_file
jmp 0x4271e5
and dword [0x495260], 0
call fcn.00427990
mov ebx, eax
cmp ebx, 0x2e
jne 0x42677d
call fcn.00427990
mov ebx, eax
cmp ebx, 0x2e
jne 0x426773
mov eax, 0x14b
jmp 0x427964
mov esi, 0x14a
jmp 0x426fc7
push ebx
call fcn.00427a48
cmp bl, 0x80
pop ecx
jae 0x4267bf
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x42679f
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x4267b0
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x4267bf
push str.no_._digit__floating_literal_anymore__put_0_before_dot
call fcn.00425305
pop ecx
push 0x2e
pop eax
jmp 0x426807
mov dword [0x481a68], 2
jmp case.0x4258d1.44
call fcn.00427990
mov ebx, eax
mov eax, dword [0x495260]
cmp ebx, 0x3a
jne 0x426820
test eax, eax
je 0x426816
cmp eax, 5
je 0x426816
cmp eax, esi
je 0x426816
cmp eax, 2
je 0x4267fb
cmp eax, 3
jne 0x426802
cmp dword [esp + 0x10], 0
jne 0x426816
mov eax, 0x150
mov dword [0x495260], 7
jmp 0x427964
mov ebx, 0x151
jmp case.0x4258d1.44
cmp eax, 1
je 0x426897
cmp eax, 4
je 0x426897
cmp bl, 0x80
jae 0x426858
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426844
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x426854
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, esi
test eax, eax
jne 0x426897
cmp ebx, 0x22
je 0x426873
cmp ebx, 0x27
je 0x42686b
push ebx
call fcn.00427a48
pop ecx
jmp 0x426888
push 0
push 0x27
push 0x10
jmp 0x426879
push 0
push 0x22
push 0x12
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
add esp, 0x10
mov dword [0x49526c], eax
mov dword [0x495260], 6
jmp 0x426690
push ebx
call fcn.00427a48
pop ecx
push 0x3a
jmp 0x42714a
cmp ebx, edi
jl 0x4268cc
cmp ebx, 0x39
jg 0x4268cc
cmp ebx, 0x37
jg 0x42691c
push ebx
xor esi, esi
call fcn.00427a9e
pop ecx
call fcn.00427990
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x426246
mov eax, dword [esp + 0x14]
cmp dword [0x495278], eax
jle 0x426902
push ebx
call fcn.00427a48
mov eax, dword [0x495278]
pop ecx
mov ecx, dword [0x4952b0]
and byte [ecx + eax], 0
test esi, esi
jne 0x426cd3
xor eax, eax
push eax
push eax
push eax
push 8
jmp 0x426d5e
test esi, esi
je 0x426912
push ebx
call fcn.00427a48
pop ecx
jmp 0x426cd3
cmp ebx, 0x37
jle 0x426928
cmp ebx, 0x39
jg 0x426928
push str.Illegal_octal_digit
call fcn.00425305
jmp 0x426958
cmp ebx, 0x2e
je 0x426952
cmp ebx, 0x65
je 0x426952
cmp ebx, 0x45
je 0x426952
push ebx
call fcn.00427a48
push 0
push 0
push 1
push 0x3a
call sym.ruby187c.exc_rb_node_newnode
add esp, 0x14
jmp 0x426d77
push edi
call fcn.00427a9e
pop ecx
cmp ebx, 0x2e
je 0x426c28
cmp ebx, 0x2f
jle 0x426cb9
cmp ebx, 0x39
jle 0x426c1d
cmp ebx, 0x45
je 0x426bd6
cmp ebx, 0x5f
je 0x426bc6
cmp ebx, 0x65
jne 0x426cb9
jmp 0x426bd6
call fcn.00427990
mov ebx, eax
cmp bl, 0x80
jae 0x426a29
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4269be
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x4269cf
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x426a29
cmp ebx, 0x5f
jne 0x4269e0
test esi, esi
jne 0x426a29
push ebx
pop esi
jmp 0x426a1d
cmp bl, 0x80
jae 0x426a29
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4269ff
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x426a10
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x426a29
push ebx
xor esi, esi
call fcn.00427a9e
pop ecx
call fcn.00427990
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4269d3
push ebx
call fcn.00427a48
mov eax, dword [0x495278]
pop ecx
mov ecx, dword [0x4952b0]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x495278], eax
jne 0x426a58
push str.numeric_literal_without_digits
call fcn.00425305
pop ecx
jmp 0x426a60
test esi, esi
jne 0x426cd3
xor eax, eax
push eax
push eax
push eax
jmp 0x426d5c
call fcn.00427990
cmp eax, edi
je 0x426a78
cmp eax, 0x31
jne 0x426aa1
cmp eax, 0x5f
jne 0x426a85
test esi, esi
jne 0x426aa1
push eax
pop esi
jmp 0x426a97
cmp eax, edi
je 0x426a8e
cmp eax, 0x31
jne 0x426aa1
push eax
xor esi, esi
call fcn.00427a9e
pop ecx
call fcn.00427990
cmp eax, 0xffffffff
jne 0x426a78
push eax
call fcn.00427a48
mov eax, dword [0x495278]
pop ecx
mov ecx, dword [0x4952b0]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x495278], eax
jne 0x426ad0
push str.numeric_literal_without_digits
call fcn.00425305
pop ecx
jmp 0x426ad8
test esi, esi
jne 0x426cd3
xor eax, eax
push eax
push eax
push eax
push 2
jmp 0x426d5e
call fcn.00427990
mov ebx, eax
cmp bl, 0x80
jae 0x426b83
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426b11
movzx eax, bl
push 0x80
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x426b24
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 0x80
test eax, eax
je 0x426b83
cmp ebx, 0x5f
jne 0x426b35
test esi, esi
jne 0x426b83
push ebx
pop esi
jmp 0x426b77
cmp bl, 0x80
jae 0x426b83
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426b57
movzx eax, bl
push 0x80
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x426b6a
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 0x80
test eax, eax
je 0x426b83
push ebx
xor esi, esi
call fcn.00427a9e
pop ecx
call fcn.00427990
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x426b28
push ebx
call fcn.00427a48
mov eax, dword [0x495278]
pop ecx
mov ecx, dword [0x4952b0]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x495278], eax
jne 0x426bb2
push str.numeric_literal_without_digits
call fcn.00425305
pop ecx
jmp 0x426bba
test esi, esi
jne 0x426cd3
xor eax, eax
push eax
push eax
push eax
push 0x10
jmp 0x426d5e
test esi, esi
jne 0x426cb9
push 0x5f
pop esi
jmp 0x426c9b
test esi, esi
jne 0x426ca7
cmp dword [esp + 0x18], esi
jne 0x426cb9
push ebx
call fcn.00427a9e
inc dword [esp + 0x14]
pop ecx
mov dword [esp + 0x18], 1
mov esi, ebx
call fcn.00427990
mov ebx, eax
cmp ebx, 0x2d
je 0x426c12
cmp ebx, 0x2b
jne 0x426959
push ebx
call fcn.00427a9e
pop ecx
mov esi, ebx
jmp 0x426c9b
push ebx
xor esi, esi
call fcn.00427a9e
pop ecx
jmp 0x426c9b
test esi, esi
jne 0x426cd3
test ebp, ebp
jne 0x426cb9
cmp dword [esp + 0x18], ebp
jne 0x426cb9
call fcn.00427990
mov ecx, eax
cmp cl, 0x80
mov dword [esp + 0x14], ecx
jae 0x426cb2
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
push 1
pop ebp
cmp dword [eax], ebp
jle 0x426c6e
movzx eax, cl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
jmp 0x426c7f
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, cl
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 4
test eax, eax
je 0x426cb2
push 0x2e
call fcn.00427a9e
push dword [esp + 0x18]
call fcn.00427a9e
inc dword [esp + 0x18]
pop ecx
pop ecx
xor esi, esi
call fcn.00427990
mov ebx, eax
jmp 0x426959
push ebx
call fcn.00427a48
pop ecx
mov ebx, esi
jmp 0x426cb9
push ecx
call fcn.00427a48
pop ecx
push ebx
call fcn.00427a48
mov eax, dword [0x495278]
pop ecx
mov ecx, dword [0x4952b0]
and byte [ecx + eax], 0
test esi, esi
je 0x426cf1
push esi
lea eax, [esp + 0x24]
push str.trailing___c_in_number
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [esp + 0x2c]
push eax
call fcn.00425305
add esp, 0x10
xor edi, edi
cmp dword [esp + 0x10], edi
push edi
je 0x426d5a
push dword [0x4952b0]
call sym.ruby187c.exc_ruby_strtod
mov esi, dword [sym.imp.MSVCRT.dll__errno]
pop ecx
fstp qword [esp + 0x1c]
pop ecx
call esi
cmp dword [eax], 0x22
jne 0x426d2e
push dword [0x4952b0]
push str.Float__s_out_of_range
call sym.ruby187c.exc_rb_warn
pop ecx
pop ecx
call esi
mov dword [eax], edi
fld qword [esp + 0x18]
push edi
push edi
push ecx
push ecx
fstp qword [esp]
call sym.ruby187c.exc_rb_float_new
pop ecx
pop ecx
push eax
push 0x3a
call sym.ruby187c.exc_rb_node_newnode
mov dword [sym.ruby187c.exc_ruby_yylval], eax
add esp, 0x10
mov eax, 0x138
jmp 0x427964
push edi
push edi
push 0xa
push dword [0x4952b0]
call sym.ruby187c.exc_rb_cstr_to_inum
add esp, 0xc
push eax
push 0x3a
call sym.ruby187c.exc_rb_node_newnode
add esp, 0x10
mov dword [sym.ruby187c.exc_ruby_yylval], eax
mov eax, 0x137
jmp 0x427964
mov eax, dword [0x495260]
test eax, eax
je 0x426e0e
cmp eax, 5
je 0x426e0e
cmp eax, esi
je 0x426e0e
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x426db3
mov dword [sym.ruby187c.exc_ruby_yylval], 0x2f
jmp 0x426441
push ebx
call fcn.00427a48
pop ecx
mov ecx, dword [0x495260]
push 2
pop esi
cmp ecx, esi
je 0x426dcc
cmp ecx, 3
jne 0x426e17
cmp dword [esp + 0x10], 0
je 0x426e17
cmp bl, 0x80
jae 0x426e09
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426df4
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495260]
jmp 0x426e05
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
jne 0x426e17
call fcn.00428832
push 0
push 0x2f
jmp 0x4266a1
cmp ecx, 6
jl 0x426e29
cmp ecx, 7
jg 0x426e29
mov dword [0x495260], esi
jmp 0x426e30
and dword [0x495260], 0
push 0x2f
jmp 0x427810
call fcn.00427990
mov ebx, eax
push 2
cmp ebx, 0x3c
pop ebp
jne 0x426e7b
mov eax, dword [0x495260]
cmp eax, 1
je 0x426e80
cmp eax, 7
je 0x426e80
cmp eax, 4
je 0x426e80
cmp eax, esi
je 0x426e80
cmp eax, ebp
je 0x426e67
cmp eax, 3
jne 0x426e6e
cmp dword [esp + 0x10], 0
je 0x426e80
call fcn.004282c5
test eax, eax
jne 0x427964
mov eax, dword [0x495260]
cmp eax, 6
jl 0x426e92
cmp eax, 7
jg 0x426e92
mov dword [0x495260], ebp
jmp 0x426e99
and dword [0x495260], 0
cmp ebx, 0x3d
jne 0x426ebe
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3e
jne 0x426eb4
mov eax, 0x140
jmp 0x427964
mov esi, 0x145
jmp 0x426fc7
cmp ebx, 0x3c
jne 0x426ee8
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x426ede
mov dword [sym.ruby187c.exc_ruby_yylval], 0x14e
jmp 0x426441
mov esi, 0x14e
jmp 0x426fc7
push 0x3c
jmp 0x426fc6
call fcn.00427990
mov ebx, eax
call fcn.00427a56
push 0x40
call fcn.00427a9e
cmp ebx, 0x40
pop ecx
jne 0x426f16
push ebx
call fcn.00427a9e
pop ecx
call fcn.00427990
mov ebx, eax
cmp bl, 0x80
jae 0x426f6a
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426f31
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x426f42
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x426f6a
cmp dword [0x495278], 1
push ebx
jne 0x426f57
push str.___c_is_not_allowed_as_an_instance_variable_name
jmp 0x426f5c
push str.____c_is_not_allowed_as_a_class_variable_name
call sym.ruby187c.exc_rb_compile_error
pop ecx
pop ecx
xor eax, eax
jmp 0x427964
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x426fc4
cmp bl, al
jae 0x426fac
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x426f97
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x426fa4
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + edi*2]
and eax, ebp
test eax, eax
jne 0x4273fe
cmp ebx, 0x5f
je 0x4273fe
mov eax, dword [sym.ruby187c.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x4273fe
push 0x40
pop esi
push ebx
call fcn.00427a48
pop ecx
mov eax, esi
jmp 0x427964
mov eax, dword [0x495260]
cmp eax, 1
je 0x427148
cmp eax, 4
je 0x427148
call fcn.00427990
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x427002
push str.incomplete_character_syntax
jmp 0x4271e5
cmp bl, 0x80
jae 0x427090
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x427020
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x427030
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, bl
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, esi
test eax, eax
je 0x427090
mov eax, dword [0x495260]
cmp eax, 2
je 0x427141
cmp eax, 3
je 0x427141
mov eax, ebx
sub eax, 9
je 0x42707b
dec eax
je 0x427077
dec eax
je 0x427073
dec eax
je 0x42706f
dec eax
je 0x42706b
sub eax, 0x13
jne 0x427141
push 0x73
jmp 0x42707d
push 0x72
jmp 0x42707d
push 0x66
jmp 0x42707d
push 0x76
jmp 0x42707d
push 0x6e
jmp 0x42707d
push 0x74
pop eax
push eax
push str.invalid_character_syntax__use___c
call sym.ruby187c.exc_rb_warn
pop ecx
pop ecx
jmp 0x427141
mov ecx, dword [sym.ruby187c.exc_re_mbctab]
movzx eax, bl
cmp byte [eax + ecx], 0
je 0x4270a7
push ebx
push str.multibyte_character_literal_not_supported_yet__use___.3o
jmp 0x427084
cmp bl, 0x80
jae 0x4270d1
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x4270bf
push ebp
push eax
call edi
pop ecx
pop ecx
jmp 0x4270cd
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
mov ecx, dword [ecx]
mov ax, word [ecx + eax*2]
and eax, ebp
test eax, eax
jne 0x4270d6
cmp ebx, 0x5f
jne 0x427150
mov edi, dword [0x495250]
cmp edi, dword [0x495268]
jae 0x427150
mov cl, byte [edi]
mov edx, 0x80
movzx eax, cl
mov esi, eax
xor esi, edx
sub esi, edx
cmp esi, 0xffffffff
je 0x427150
cmp cl, dl
jae 0x42712c
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x42711a
push ebp
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
mov edi, dword [0x495250]
pop ecx
pop ecx
jmp 0x427128
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
mov ecx, dword [ecx]
mov ax, word [ecx + eax*2]
and eax, ebp
test eax, eax
jne 0x427141
mov al, byte [edi]
cmp al, 0x5f
je 0x427141
mov ecx, dword [sym.ruby187c.exc_re_mbctab]
movzx eax, al
cmp byte [eax + ecx], 0
je 0x427150
push ebx
call fcn.00427a48
pop ecx
push 0x3f
pop ebx
jmp case.0x4258d1.44
cmp ebx, 0x5c
jne 0x42715c
call fcn.00427ade
mov ebx, eax
push 1
and ebx, 0xff
pop eax
shl ebx, 1
push 0
or ebx, eax
push 0
mov dword [0x495260], eax
push ebx
jmp 0x426d6d
mov eax, dword [0x495260]
cmp eax, 6
jl 0x427193
cmp eax, 7
jg 0x427193
mov dword [0x495260], 2
jmp 0x42719a
and dword [0x495260], 0
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x4271b0
mov eax, 0x144
jmp 0x427964
push 0x3e
pop esi
cmp ebx, esi
jne 0x426fc7
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x4271d6
mov dword [sym.ruby187c.exc_ruby_yylval], 0x14f
jmp 0x426441
mov esi, 0x14f
jmp 0x426fc7
push str.embedded_document_meets_end_of_file
call sym.ruby187c.exc_rb_compile_error
jmp 0x426f62
mov eax, dword [0x495260]
cmp eax, 6
jl 0x42720a
cmp eax, 7
jg 0x42720a
mov dword [0x495260], 2
jmp 0x427211
and dword [0x495260], 0
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x42723d
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x427233
mov eax, 0x142
jmp 0x427964
mov esi, 0x141
jmp 0x426fc7
cmp ebx, 0x7e
jne 0x42724c
mov eax, 0x148
jmp 0x427964
cmp ebx, 0x3e
jne 0x42725b
mov eax, 0x153
jmp 0x427964
push 0x3d
jmp 0x426fc6
mov eax, dword [0x495260]
cmp eax, 6
je 0x4272dc
cmp eax, 7
je 0x4272dc
test eax, eax
je 0x42728f
cmp eax, 5
je 0x42728f
cmp eax, esi
je 0x42728f
cmp eax, 2
je 0x427288
cmp eax, 3
jne 0x427294
cmp dword [esp + 0x10], 0
je 0x427294
mov ebx, 0x157
mov eax, dword [0x495288]
mov edx, dword [0x49528c]
and dword [0x495260], 0
push 1
pop ecx
call fcn.004678f0
push 1
mov dword [0x495288], eax
mov eax, dword [0x495290]
mov dword [0x49528c], edx
mov edx, dword [0x495294]
pop ecx
call fcn.004678f0
mov dword [0x495290], eax
mov dword [0x495294], edx
jmp 0x42644d
mov dword [0x495260], 2
call fcn.00427990
mov ebx, eax
cmp ebx, 0x5d
jne 0x427312
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x427308
mov eax, 0x14d
jmp 0x427964
mov esi, 0x14c
jmp 0x426fc7
push 0x5b
jmp 0x426fc6
mov eax, dword [0x495258]
inc eax
cmp dword [0x495250], eax
jne 0x4273f9
push 0
push 7
push str.__END__
call fcn.004284e1
add esp, 0xc
test eax, eax
je 0x4273f9
and dword [0x495254], 0
mov dword [sym.ruby187c.exc_ruby__end__seen], 1
or eax, 0xffffffff
jmp 0x427964
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x427378
mov dword [sym.ruby187c.exc_ruby_yylval], 0x5e
jmp 0x426441
mov eax, dword [0x495260]
cmp eax, 6
jl 0x427393
cmp eax, 7
jg 0x427393
mov dword [0x495260], 2
jmp 0x42739a
and dword [0x495260], 0
push 0x5e
jmp 0x426fc6
push 0x5c
jmp 0x426fc6
mov eax, dword [0x495260]
cmp eax, 6
jne 0x4273be
mov dword [0x495260], 1
jmp 0x4273d3
cmp eax, 7
jne 0x4273da
xor eax, eax
cmp dword [esp + 0x18], eax
setne al
inc eax
inc eax
mov dword [0x495260], eax
mov eax, ecx
jmp 0x427964
push 0
push 0x60
push 2
push 0x2b
call sym.ruby187c.exc_rb_node_newnode
mov dword [0x49526c], eax
add esp, 0x10
mov eax, 0x15e
jmp 0x427964
call fcn.00427a56
mov esi, 0x80
push ebx
call fcn.00427a9e
pop ecx
mov ecx, dword [sym.ruby187c.exc_re_mbctab]
movzx eax, bl
mov al, byte [eax + ecx]
test al, al
je 0x427432
movzx eax, al
test eax, eax
jle 0x427432
mov edi, eax
call fcn.00427990
push eax
call fcn.00427a9e
dec edi
pop ecx
jne 0x427423
call fcn.00427990
mov ebx, eax
movzx edi, bl
mov eax, edi
xor eax, esi
sub eax, esi
cmp eax, 0xffffffff
je 0x427483
cmp bl, 0x80
jae 0x427473
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x427462
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x42746f
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + edi*2]
and eax, ebp
test eax, eax
jne 0x427403
cmp ebx, 0x5f
je 0x427403
mov eax, dword [sym.ruby187c.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x427403
cmp ebx, 0x21
je 0x42748d
cmp ebx, 0x3f
jne 0x427504
mov eax, dword [0x4952b0]
mov cl, byte [eax]
movzx eax, cl
mov edx, eax
xor edx, esi
sub edx, esi
cmp edx, 0xffffffff
je 0x427504
cmp cl, 0x80
jae 0x4274d0
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x4274be
push ebp
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x4274cc
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
mov ecx, dword [ecx]
mov ax, word [ecx + eax*2]
and eax, ebp
test eax, eax
jne 0x4274ea
mov eax, dword [0x4952b0]
mov al, byte [eax]
cmp al, 0x5f
je 0x4274ea
mov ecx, dword [sym.ruby187c.exc_re_mbctab]
movzx eax, al
cmp byte [eax + ecx], 0
je 0x427504
mov eax, dword [0x495250]
cmp eax, dword [0x495268]
je 0x4274fc
cmp byte [eax], 0x3d
je 0x427504
push ebx
call fcn.00427a9e
jmp 0x42750a
push ebx
call fcn.00427a48
mov eax, dword [0x4952b0]
pop ecx
mov ecx, dword [0x495278]
and byte [eax + ecx], 0
mov ecx, dword [0x4952b0]
mov edx, dword [0x495260]
mov al, byte [ecx]
mov ebp, edx
cmp al, 0x24
je 0x427756
cmp al, 0x40
je 0x427736
mov esi, dword [0x495278]
test esi, esi
jle 0x42754b
movsx eax, byte [ecx + esi - 1]
jmp 0x42754d
xor eax, eax
cmp eax, 0x21
je 0x427631
test esi, esi
jle 0x427561
movsx eax, byte [ecx + esi - 1]
jmp 0x427563
xor eax, eax
cmp eax, 0x3f
je 0x427631
cmp edx, 6
jne 0x4275dd
call fcn.00427990
cmp eax, 0x3d
jne 0x4275ca
mov ecx, dword [0x495250]
mov edi, dword [0x495268]
cmp ecx, edi
je 0x4275a5
mov dl, byte [ecx]
cmp dl, 0x7e
je 0x4275ca
cmp dl, 0x3e
je 0x4275ca
cmp dl, al
jne 0x4275a5
inc ecx
cmp ecx, edi
jae 0x4275ca
cmp byte [ecx], 0x3e
jne 0x4275ca
push 0x3d
call fcn.00427a9e
mov eax, dword [0x495278]
pop ecx
mov ecx, dword [0x4952b0]
and byte [ecx + eax], 0
mov edx, dword [0x495260]
mov ecx, dword [0x4952b0]
jmp 0x427624
push eax
call fcn.00427a48
mov edx, dword [0x495260]
pop ecx
mov ecx, dword [0x4952b0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x427624
mov esi, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [esi], 1
jle 0x42760a
movzx eax, al
push 1
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
mov edx, dword [0x495260]
pop ecx
pop ecx
mov ecx, dword [0x4952b0]
jmp 0x42761b
mov esi, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, al
mov esi, dword [esi]
mov al, byte [esi + eax*2]
and eax, 1
test eax, eax
mov edi, 0x135
jne 0x427629
mov edi, 0x131
mov esi, dword [0x495278]
jmp 0x427636
mov edi, 0x132
cmp edx, 7
je 0x4276fb
push esi
push ecx
call sym.ruby187c.exc_rb_reserved_word
mov esi, eax
xor edx, edx
pop ecx
cmp esi, edx
pop ecx
je 0x4276ef
mov ecx, dword [0x495260]
mov eax, dword [esi + 0xc]
cmp ecx, 6
mov dword [0x495260], eax
jne 0x42767c
push dword [esi]
call sym.ruby187c.exc_rb_intern
mov dword [sym.ruby187c.exc_ruby_yylval], eax
mov eax, dword [esi + 4]
pop ecx
jmp 0x427964
mov eax, dword [esi + 4]
mov edi, 0x119
cmp eax, edi
jne 0x4276d4
mov eax, dword [0x495288]
push 2
and eax, 1
pop esi
or eax, edx
mov dword [0x481a68], esi
je 0x4276a7
mov eax, 0x11a
jmp 0x427964
mov eax, dword [0x495290]
and eax, 1
or eax, edx
je 0x4276c2
cmp ecx, 3
je 0x4276c2
mov eax, 0x11b
jmp 0x427964
xor eax, eax
cmp ecx, 4
setne al
dec eax
and eax, esi
add eax, edi
jmp 0x427964
cmp ecx, edx
je 0x427964
cmp eax, dword [esi + 8]
je 0x4276e7
mov dword [0x495260], edx
mov eax, dword [esi + 8]
jmp 0x427964
mov edx, dword [0x495260]
mov ecx, dword [0x4952b0]
test edx, edx
je 0x427724
cmp edx, 5
je 0x427724
cmp edx, 7
je 0x427724
cmp edx, 2
je 0x427724
cmp edx, 8
je 0x427724
cmp edx, 3
je 0x427724
mov dword [0x495260], 1
jmp 0x427765
xor eax, eax
cmp dword [esp + 0x18], eax
setne al
inc eax
inc eax
mov dword [0x495260], eax
jmp 0x427765
mov dword [0x495260], 1
xor eax, eax
cmp byte [ecx + 1], 0x40
setne al
dec eax
and eax, 2
add eax, 0x134
mov edi, eax
jmp 0x427765
mov dword [0x495260], 1
mov edi, 0x133
push ecx
call sym.ruby187c.exc_rb_intern
cmp eax, 0x167
pop ecx
mov dword [sym.ruby187c.exc_ruby_yylval], eax
jbe 0x427962
and eax, 7
cmp al, 1
jne 0x427962
cmp ebp, 7
je 0x427962
call fcn.00429fbf
test eax, eax
je 0x4277a9
push dword [sym.ruby187c.exc_ruby_yylval]
call sym.ruby187c.exc_rb_dvar_defined
test eax, eax
pop ecx
jne 0x4277bd
push dword [sym.ruby187c.exc_ruby_yylval]
call fcn.00429d88
test eax, eax
pop ecx
je 0x427962
mov dword [0x495260], 1
jmp 0x427962
mov eax, dword [0x495260]
cmp eax, 6
je 0x4277db
cmp eax, 7
jne 0x4277ec
call fcn.00427990
cmp eax, 0x40
je 0x4277ec
push eax
call fcn.00427a48
pop ecx
mov eax, dword [0x495260]
cmp eax, 6
jl 0x427807
cmp eax, 7
jg 0x427807
mov dword [0x495260], 2
jmp 0x42780e
and dword [0x495260], 0
push 0x7e
pop eax
jmp 0x427964
mov esi, dword [0x495288]
mov edx, dword [0x49528c]
push 1
mov eax, esi
pop edi
mov ecx, edi
call fcn.004678d0
and esi, edi
xor ecx, ecx
or eax, esi
mov esi, dword [0x495290]
or edx, ecx
mov dword [0x495288], eax
mov dword [0x49528c], edx
mov edx, dword [0x495294]
mov ecx, edi
mov eax, esi
call fcn.004678d0
and esi, edi
xor ecx, ecx
or eax, esi
or edx, ecx
mov dword [0x495290], eax
mov dword [0x495294], edx
mov dword [0x495260], edi
jmp 0x42644d
call fcn.00427990
push 0x7c
mov ebx, eax
pop ecx
cmp ebx, ecx
jne 0x4278ae
and dword [0x495260], 0
call fcn.00427990
mov ebx, eax
cmp ebx, 0x3d
jne 0x4278a4
mov dword [sym.ruby187c.exc_ruby_yylval], 0x147
jmp 0x426441
mov esi, 0x147
jmp 0x426fc7
cmp ebx, 0x3d
jne 0x4278be
mov dword [sym.ruby187c.exc_ruby_yylval], ecx
jmp 0x426441
mov eax, dword [0x495260]
cmp eax, 6
je 0x4278d6
cmp eax, 7
je 0x4278d6
and dword [0x495260], 0
jmp 0x4278e0
mov dword [0x495260], 2
mov esi, ecx
jmp 0x426fc7
mov eax, dword [0x495260]
mov esi, 0x158
cmp eax, 2
je 0x42790e
cmp eax, 3
je 0x42790e
cmp eax, 1
je 0x42790e
xor ecx, ecx
cmp eax, 4
sete cl
add ecx, esi
mov edi, ecx
jmp 0x427911
push 0x7b
pop edi
mov eax, dword [0x495288]
mov edx, dword [0x49528c]
push 1
pop ecx
call fcn.004678f0
push 1
mov dword [0x495288], eax
mov eax, dword [0x495290]
mov dword [0x49528c], edx
mov edx, dword [0x495294]
pop ecx
call fcn.004678f0
and dword [0x495260], 0
cmp edi, esi
mov dword [0x495290], eax
mov dword [0x495294], edx
je 0x427962
mov dword [0x481a68], 2
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret