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

Disassembly:
sub esp, 0x30
mov eax, dword [0x495e34]
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], edi
je 0x43f9ff
mov ecx, dword [eax]
push eax
and ecx, 0x7f800
cmp ecx, 0x15000
jne 0x43f9c2
call fcn.00442783
mov esi, eax
pop ecx
cmp esi, 0x164
jne 0x4411e5
jmp 0x43f9ea
call fcn.00441e6d
mov esi, eax
pop ecx
cmp esi, 0x164
je 0x43f9de
cmp esi, 0x13c
jne 0x4411e5
push dword [0x495e34]
call sym.ruby187g.exc_rb_gc_force_recycle
pop ecx
mov dword [0x495e34], edi
mov dword [0x495e28], 1
jmp 0x4411e5
mov eax, dword [0x484590]
mov dword [0x484590], edi
mov dword [esp + 0x18], eax
mov ebp, 0x107
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
push 8
pop esi
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x2e
jg 0x43faef
je 0x440961
cmp ebx, 0x24
jg 0x43fadd
je 0x43fd7d
cmp ebx, 0x1a
jg 0x43fa80
je 0x44117a
cmp ebx, 0xffffffff
jl case.default.0x43fae8
test ebx, ebx
jle 0x44117a
cmp ebx, 4
je 0x44117a
cmp ebx, 9
je 0x43fad4
cmp ebx, 0xa
je 0x43fab1
jle case.default.0x43fae8
cmp ebx, 0xd
jle 0x43fad4
jmp case.default.0x43fae8
mov eax, ebx
sub eax, 0x20
je 0x43fad4
dec eax
je 0x43fd4a
dec eax
je 0x43fd3f
dec eax
jne case.default.0x43fae8
call fcn.00441ba7
cmp eax, 0xa
je 0x43fab1
cmp eax, 0xffffffff
je 0x44117a
jmp 0x43fa9c
mov eax, dword [0x495e28]
test eax, eax
je 0x43fa1c
cmp eax, 5
jle 0x43fd2e
cmp eax, esi
jg 0x43fd2e
jmp 0x43fa1c
inc dword [esp + 0x10]
jmp 0x43fa1c
lea eax, [ebx - 0x25]
cmp eax, esi
ja case.default.0x43fae8
jmp dword [eax*4 + 0x441b83]
cmp ebx, 0x5b
jg 0x43fc51
je 0x441479
cmp ebx, 0x3c
jg 0x43fb38
je 0x44104e
cmp ebx, 0x2f
je 0x440f9d
jle case.default.0x43fae8
cmp ebx, 0x39
jle 0x4403a2
cmp ebx, 0x3a
je 0x4409ea
cmp ebx, 0x3b
je 0x4409db
jmp case.default.0x43fae8
mov eax, ebx
sub eax, 0x3d
je 0x43fb59
dec eax
je 0x44138f
dec eax
je 0x4411ec
dec eax
je 0x441106
jmp case.default.0x43fae8
mov eax, dword [0x495e20]
lea ecx, [eax + 1]
mov eax, dword [0x495e18]
cmp eax, ecx
jne 0x441406
push 5
push str.begin
push eax
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x441406
mov eax, dword [0x495e18]
mov al, byte [eax + 5]
cmp al, 0x80
jae 0x441406
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x43fbad
movzx eax, al
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x43fbbd
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 0x441406
mov eax, dword [0x495e30]
mov dword [0x495e18], eax
call fcn.00441ba7
cmp eax, 0xffffffff
je 0x4413f7
cmp eax, 0x3d
jne 0x43fbc5
push 3
push 0x47f8d0
push dword [0x495e18]
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x43fbc5
mov eax, dword [0x495e18]
add eax, 3
cmp eax, dword [0x495e30]
je 0x43fc42
mov al, byte [eax]
cmp al, 0x80
jae 0x43fbc5
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x43fc2d
movzx eax, al
push 8
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43fc3e
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 0x43fbc5
mov eax, dword [0x495e30]
mov dword [0x495e18], eax
jmp 0x43fa13
push 0x60
pop ecx
cmp ebx, ecx
jg 0x43fc99
je 0x4415bf
mov eax, ebx
sub eax, 0x5c
je 0x43fc7c
dec eax
je case.0x43fae8.41
dec eax
je 0x441574
dec eax
je 0x441530
jmp case.default.0x43fae8
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0xa
jne 0x4415b8
mov dword [esp + 0x10], 1
jmp 0x43fa1c
mov eax, ebx
sub eax, 0x7b
je 0x441afe
dec eax
je 0x441a8b
dec eax
je case.0x43fae8.41
dec eax
je 0x4419e3
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x43fd13
cmp bl, al
jae 0x43fcfb
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x43fce6
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43fcf3
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 0x441610
cmp ebx, 0x5f
je 0x441610
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x441610
push ebx
push str.Invalid_char___03o_in_expression
call sym.ruby187g.exc_rb_compile_error
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
push 8
pop esi
jmp 0x43fa1c
mov dword [0x484590], 2
push 0xa
jmp 0x441361
push 0
push 0x22
push 2
jmp 0x4408db
and dword [0x495e28], 0
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x43fd67
mov eax, 0x143
jmp 0x441b7b
cmp ebx, 0x7e
jne 0x43fd76
mov eax, 0x149
jmp 0x441b7b
push 0x21
jmp 0x4411dd
mov esi, dword [0x495e28]
mov dword [0x495e28], 1
call fcn.00441c6d
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x2f
jg 0x43fe7e
cmp ebx, 0x2e
jge 0x4400a2
push 0x2a
pop edi
cmp ebx, edi
jg 0x43fdea
je 0x4400a2
cmp ebx, 0x21
jl 0x43ff64
cmp ebx, 0x22
jle 0x4400a2
cmp ebx, 0x24
je 0x4400a2
cmp ebx, 0x25
jle 0x43ff64
cmp ebx, 0x27
jle 0x43ffc5
jmp 0x43ff64
mov eax, ebx
sub eax, 0x2b
je 0x43ffc5
dec eax
je 0x4400a2
dec eax
jne 0x43ff64
push 0x24
call fcn.00441cb5
push 0x2d
call fcn.00441cb5
pop ecx
pop ecx
call fcn.00441ba7
mov ebx, eax
mov eax, 0x80
movzx esi, bl
mov ecx, esi
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x43fe73
cmp bl, al
jae 0x43fe58
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x43fe47
push ebp
push esi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43fe54
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 0x43fe68
cmp ebx, 0x5f
je 0x43fe68
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [esi + eax], 0
je 0x43fe73
push ebx
call fcn.00441cb5
jmp 0x43ffd8
push ebx
call fcn.00441c5f
jmp 0x43ffd8
cmp ebx, 0x5c
jg 0x43ff4d
je 0x4400a2
push 0x30
pop edi
cmp ebx, edi
je 0x43ffb2
jle 0x43ff64
cmp ebx, 0x39
jle 0x43feb1
cmp ebx, 0x40
jle 0x4400a2
jmp 0x43ff64
push 0x24
call fcn.00441cb5
pop ecx
push ebx
call fcn.00441cb5
pop ecx
call fcn.00441ba7
mov ebx, eax
cmp bl, 0x80
jae 0x43fefb
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x43fee6
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43fef7
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 0x43feb9
push ebx
call fcn.00441c5f
cmp esi, 6
pop ecx
je 0x43ffd9
mov eax, dword [0x495e78]
mov ecx, dword [0x495e40]
push 0x7e
and byte [eax + ecx], 0
call fcn.00443f5c
pop ecx
push eax
mov eax, dword [0x495e78]
inc eax
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
push eax
push 0
push 0x35
call sym.ruby187g.exc_rb_node_newnode
mov dword [sym.ruby187g.exc_ruby_yylval], eax
add esp, 0x10
mov eax, 0x13a
jmp 0x441b7b
mov eax, ebx
sub eax, 0x5f
je 0x440027
dec eax
je 0x43ffc5
sub eax, 0x1e
je 0x44009b
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x43ffbe
cmp bl, al
jae 0x43ffa2
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x43ff91
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43ff9e
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 0x43ffb2
cmp ebx, 0x5f
je 0x43ffb2
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
je 0x43ffbe
push 0x24
call fcn.00441cb5
jmp 0x44008b
push 0x24
jmp 0x4411dd
cmp esi, 6
jne 0x440003
push 0x24
call fcn.00441cb5
push ebx
call fcn.00441cb5
pop ecx
pop ecx
mov eax, dword [0x495e78]
mov ecx, dword [0x495e40]
and byte [eax + ecx], 0
push dword [0x495e78]
call sym.ruby187g.exc_rb_intern
pop ecx
mov dword [sym.ruby187g.exc_ruby_yylval], eax
mov eax, 0x133
jmp 0x441b7b
push 0x7e
call fcn.00443f5c
push eax
push ebx
push 0
push 0x36
call sym.ruby187g.exc_rb_node_newnode
mov dword [sym.ruby187g.exc_ruby_yylval], eax
add esp, 0x14
mov eax, 0x13b
jmp 0x441b7b
call fcn.00441ba7
mov ebx, eax
mov eax, 0x80
movzx edi, bl
mov ecx, edi
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x440091
cmp bl, al
jae 0x44006c
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44005b
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440068
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 0x44007c
cmp ebx, 0x5f
je 0x44007c
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
je 0x440091
push 0x24
call fcn.00441cb5
push 0x5f
call fcn.00441cb5
pop ecx
pop ecx
jmp 0x441615
push ebx
call fcn.00441c5f
pop ecx
push 0x5f
pop ebx
push ebx
call fcn.00443f5c
pop ecx
push 0x24
call fcn.00441cb5
push ebx
call fcn.00441cb5
mov eax, dword [0x495e78]
mov ecx, dword [0x495e40]
and byte [eax + ecx], 0
push dword [0x495e78]
call sym.ruby187g.exc_rb_intern
add esp, 0xc
jmp 0x43fff4
call fcn.00441ba7
push 2
mov ebx, eax
pop esi
push 0x2a
pop edi
cmp ebx, edi
jne 0x440112
call fcn.00441ba7
cmp eax, 0x3d
jne 0x4400fb
mov dword [sym.ruby187g.exc_ruby_yylval], 0x13f
jmp 0x440658
push eax
call fcn.00441c5f
pop ecx
mov eax, 0x13f
mov ecx, dword [0x495e28]
jmp 0x4401a3
cmp ebx, 0x3d
jne 0x440122
mov dword [sym.ruby187g.exc_ruby_yylval], edi
jmp 0x440658
push ebx
call fcn.00441c5f
pop ecx
mov ecx, dword [0x495e28]
cmp ecx, esi
je 0x440138
cmp ecx, 3
jne 0x44018e
cmp dword [esp + 0x10], 0
je 0x44018e
cmp bl, 0x80
jae 0x440179
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440164
movzx eax, bl
push 8
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
mov ecx, dword [0x495e28]
jmp 0x440175
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 0x44018e
push str.__interpreted_as_argument_prefix
call sym.ruby187g.exc_rb_warning
pop ecx
mov eax, 0x15a
jmp 0x440107
test ecx, ecx
je 0x44019e
cmp ecx, 5
je 0x44019e
cmp ecx, 8
mov eax, edi
jne 0x4401a3
mov eax, 0x15a
cmp ecx, 6
jl 0x4402ad
cmp ecx, 7
jg 0x4402ad
mov dword [0x495e28], esi
jmp 0x441b7b
push 0
push 0x27
push 0
jmp 0x4408db
call fcn.00441ba7
push 0x26
mov ebx, eax
pop esi
cmp ebx, esi
jne 0x440205
and dword [0x495e28], 0
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x4401fb
mov dword [sym.ruby187g.exc_ruby_yylval], 0x146
jmp 0x440658
mov esi, 0x146
jmp 0x4411de
cmp ebx, 0x3d
jne 0x440215
mov dword [sym.ruby187g.exc_ruby_yylval], esi
jmp 0x440658
push ebx
call fcn.00441c5f
pop ecx
mov ecx, dword [0x495e28]
push 2
pop ebp
cmp ecx, ebp
je 0x44022e
cmp ecx, 3
jne 0x440283
cmp dword [esp + 0x10], 0
je 0x440283
cmp bl, 0x80
jae 0x44026b
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440256
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495e28]
jmp 0x440267
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 0x440283
push 0x485cc8
call sym.ruby187g.exc_rb_warning
pop ecx
mov eax, 0x15b
mov ecx, dword [0x495e28]
jmp 0x440298
test ecx, ecx
je 0x440293
cmp ecx, 5
je 0x440293
cmp ecx, 8
mov eax, esi
jne 0x440298
mov eax, 0x15b
cmp ecx, 6
jl 0x4402ad
cmp ecx, 7
jg 0x4402ad
mov dword [0x495e28], ebp
jmp 0x441b7b
and dword [0x495e28], 0
jmp 0x441b7b
call fcn.00441ba7
mov ecx, dword [0x495e28]
mov ebx, eax
cmp ecx, 6
je 0x440480
cmp ecx, 7
je 0x440480
cmp ebx, 0x3d
jne 0x4402ec
mov dword [sym.ruby187g.exc_ruby_yylval], 0x2b
jmp 0x440658
test ecx, ecx
je 0x44034a
cmp ecx, 5
je 0x44034a
cmp ecx, esi
je 0x44034a
cmp ecx, 2
je 0x440303
cmp ecx, 3
jne 0x44033e
cmp dword [esp + 0x10], 0
je 0x44033e
cmp bl, 0x80
jae 0x44034a
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44032a
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495e28]
jmp 0x44033a
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 0x44034a
and dword [0x495e28], 0
jmp 0x44048f
cmp ecx, 2
je 0x440354
cmp ecx, 3
jne 0x440359
call fcn.00442a49
and dword [0x495e28], 0
push ebx
call fcn.00441c5f
cmp bl, 0x80
pop ecx
jae 0x440476
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440386
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x440397
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 0x440476
push 0x2b
pop ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], ebp
mov dword [0x495e28], 1
call fcn.00441c6d
cmp ebx, 0x2d
je 0x4403c7
cmp ebx, 0x2b
jne 0x4403d5
push ebx
call fcn.00441cb5
pop ecx
call fcn.00441ba7
mov ebx, eax
push 0x30
pop edi
cmp ebx, edi
jne 0x440b70
mov eax, dword [0x495e40]
mov dword [esp + 0x14], eax
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x78
je 0x440cfb
cmp ebx, 0x58
je 0x440cfb
cmp ebx, 0x62
je 0x440c81
cmp ebx, 0x42
je 0x440c81
cmp ebx, 0x64
je 0x440bab
cmp ebx, 0x44
je 0x440bab
cmp ebx, 0x5f
je 0x440466
cmp ebx, 0x6f
je 0x440435
cmp ebx, 0x4f
jne 0x44044c
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x5f
jne 0x44044c
push str.numeric_literal_without_digits
call fcn.0043f51c
pop ecx
cmp ebx, edi
jl 0x440b29
cmp ebx, 0x37
jg 0x440b2e
cmp ebx, 0x5f
jne 0x440abc
test esi, esi
jne 0x440ae3
push 0x5f
pop esi
jmp 0x440ad3
mov eax, 0x13d
jmp 0x441b7b
cmp ebx, 0x40
mov dword [0x495e28], 2
je 0x440476
push 0x2b
jmp 0x4411dd
call fcn.00441ba7
mov ecx, dword [0x495e28]
mov ebx, eax
cmp ecx, 6
je 0x440585
cmp ecx, 7
je 0x440585
cmp ebx, 0x3d
jne 0x4404c9
mov dword [sym.ruby187g.exc_ruby_yylval], 0x2d
jmp 0x440658
test ecx, ecx
je 0x440524
cmp ecx, 5
je 0x440524
cmp ecx, esi
je 0x440524
cmp ecx, 2
je 0x4404e0
cmp ecx, 3
jne 0x44051b
cmp dword [esp + 0x10], 0
je 0x44051b
cmp bl, 0x80
jae 0x440524
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440507
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495e28]
jmp 0x440517
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 0x440524
and dword [0x495e28], 0
jmp 0x440594
cmp ecx, 2
je 0x44052e
cmp ecx, 3
jne 0x440533
call fcn.00442a49
and dword [0x495e28], 0
push ebx
call fcn.00441c5f
cmp bl, 0x80
pop ecx
jae 0x44057b
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44055c
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x44056d
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 0x44057b
mov eax, 0x166
jmp 0x441b7b
mov eax, 0x13e
jmp 0x441b7b
cmp ebx, 0x40
mov dword [0x495e28], 2
je 0x44057b
push 0x2d
jmp 0x4411dd
mov eax, dword [0x495e28]
push 2
pop ecx
test eax, eax
mov dword [0x484590], ecx
je 0x4405dd
cmp eax, 5
je 0x4405dd
cmp eax, esi
je 0x4405dd
cmp dword [esp + 0x10], 0
je 0x4405e2
cmp eax, 3
jne 0x4405c9
mov ebx, 0x155
jmp 0x4405e2
cmp eax, ecx
jne 0x4405e2
push str.dont_put_space_before_argument_parentheses
call sym.ruby187g.exc_rb_warn
pop ecx
push 0x28
pop ebx
jmp 0x4405e2
mov ebx, 0x154
mov eax, dword [0x495e50]
mov edx, dword [0x495e54]
push 1
pop ecx
call fcn.00467db0
push 1
mov dword [0x495e50], eax
mov eax, dword [0x495e58]
mov dword [0x495e54], edx
mov edx, dword [0x495e5c]
pop ecx
call fcn.00467db0
mov dword [0x495e58], eax
mov dword [0x495e5c], edx
jmp case.0x43fae8.44
mov eax, dword [0x495e28]
push 2
test eax, eax
pop esi
je 0x4406db
cmp eax, 5
je 0x4406db
cmp eax, 8
je 0x4406db
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x44066b
mov dword [sym.ruby187g.exc_ruby_yylval], 0x25
mov ebx, 0x152
and dword [0x495e28], 0
mov eax, ebx
jmp 0x441b7b
mov ecx, dword [0x495e28]
cmp ecx, esi
je 0x44067a
cmp ecx, 3
jne 0x4406bb
cmp dword [esp + 0x10], 0
je 0x4406bb
cmp bl, 0x80
jae 0x440773
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4406a6
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495e28]
jmp 0x4406b7
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 0x4406e2
cmp ecx, 6
jl 0x4406cd
cmp ecx, 7
jg 0x4406cd
mov dword [0x495e28], esi
jmp 0x4406d4
and dword [0x495e28], 0
push 0x25
jmp 0x4411dd
call fcn.00441ba7
mov ebx, eax
cmp bl, 0x80
jae 0x440773
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440700
movzx eax, bl
push ebp
push eax
call edi
pop ecx
pop ecx
jmp 0x440711
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 0x440773
call fcn.00441ba7
mov edx, eax
cmp dl, 0x80
mov dword [esp + 0x10], edx
jae 0x440755
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440740
movzx eax, dl
push ebp
push eax
call edi
mov edx, dword [esp + 0x18]
pop ecx
pop ecx
jmp 0x440751
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 0x440764
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, dl
cmp byte [eax + ecx], 0
je 0x440780
push str.unknown_type_of__string
call fcn.0043f51c
jmp 0x441179
mov dword [esp + 0x10], ebx
push 0x51
mov edx, dword [esp + 0x14]
pop ebx
xor esi, esi
cmp ebx, 0xffffffff
je 0x440957
cmp edx, 0xffffffff
je 0x440957
cmp edx, 0x28
mov ecx, edx
jne 0x4407a7
mov dword [esp + 0x10], 0x29
mov edx, dword [esp + 0x10]
jmp 0x4407d6
cmp edx, 0x5b
jne 0x4407b6
mov dword [esp + 0x10], 0x5d
jmp 0x4407a1
cmp edx, 0x7b
jne 0x4407c5
mov dword [esp + 0x10], 0x7d
jmp 0x4407a1
cmp edx, 0x3c
jne 0x4407d4
mov dword [esp + 0x10], 0x3e
jmp 0x4407a1
xor ecx, ecx
sub ebx, 0x51
je 0x44094d
push 6
pop ebp
sub ebx, ebp
je 0x4408f4
sub ebx, 0x1a
je 0x4408d3
dec ebx
je 0x4408b1
dec ebx
je 0x440889
sub ebx, 4
je 0x440830
dec ebx
jne 0x440764
mov esi, 0x15e
shl ecx, 0x10
or ecx, edx
push 0
push ecx
push 2
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x10
mov dword [0x495e34], eax
jmp 0x4411e5
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 8
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x10
mov dword [0x495e34], eax
call fcn.00441ba7
mov ebx, eax
cmp bl, 0x80
jae 0x44087f
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44086a
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
jmp 0x44087b
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 0x440848
mov esi, 0x161
jmp 0x4411de
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 0x10
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x10
mov dword [0x495e34], eax
mov dword [0x495e28], ebp
mov eax, 0x15c
jmp 0x441b7b
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 7
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
mov dword [0x495e34], eax
add esp, 0x10
mov eax, 0x15f
jmp 0x441b7b
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push esi
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
mov dword [0x495e34], eax
add esp, 0x10
mov eax, 0x15d
jmp 0x441b7b
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 0xa
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x10
mov dword [0x495e34], eax
call fcn.00441ba7
mov ebx, eax
cmp bl, 0x80
jae 0x440943
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44092e
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
jmp 0x44093f
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 0x44090c
mov esi, 0x160
jmp 0x4411de
mov esi, 0x15d
jmp 0x440812
push str.unterminated_quoted_string_meets_end_of_file
jmp 0x4413fc
and dword [0x495e28], 0
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x2e
jne 0x440994
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x2e
jne 0x44098a
mov eax, 0x14b
jmp 0x441b7b
mov esi, 0x14a
jmp 0x4411de
push ebx
call fcn.00441c5f
cmp bl, 0x80
pop ecx
jae 0x4409d6
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4409b6
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x4409c7
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 0x4409d6
push str.no_._digit__floating_literal_anymore__put_0_before_dot
call fcn.0043f51c
pop ecx
push 0x2e
pop eax
jmp 0x440a1e
mov dword [0x484590], 2
jmp case.0x43fae8.44
call fcn.00441ba7
mov ebx, eax
mov eax, dword [0x495e28]
cmp ebx, 0x3a
jne 0x440a37
test eax, eax
je 0x440a2d
cmp eax, 5
je 0x440a2d
cmp eax, esi
je 0x440a2d
cmp eax, 2
je 0x440a12
cmp eax, 3
jne 0x440a19
cmp dword [esp + 0x10], 0
jne 0x440a2d
mov eax, 0x150
mov dword [0x495e28], 7
jmp 0x441b7b
mov ebx, 0x151
jmp case.0x43fae8.44
cmp eax, 1
je 0x440aae
cmp eax, 4
je 0x440aae
cmp bl, 0x80
jae 0x440a6f
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440a5b
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x440a6b
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 0x440aae
cmp ebx, 0x22
je 0x440a8a
cmp ebx, 0x27
je 0x440a82
push ebx
call fcn.00441c5f
pop ecx
jmp 0x440a9f
push 0
push 0x27
push 0x10
jmp 0x440a90
push 0
push 0x22
push 0x12
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x10
mov dword [0x495e34], eax
mov dword [0x495e28], 6
jmp 0x4408a7
push ebx
call fcn.00441c5f
pop ecx
push 0x3a
jmp 0x441361
cmp ebx, edi
jl 0x440ae3
cmp ebx, 0x39
jg 0x440ae3
cmp ebx, 0x37
jg 0x440b33
push ebx
xor esi, esi
call fcn.00441cb5
pop ecx
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x44045d
mov eax, dword [esp + 0x14]
cmp dword [0x495e40], eax
jle 0x440b19
push ebx
call fcn.00441c5f
mov eax, dword [0x495e40]
pop ecx
mov ecx, dword [0x495e78]
and byte [ecx + eax], 0
test esi, esi
jne 0x440eea
xor eax, eax
push eax
push eax
push eax
push 8
jmp 0x440f75
test esi, esi
je 0x440b29
push ebx
call fcn.00441c5f
pop ecx
jmp 0x440eea
cmp ebx, 0x37
jle 0x440b3f
cmp ebx, 0x39
jg 0x440b3f
push str.Illegal_octal_digit
call fcn.0043f51c
jmp 0x440b6f
cmp ebx, 0x2e
je 0x440b69
cmp ebx, 0x65
je 0x440b69
cmp ebx, 0x45
je 0x440b69
push ebx
call fcn.00441c5f
push 0
push 0
push 1
push 0x3a
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x14
jmp 0x440f8e
push edi
call fcn.00441cb5
pop ecx
cmp ebx, 0x2e
je 0x440e3f
cmp ebx, 0x2f
jle 0x440ed0
cmp ebx, 0x39
jle 0x440e34
cmp ebx, 0x45
je 0x440ded
cmp ebx, 0x5f
je 0x440ddd
cmp ebx, 0x65
jne 0x440ed0
jmp 0x440ded
call fcn.00441ba7
mov ebx, eax
cmp bl, 0x80
jae 0x440c40
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440bd5
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440be6
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 0x440c40
cmp ebx, 0x5f
jne 0x440bf7
test esi, esi
jne 0x440c40
push ebx
pop esi
jmp 0x440c34
cmp bl, 0x80
jae 0x440c40
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440c16
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440c27
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 0x440c40
push ebx
xor esi, esi
call fcn.00441cb5
pop ecx
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x440bea
push ebx
call fcn.00441c5f
mov eax, dword [0x495e40]
pop ecx
mov ecx, dword [0x495e78]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x495e40], eax
jne 0x440c6f
push str.numeric_literal_without_digits
call fcn.0043f51c
pop ecx
jmp 0x440c77
test esi, esi
jne 0x440eea
xor eax, eax
push eax
push eax
push eax
jmp 0x440f73
call fcn.00441ba7
cmp eax, edi
je 0x440c8f
cmp eax, 0x31
jne 0x440cb8
cmp eax, 0x5f
jne 0x440c9c
test esi, esi
jne 0x440cb8
push eax
pop esi
jmp 0x440cae
cmp eax, edi
je 0x440ca5
cmp eax, 0x31
jne 0x440cb8
push eax
xor esi, esi
call fcn.00441cb5
pop ecx
call fcn.00441ba7
cmp eax, 0xffffffff
jne 0x440c8f
push eax
call fcn.00441c5f
mov eax, dword [0x495e40]
pop ecx
mov ecx, dword [0x495e78]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x495e40], eax
jne 0x440ce7
push str.numeric_literal_without_digits
call fcn.0043f51c
pop ecx
jmp 0x440cef
test esi, esi
jne 0x440eea
xor eax, eax
push eax
push eax
push eax
push 2
jmp 0x440f75
call fcn.00441ba7
mov ebx, eax
cmp bl, 0x80
jae 0x440d9a
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440d28
movzx eax, bl
push 0x80
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440d3b
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 0x440d9a
cmp ebx, 0x5f
jne 0x440d4c
test esi, esi
jne 0x440d9a
push ebx
pop esi
jmp 0x440d8e
cmp bl, 0x80
jae 0x440d9a
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440d6e
movzx eax, bl
push 0x80
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440d81
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 0x440d9a
push ebx
xor esi, esi
call fcn.00441cb5
pop ecx
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x440d3f
push ebx
call fcn.00441c5f
mov eax, dword [0x495e40]
pop ecx
mov ecx, dword [0x495e78]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x495e40], eax
jne 0x440dc9
push str.numeric_literal_without_digits
call fcn.0043f51c
pop ecx
jmp 0x440dd1
test esi, esi
jne 0x440eea
xor eax, eax
push eax
push eax
push eax
push 0x10
jmp 0x440f75
test esi, esi
jne 0x440ed0
push 0x5f
pop esi
jmp 0x440eb2
test esi, esi
jne 0x440ebe
cmp dword [esp + 0x18], esi
jne 0x440ed0
push ebx
call fcn.00441cb5
inc dword [esp + 0x14]
pop ecx
mov dword [esp + 0x18], 1
mov esi, ebx
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x2d
je 0x440e29
cmp ebx, 0x2b
jne 0x440b70
push ebx
call fcn.00441cb5
pop ecx
mov esi, ebx
jmp 0x440eb2
push ebx
xor esi, esi
call fcn.00441cb5
pop ecx
jmp 0x440eb2
test esi, esi
jne 0x440eea
test ebp, ebp
jne 0x440ed0
cmp dword [esp + 0x18], ebp
jne 0x440ed0
call fcn.00441ba7
mov ecx, eax
cmp cl, 0x80
mov dword [esp + 0x14], ecx
jae 0x440ec9
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
push 1
pop ebp
cmp dword [eax], ebp
jle 0x440e85
movzx eax, cl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
jmp 0x440e96
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 0x440ec9
push 0x2e
call fcn.00441cb5
push dword [esp + 0x18]
call fcn.00441cb5
inc dword [esp + 0x18]
pop ecx
pop ecx
xor esi, esi
call fcn.00441ba7
mov ebx, eax
jmp 0x440b70
push ebx
call fcn.00441c5f
pop ecx
mov ebx, esi
jmp 0x440ed0
push ecx
call fcn.00441c5f
pop ecx
push ebx
call fcn.00441c5f
mov eax, dword [0x495e40]
pop ecx
mov ecx, dword [0x495e78]
and byte [ecx + eax], 0
test esi, esi
je 0x440f08
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.0043f51c
add esp, 0x10
xor edi, edi
cmp dword [esp + 0x10], edi
push edi
je 0x440f71
push dword [0x495e78]
call sym.ruby187g.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 0x440f45
push dword [0x495e78]
push str.Float__s_out_of_range
call sym.ruby187g.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.ruby187g.exc_rb_float_new
pop ecx
pop ecx
push eax
push 0x3a
call sym.ruby187g.exc_rb_node_newnode
mov dword [sym.ruby187g.exc_ruby_yylval], eax
add esp, 0x10
mov eax, 0x138
jmp 0x441b7b
push edi
push edi
push 0xa
push dword [0x495e78]
call sym.ruby187g.exc_rb_cstr_to_inum
add esp, 0xc
push eax
push 0x3a
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x10
mov dword [sym.ruby187g.exc_ruby_yylval], eax
mov eax, 0x137
jmp 0x441b7b
mov eax, dword [0x495e28]
test eax, eax
je 0x441025
cmp eax, 5
je 0x441025
cmp eax, esi
je 0x441025
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x440fca
mov dword [sym.ruby187g.exc_ruby_yylval], 0x2f
jmp 0x440658
push ebx
call fcn.00441c5f
pop ecx
mov ecx, dword [0x495e28]
push 2
pop esi
cmp ecx, esi
je 0x440fe3
cmp ecx, 3
jne 0x44102e
cmp dword [esp + 0x10], 0
je 0x44102e
cmp bl, 0x80
jae 0x441020
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44100b
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x495e28]
jmp 0x44101c
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 0x44102e
call fcn.00442a49
push 0
push 0x2f
jmp 0x4408b8
cmp ecx, 6
jl 0x441040
cmp ecx, 7
jg 0x441040
mov dword [0x495e28], esi
jmp 0x441047
and dword [0x495e28], 0
push 0x2f
jmp 0x441a27
call fcn.00441ba7
mov ebx, eax
push 2
cmp ebx, 0x3c
pop ebp
jne 0x441092
mov eax, dword [0x495e28]
cmp eax, 1
je 0x441097
cmp eax, 7
je 0x441097
cmp eax, 4
je 0x441097
cmp eax, esi
je 0x441097
cmp eax, ebp
je 0x44107e
cmp eax, 3
jne 0x441085
cmp dword [esp + 0x10], 0
je 0x441097
call fcn.004424dc
test eax, eax
jne 0x441b7b
mov eax, dword [0x495e28]
cmp eax, 6
jl 0x4410a9
cmp eax, 7
jg 0x4410a9
mov dword [0x495e28], ebp
jmp 0x4410b0
and dword [0x495e28], 0
cmp ebx, 0x3d
jne 0x4410d5
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3e
jne 0x4410cb
mov eax, 0x140
jmp 0x441b7b
mov esi, 0x145
jmp 0x4411de
cmp ebx, 0x3c
jne 0x4410ff
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x4410f5
mov dword [sym.ruby187g.exc_ruby_yylval], 0x14e
jmp 0x440658
mov esi, 0x14e
jmp 0x4411de
push 0x3c
jmp 0x4411dd
call fcn.00441ba7
mov ebx, eax
call fcn.00441c6d
push 0x40
call fcn.00441cb5
cmp ebx, 0x40
pop ecx
jne 0x44112d
push ebx
call fcn.00441cb5
pop ecx
call fcn.00441ba7
mov ebx, eax
cmp bl, 0x80
jae 0x441181
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x441148
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x441159
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 0x441181
cmp dword [0x495e40], 1
push ebx
jne 0x44116e
push str.___c_is_not_allowed_as_an_instance_variable_name
jmp 0x441173
push str.____c_is_not_allowed_as_a_class_variable_name
call sym.ruby187g.exc_rb_compile_error
pop ecx
pop ecx
xor eax, eax
jmp 0x441b7b
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x4411db
cmp bl, al
jae 0x4411c3
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4411ae
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x4411bb
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 0x441615
cmp ebx, 0x5f
je 0x441615
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x441615
push 0x40
pop esi
push ebx
call fcn.00441c5f
pop ecx
mov eax, esi
jmp 0x441b7b
mov eax, dword [0x495e28]
cmp eax, 1
je 0x44135f
cmp eax, 4
je 0x44135f
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x441219
push str.incomplete_character_syntax
jmp 0x4413fc
cmp bl, 0x80
jae 0x4412a7
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x441237
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x441247
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 0x4412a7
mov eax, dword [0x495e28]
cmp eax, 2
je 0x441358
cmp eax, 3
je 0x441358
mov eax, ebx
sub eax, 9
je 0x441292
dec eax
je 0x44128e
dec eax
je 0x44128a
dec eax
je 0x441286
dec eax
je 0x441282
sub eax, 0x13
jne 0x441358
push 0x73
jmp 0x441294
push 0x72
jmp 0x441294
push 0x66
jmp 0x441294
push 0x76
jmp 0x441294
push 0x6e
jmp 0x441294
push 0x74
pop eax
push eax
push str.invalid_character_syntax__use___c
call sym.ruby187g.exc_rb_warn
pop ecx
pop ecx
jmp 0x441358
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, bl
cmp byte [eax + ecx], 0
je 0x4412be
push ebx
push str.multibyte_character_literal_not_supported_yet__use___.3o
jmp 0x44129b
cmp bl, 0x80
jae 0x4412e8
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x4412d6
push ebp
push eax
call edi
pop ecx
pop ecx
jmp 0x4412e4
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 0x4412ed
cmp ebx, 0x5f
jne 0x441367
mov edi, dword [0x495e18]
cmp edi, dword [0x495e30]
jae 0x441367
mov cl, byte [edi]
mov edx, 0x80
movzx eax, cl
mov esi, eax
xor esi, edx
sub esi, edx
cmp esi, 0xffffffff
je 0x441367
cmp cl, dl
jae 0x441343
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x441331
push ebp
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
mov edi, dword [0x495e18]
pop ecx
pop ecx
jmp 0x44133f
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 0x441358
mov al, byte [edi]
cmp al, 0x5f
je 0x441358
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, al
cmp byte [eax + ecx], 0
je 0x441367
push ebx
call fcn.00441c5f
pop ecx
push 0x3f
pop ebx
jmp case.0x43fae8.44
cmp ebx, 0x5c
jne 0x441373
call fcn.00441cf5
mov ebx, eax
push 1
and ebx, 0xff
pop eax
shl ebx, 1
push 0
or ebx, eax
push 0
mov dword [0x495e28], eax
push ebx
jmp 0x440f84
mov eax, dword [0x495e28]
cmp eax, 6
jl 0x4413aa
cmp eax, 7
jg 0x4413aa
mov dword [0x495e28], 2
jmp 0x4413b1
and dword [0x495e28], 0
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x4413c7
mov eax, 0x144
jmp 0x441b7b
push 0x3e
pop esi
cmp ebx, esi
jne 0x4411de
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x4413ed
mov dword [sym.ruby187g.exc_ruby_yylval], 0x14f
jmp 0x440658
mov esi, 0x14f
jmp 0x4411de
push str.embedded_document_meets_end_of_file
call sym.ruby187g.exc_rb_compile_error
jmp 0x441179
mov eax, dword [0x495e28]
cmp eax, 6
jl 0x441421
cmp eax, 7
jg 0x441421
mov dword [0x495e28], 2
jmp 0x441428
and dword [0x495e28], 0
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x441454
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x44144a
mov eax, 0x142
jmp 0x441b7b
mov esi, 0x141
jmp 0x4411de
cmp ebx, 0x7e
jne 0x441463
mov eax, 0x148
jmp 0x441b7b
cmp ebx, 0x3e
jne 0x441472
mov eax, 0x153
jmp 0x441b7b
push 0x3d
jmp 0x4411dd
mov eax, dword [0x495e28]
cmp eax, 6
je 0x4414f3
cmp eax, 7
je 0x4414f3
test eax, eax
je 0x4414a6
cmp eax, 5
je 0x4414a6
cmp eax, esi
je 0x4414a6
cmp eax, 2
je 0x44149f
cmp eax, 3
jne 0x4414ab
cmp dword [esp + 0x10], 0
je 0x4414ab
mov ebx, 0x157
mov eax, dword [0x495e50]
mov edx, dword [0x495e54]
and dword [0x495e28], 0
push 1
pop ecx
call fcn.00467db0
push 1
mov dword [0x495e50], eax
mov eax, dword [0x495e58]
mov dword [0x495e54], edx
mov edx, dword [0x495e5c]
pop ecx
call fcn.00467db0
mov dword [0x495e58], eax
mov dword [0x495e5c], edx
jmp 0x440664
mov dword [0x495e28], 2
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x5d
jne 0x441529
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x44151f
mov eax, 0x14d
jmp 0x441b7b
mov esi, 0x14c
jmp 0x4411de
push 0x5b
jmp 0x4411dd
mov eax, dword [0x495e20]
inc eax
cmp dword [0x495e18], eax
jne 0x441610
push 0
push 7
push str.__END__
call fcn.004426f8
add esp, 0xc
test eax, eax
je 0x441610
and dword [0x495e1c], 0
mov dword [sym.ruby187g.exc_ruby__end__seen], 1
or eax, 0xffffffff
jmp 0x441b7b
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x44158f
mov dword [sym.ruby187g.exc_ruby_yylval], 0x5e
jmp 0x440658
mov eax, dword [0x495e28]
cmp eax, 6
jl 0x4415aa
cmp eax, 7
jg 0x4415aa
mov dword [0x495e28], 2
jmp 0x4415b1
and dword [0x495e28], 0
push 0x5e
jmp 0x4411dd
push 0x5c
jmp 0x4411dd
mov eax, dword [0x495e28]
cmp eax, 6
jne 0x4415d5
mov dword [0x495e28], 1
jmp 0x4415ea
cmp eax, 7
jne 0x4415f1
xor eax, eax
cmp dword [esp + 0x18], eax
setne al
inc eax
inc eax
mov dword [0x495e28], eax
mov eax, ecx
jmp 0x441b7b
push 0
push 0x60
push 2
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
mov dword [0x495e34], eax
add esp, 0x10
mov eax, 0x15e
jmp 0x441b7b
call fcn.00441c6d
mov esi, 0x80
push ebx
call fcn.00441cb5
pop ecx
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, bl
mov al, byte [eax + ecx]
test al, al
je 0x441649
movzx eax, al
test eax, eax
jle 0x441649
mov edi, eax
call fcn.00441ba7
push eax
call fcn.00441cb5
dec edi
pop ecx
jne 0x44163a
call fcn.00441ba7
mov ebx, eax
movzx edi, bl
mov eax, edi
xor eax, esi
sub eax, esi
cmp eax, 0xffffffff
je 0x44169a
cmp bl, 0x80
jae 0x44168a
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x441679
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x441686
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 0x44161a
cmp ebx, 0x5f
je 0x44161a
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x44161a
cmp ebx, 0x21
je 0x4416a4
cmp ebx, 0x3f
jne 0x44171b
mov eax, dword [0x495e78]
mov cl, byte [eax]
movzx eax, cl
mov edx, eax
xor edx, esi
sub edx, esi
cmp edx, 0xffffffff
je 0x44171b
cmp cl, 0x80
jae 0x4416e7
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x4416d5
push ebp
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x4416e3
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 0x441701
mov eax, dword [0x495e78]
mov al, byte [eax]
cmp al, 0x5f
je 0x441701
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, al
cmp byte [eax + ecx], 0
je 0x44171b
mov eax, dword [0x495e18]
cmp eax, dword [0x495e30]
je 0x441713
cmp byte [eax], 0x3d
je 0x44171b
push ebx
call fcn.00441cb5
jmp 0x441721
push ebx
call fcn.00441c5f
mov eax, dword [0x495e78]
pop ecx
mov ecx, dword [0x495e40]
and byte [eax + ecx], 0
mov ecx, dword [0x495e78]
mov edx, dword [0x495e28]
mov al, byte [ecx]
mov ebp, edx
cmp al, 0x24
je 0x44196d
cmp al, 0x40
je 0x44194d
mov esi, dword [0x495e40]
test esi, esi
jle 0x441762
movsx eax, byte [ecx + esi - 1]
jmp 0x441764
xor eax, eax
cmp eax, 0x21
je 0x441848
test esi, esi
jle 0x441778
movsx eax, byte [ecx + esi - 1]
jmp 0x44177a
xor eax, eax
cmp eax, 0x3f
je 0x441848
cmp edx, 6
jne 0x4417f4
call fcn.00441ba7
cmp eax, 0x3d
jne 0x4417e1
mov ecx, dword [0x495e18]
mov edi, dword [0x495e30]
cmp ecx, edi
je 0x4417bc
mov dl, byte [ecx]
cmp dl, 0x7e
je 0x4417e1
cmp dl, 0x3e
je 0x4417e1
cmp dl, al
jne 0x4417bc
inc ecx
cmp ecx, edi
jae 0x4417e1
cmp byte [ecx], 0x3e
jne 0x4417e1
push 0x3d
call fcn.00441cb5
mov eax, dword [0x495e40]
pop ecx
mov ecx, dword [0x495e78]
and byte [ecx + eax], 0
mov edx, dword [0x495e28]
mov ecx, dword [0x495e78]
jmp 0x44183b
push eax
call fcn.00441c5f
mov edx, dword [0x495e28]
pop ecx
mov ecx, dword [0x495e78]
mov al, byte [ecx]
cmp al, 0x80
jae 0x44183b
mov esi, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [esi], 1
jle 0x441821
movzx eax, al
push 1
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
mov edx, dword [0x495e28]
pop ecx
pop ecx
mov ecx, dword [0x495e78]
jmp 0x441832
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 0x441840
mov edi, 0x131
mov esi, dword [0x495e40]
jmp 0x44184d
mov edi, 0x132
cmp edx, 7
je 0x441912
push esi
push ecx
call sym.ruby187g.exc_rb_reserved_word
mov esi, eax
xor edx, edx
pop ecx
cmp esi, edx
pop ecx
je 0x441906
mov ecx, dword [0x495e28]
mov eax, dword [esi + 0xc]
cmp ecx, 6
mov dword [0x495e28], eax
jne 0x441893
push dword [esi]
call sym.ruby187g.exc_rb_intern
mov dword [sym.ruby187g.exc_ruby_yylval], eax
mov eax, dword [esi + 4]
pop ecx
jmp 0x441b7b
mov eax, dword [esi + 4]
mov edi, 0x119
cmp eax, edi
jne 0x4418eb
mov eax, dword [0x495e50]
push 2
and eax, 1
pop esi
or eax, edx
mov dword [0x484590], esi
je 0x4418be
mov eax, 0x11a
jmp 0x441b7b
mov eax, dword [0x495e58]
and eax, 1
or eax, edx
je 0x4418d9
cmp ecx, 3
je 0x4418d9
mov eax, 0x11b
jmp 0x441b7b
xor eax, eax
cmp ecx, 4
setne al
dec eax
and eax, esi
add eax, edi
jmp 0x441b7b
cmp ecx, edx
je 0x441b7b
cmp eax, dword [esi + 8]
je 0x4418fe
mov dword [0x495e28], edx
mov eax, dword [esi + 8]
jmp 0x441b7b
mov edx, dword [0x495e28]
mov ecx, dword [0x495e78]
test edx, edx
je 0x44193b
cmp edx, 5
je 0x44193b
cmp edx, 7
je 0x44193b
cmp edx, 2
je 0x44193b
cmp edx, 8
je 0x44193b
cmp edx, 3
je 0x44193b
mov dword [0x495e28], 1
jmp 0x44197c
xor eax, eax
cmp dword [esp + 0x18], eax
setne al
inc eax
inc eax
mov dword [0x495e28], eax
jmp 0x44197c
mov dword [0x495e28], 1
xor eax, eax
cmp byte [ecx + 1], 0x40
setne al
dec eax
and eax, 2
add eax, 0x134
mov edi, eax
jmp 0x44197c
mov dword [0x495e28], 1
mov edi, 0x133
push ecx
call sym.ruby187g.exc_rb_intern
cmp eax, 0x167
pop ecx
mov dword [sym.ruby187g.exc_ruby_yylval], eax
jbe 0x441b79
and eax, 7
cmp al, 1
jne 0x441b79
cmp ebp, 7
je 0x441b79
call fcn.004441d6
test eax, eax
je 0x4419c0
push dword [sym.ruby187g.exc_ruby_yylval]
call sym.ruby187g.exc_rb_dvar_defined
test eax, eax
pop ecx
jne 0x4419d4
push dword [sym.ruby187g.exc_ruby_yylval]
call fcn.00443f9f
test eax, eax
pop ecx
je 0x441b79
mov dword [0x495e28], 1
jmp 0x441b79
mov eax, dword [0x495e28]
cmp eax, 6
je 0x4419f2
cmp eax, 7
jne 0x441a03
call fcn.00441ba7
cmp eax, 0x40
je 0x441a03
push eax
call fcn.00441c5f
pop ecx
mov eax, dword [0x495e28]
cmp eax, 6
jl 0x441a1e
cmp eax, 7
jg 0x441a1e
mov dword [0x495e28], 2
jmp 0x441a25
and dword [0x495e28], 0
push 0x7e
pop eax
jmp 0x441b7b
mov esi, dword [0x495e50]
mov edx, dword [0x495e54]
push 1
mov eax, esi
pop edi
mov ecx, edi
call fcn.00467d90
and esi, edi
xor ecx, ecx
or eax, esi
mov esi, dword [0x495e58]
or edx, ecx
mov dword [0x495e50], eax
mov dword [0x495e54], edx
mov edx, dword [0x495e5c]
mov ecx, edi
mov eax, esi
call fcn.00467d90
and esi, edi
xor ecx, ecx
or eax, esi
or edx, ecx
mov dword [0x495e58], eax
mov dword [0x495e5c], edx
mov dword [0x495e28], edi
jmp 0x440664
call fcn.00441ba7
push 0x7c
mov ebx, eax
pop ecx
cmp ebx, ecx
jne 0x441ac5
and dword [0x495e28], 0
call fcn.00441ba7
mov ebx, eax
cmp ebx, 0x3d
jne 0x441abb
mov dword [sym.ruby187g.exc_ruby_yylval], 0x147
jmp 0x440658
mov esi, 0x147
jmp 0x4411de
cmp ebx, 0x3d
jne 0x441ad5
mov dword [sym.ruby187g.exc_ruby_yylval], ecx
jmp 0x440658
mov eax, dword [0x495e28]
cmp eax, 6
je 0x441aed
cmp eax, 7
je 0x441aed
and dword [0x495e28], 0
jmp 0x441af7
mov dword [0x495e28], 2
mov esi, ecx
jmp 0x4411de
mov eax, dword [0x495e28]
mov esi, 0x158
cmp eax, 2
je 0x441b25
cmp eax, 3
je 0x441b25
cmp eax, 1
je 0x441b25
xor ecx, ecx
cmp eax, 4
sete cl
add ecx, esi
mov edi, ecx
jmp 0x441b28
push 0x7b
pop edi
mov eax, dword [0x495e50]
mov edx, dword [0x495e54]
push 1
pop ecx
call fcn.00467db0
push 1
mov dword [0x495e50], eax
mov eax, dword [0x495e58]
mov dword [0x495e54], edx
mov edx, dword [0x495e5c]
pop ecx
call fcn.00467db0
and dword [0x495e28], 0
cmp edi, esi
mov dword [0x495e58], eax
mov dword [0x495e5c], edx
je 0x441b79
mov dword [0x484590], 2
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret