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

Disassembly:
sub esp, 0x30
mov eax, dword [0x496e34]
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], edi
je 0x43fa7e
mov ecx, dword [eax]
push eax
and ecx, 0x7f800
cmp ecx, 0x15000
jne 0x43fa41
call fcn.00442802
mov esi, eax
pop ecx
cmp esi, 0x164
jne 0x441264
jmp 0x43fa69
call fcn.00441eec
mov esi, eax
pop ecx
cmp esi, 0x164
je 0x43fa5d
cmp esi, 0x13c
jne 0x441264
push dword [0x496e34]
call sym.ruby187g.exc_rb_gc_force_recycle
pop ecx
mov dword [0x496e34], edi
mov dword [0x496e28], 1
jmp 0x441264
mov eax, dword [0x485590]
mov dword [0x485590], edi
mov dword [esp + 0x18], eax
mov ebp, 0x107
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
push 8
pop esi
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x2e
jg 0x43fb6e
je 0x4409e0
cmp ebx, 0x24
jg 0x43fb5c
je 0x43fdfc
cmp ebx, 0x1a
jg 0x43faff
je 0x4411f9
cmp ebx, 0xffffffff
jl case.default.0x43fb67
test ebx, ebx
jle 0x4411f9
cmp ebx, 4
je 0x4411f9
cmp ebx, 9
je 0x43fb53
cmp ebx, 0xa
je 0x43fb30
jle case.default.0x43fb67
cmp ebx, 0xd
jle 0x43fb53
jmp case.default.0x43fb67
mov eax, ebx
sub eax, 0x20
je 0x43fb53
dec eax
je 0x43fdc9
dec eax
je 0x43fdbe
dec eax
jne case.default.0x43fb67
call fcn.00441c26
cmp eax, 0xa
je 0x43fb30
cmp eax, 0xffffffff
je 0x4411f9
jmp 0x43fb1b
mov eax, dword [0x496e28]
test eax, eax
je 0x43fa9b
cmp eax, 5
jle 0x43fdad
cmp eax, esi
jg 0x43fdad
jmp 0x43fa9b
inc dword [esp + 0x10]
jmp 0x43fa9b
lea eax, [ebx - 0x25]
cmp eax, esi
ja case.default.0x43fb67
jmp dword [eax*4 + 0x441c02]
cmp ebx, 0x5b
jg 0x43fcd0
je 0x4414f8
cmp ebx, 0x3c
jg 0x43fbb7
je 0x4410cd
cmp ebx, 0x2f
je 0x44101c
jle case.default.0x43fb67
cmp ebx, 0x39
jle 0x440421
cmp ebx, 0x3a
je 0x440a69
cmp ebx, 0x3b
je 0x440a5a
jmp case.default.0x43fb67
mov eax, ebx
sub eax, 0x3d
je 0x43fbd8
dec eax
je 0x44140e
dec eax
je 0x44126b
dec eax
je 0x441185
jmp case.default.0x43fb67
mov eax, dword [0x496e20]
lea ecx, [eax + 1]
mov eax, dword [0x496e18]
cmp eax, ecx
jne 0x441485
push 5
push str.begin
push eax
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x441485
mov eax, dword [0x496e18]
mov al, byte [eax + 5]
cmp al, 0x80
jae 0x441485
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x43fc2c
movzx eax, al
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x43fc3c
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 0x441485
mov eax, dword [0x496e30]
mov dword [0x496e18], eax
call fcn.00441c26
cmp eax, 0xffffffff
je 0x441476
cmp eax, 0x3d
jne 0x43fc44
push 3
push 0x4808d0
push dword [0x496e18]
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x43fc44
mov eax, dword [0x496e18]
add eax, 3
cmp eax, dword [0x496e30]
je 0x43fcc1
mov al, byte [eax]
cmp al, 0x80
jae 0x43fc44
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x43fcac
movzx eax, al
push 8
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43fcbd
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 0x43fc44
mov eax, dword [0x496e30]
mov dword [0x496e18], eax
jmp 0x43fa92
push 0x60
pop ecx
cmp ebx, ecx
jg 0x43fd18
je 0x44163e
mov eax, ebx
sub eax, 0x5c
je 0x43fcfb
dec eax
je case.0x43fb67.41
dec eax
je 0x4415f3
dec eax
je 0x4415af
jmp case.default.0x43fb67
call fcn.00441c26
mov ebx, eax
cmp ebx, 0xa
jne 0x441637
mov dword [esp + 0x10], 1
jmp 0x43fa9b
mov eax, ebx
sub eax, 0x7b
je 0x441b7d
dec eax
je 0x441b0a
dec eax
je case.0x43fb67.41
dec eax
je 0x441a62
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x43fd92
cmp bl, al
jae 0x43fd7a
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x43fd65
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43fd72
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 0x44168f
cmp ebx, 0x5f
je 0x44168f
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x44168f
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 0x43fa9b
mov dword [0x485590], 2
push 0xa
jmp 0x4413e0
push 0
push 0x22
push 2
jmp 0x44095a
and dword [0x496e28], 0
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x43fde6
mov eax, 0x143
jmp 0x441bfa
cmp ebx, 0x7e
jne 0x43fdf5
mov eax, 0x149
jmp 0x441bfa
push 0x21
jmp 0x44125c
mov esi, dword [0x496e28]
mov dword [0x496e28], 1
call fcn.00441cec
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x2f
jg 0x43fefd
cmp ebx, 0x2e
jge 0x440121
push 0x2a
pop edi
cmp ebx, edi
jg 0x43fe69
je 0x440121
cmp ebx, 0x21
jl 0x43ffe3
cmp ebx, 0x22
jle 0x440121
cmp ebx, 0x24
je 0x440121
cmp ebx, 0x25
jle 0x43ffe3
cmp ebx, 0x27
jle 0x440044
jmp 0x43ffe3
mov eax, ebx
sub eax, 0x2b
je 0x440044
dec eax
je 0x440121
dec eax
jne 0x43ffe3
push 0x24
call fcn.00441d34
push 0x2d
call fcn.00441d34
pop ecx
pop ecx
call fcn.00441c26
mov ebx, eax
mov eax, 0x80
movzx esi, bl
mov ecx, esi
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x43fef2
cmp bl, al
jae 0x43fed7
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x43fec6
push ebp
push esi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43fed3
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 0x43fee7
cmp ebx, 0x5f
je 0x43fee7
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [esi + eax], 0
je 0x43fef2
push ebx
call fcn.00441d34
jmp 0x440057
push ebx
call fcn.00441cde
jmp 0x440057
cmp ebx, 0x5c
jg 0x43ffcc
je 0x440121
push 0x30
pop edi
cmp ebx, edi
je 0x440031
jle 0x43ffe3
cmp ebx, 0x39
jle 0x43ff30
cmp ebx, 0x40
jle 0x440121
jmp 0x43ffe3
push 0x24
call fcn.00441d34
pop ecx
push ebx
call fcn.00441d34
pop ecx
call fcn.00441c26
mov ebx, eax
cmp bl, 0x80
jae 0x43ff7a
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x43ff65
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x43ff76
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 0x43ff38
push ebx
call fcn.00441cde
cmp esi, 6
pop ecx
je 0x440058
mov eax, dword [0x496e78]
mov ecx, dword [0x496e40]
push 0x7e
and byte [eax + ecx], 0
call fcn.00443fdb
pop ecx
push eax
mov eax, dword [0x496e78]
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 0x441bfa
mov eax, ebx
sub eax, 0x5f
je 0x4400a6
dec eax
je 0x440044
sub eax, 0x1e
je 0x44011a
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x44003d
cmp bl, al
jae 0x440021
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440010
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x44001d
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 0x440031
cmp ebx, 0x5f
je 0x440031
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
je 0x44003d
push 0x24
call fcn.00441d34
jmp 0x44010a
push 0x24
jmp 0x44125c
cmp esi, 6
jne 0x440082
push 0x24
call fcn.00441d34
push ebx
call fcn.00441d34
pop ecx
pop ecx
mov eax, dword [0x496e78]
mov ecx, dword [0x496e40]
and byte [eax + ecx], 0
push dword [0x496e78]
call sym.ruby187g.exc_rb_intern
pop ecx
mov dword [sym.ruby187g.exc_ruby_yylval], eax
mov eax, 0x133
jmp 0x441bfa
push 0x7e
call fcn.00443fdb
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 0x441bfa
call fcn.00441c26
mov ebx, eax
mov eax, 0x80
movzx edi, bl
mov ecx, edi
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x440110
cmp bl, al
jae 0x4400eb
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4400da
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x4400e7
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 0x4400fb
cmp ebx, 0x5f
je 0x4400fb
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
je 0x440110
push 0x24
call fcn.00441d34
push 0x5f
call fcn.00441d34
pop ecx
pop ecx
jmp 0x441694
push ebx
call fcn.00441cde
pop ecx
push 0x5f
pop ebx
push ebx
call fcn.00443fdb
pop ecx
push 0x24
call fcn.00441d34
push ebx
call fcn.00441d34
mov eax, dword [0x496e78]
mov ecx, dword [0x496e40]
and byte [eax + ecx], 0
push dword [0x496e78]
call sym.ruby187g.exc_rb_intern
add esp, 0xc
jmp 0x440073
call fcn.00441c26
push 2
mov ebx, eax
pop esi
push 0x2a
pop edi
cmp ebx, edi
jne 0x440191
call fcn.00441c26
cmp eax, 0x3d
jne 0x44017a
mov dword [sym.ruby187g.exc_ruby_yylval], 0x13f
jmp 0x4406d7
push eax
call fcn.00441cde
pop ecx
mov eax, 0x13f
mov ecx, dword [0x496e28]
jmp 0x440222
cmp ebx, 0x3d
jne 0x4401a1
mov dword [sym.ruby187g.exc_ruby_yylval], edi
jmp 0x4406d7
push ebx
call fcn.00441cde
pop ecx
mov ecx, dword [0x496e28]
cmp ecx, esi
je 0x4401b7
cmp ecx, 3
jne 0x44020d
cmp dword [esp + 0x10], 0
je 0x44020d
cmp bl, 0x80
jae 0x4401f8
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4401e3
movzx eax, bl
push 8
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
mov ecx, dword [0x496e28]
jmp 0x4401f4
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 0x44020d
push str.__interpreted_as_argument_prefix
call sym.ruby187g.exc_rb_warning
pop ecx
mov eax, 0x15a
jmp 0x440186
test ecx, ecx
je 0x44021d
cmp ecx, 5
je 0x44021d
cmp ecx, 8
mov eax, edi
jne 0x440222
mov eax, 0x15a
cmp ecx, 6
jl 0x44032c
cmp ecx, 7
jg 0x44032c
mov dword [0x496e28], esi
jmp 0x441bfa
push 0
push 0x27
push 0
jmp 0x44095a
call fcn.00441c26
push 0x26
mov ebx, eax
pop esi
cmp ebx, esi
jne 0x440284
and dword [0x496e28], 0
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x44027a
mov dword [sym.ruby187g.exc_ruby_yylval], 0x146
jmp 0x4406d7
mov esi, 0x146
jmp 0x44125d
cmp ebx, 0x3d
jne 0x440294
mov dword [sym.ruby187g.exc_ruby_yylval], esi
jmp 0x4406d7
push ebx
call fcn.00441cde
pop ecx
mov ecx, dword [0x496e28]
push 2
pop ebp
cmp ecx, ebp
je 0x4402ad
cmp ecx, 3
jne 0x440302
cmp dword [esp + 0x10], 0
je 0x440302
cmp bl, 0x80
jae 0x4402ea
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4402d5
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x496e28]
jmp 0x4402e6
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 0x440302
push 0x486cc8
call sym.ruby187g.exc_rb_warning
pop ecx
mov eax, 0x15b
mov ecx, dword [0x496e28]
jmp 0x440317
test ecx, ecx
je 0x440312
cmp ecx, 5
je 0x440312
cmp ecx, 8
mov eax, esi
jne 0x440317
mov eax, 0x15b
cmp ecx, 6
jl 0x44032c
cmp ecx, 7
jg 0x44032c
mov dword [0x496e28], ebp
jmp 0x441bfa
and dword [0x496e28], 0
jmp 0x441bfa
call fcn.00441c26
mov ecx, dword [0x496e28]
mov ebx, eax
cmp ecx, 6
je 0x4404ff
cmp ecx, 7
je 0x4404ff
cmp ebx, 0x3d
jne 0x44036b
mov dword [sym.ruby187g.exc_ruby_yylval], 0x2b
jmp 0x4406d7
test ecx, ecx
je 0x4403c9
cmp ecx, 5
je 0x4403c9
cmp ecx, esi
je 0x4403c9
cmp ecx, 2
je 0x440382
cmp ecx, 3
jne 0x4403bd
cmp dword [esp + 0x10], 0
je 0x4403bd
cmp bl, 0x80
jae 0x4403c9
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4403a9
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x496e28]
jmp 0x4403b9
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 0x4403c9
and dword [0x496e28], 0
jmp 0x44050e
cmp ecx, 2
je 0x4403d3
cmp ecx, 3
jne 0x4403d8
call fcn.00442ac8
and dword [0x496e28], 0
push ebx
call fcn.00441cde
cmp bl, 0x80
pop ecx
jae 0x4404f5
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440405
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x440416
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 0x4404f5
push 0x2b
pop ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], ebp
mov dword [0x496e28], 1
call fcn.00441cec
cmp ebx, 0x2d
je 0x440446
cmp ebx, 0x2b
jne 0x440454
push ebx
call fcn.00441d34
pop ecx
call fcn.00441c26
mov ebx, eax
push 0x30
pop edi
cmp ebx, edi
jne 0x440bef
mov eax, dword [0x496e40]
mov dword [esp + 0x14], eax
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x78
je 0x440d7a
cmp ebx, 0x58
je 0x440d7a
cmp ebx, 0x62
je 0x440d00
cmp ebx, 0x42
je 0x440d00
cmp ebx, 0x64
je 0x440c2a
cmp ebx, 0x44
je 0x440c2a
cmp ebx, 0x5f
je 0x4404e5
cmp ebx, 0x6f
je 0x4404b4
cmp ebx, 0x4f
jne 0x4404cb
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x5f
jne 0x4404cb
push str.numeric_literal_without_digits
call fcn.0043f59b
pop ecx
cmp ebx, edi
jl 0x440ba8
cmp ebx, 0x37
jg 0x440bad
cmp ebx, 0x5f
jne 0x440b3b
test esi, esi
jne 0x440b62
push 0x5f
pop esi
jmp 0x440b52
mov eax, 0x13d
jmp 0x441bfa
cmp ebx, 0x40
mov dword [0x496e28], 2
je 0x4404f5
push 0x2b
jmp 0x44125c
call fcn.00441c26
mov ecx, dword [0x496e28]
mov ebx, eax
cmp ecx, 6
je 0x440604
cmp ecx, 7
je 0x440604
cmp ebx, 0x3d
jne 0x440548
mov dword [sym.ruby187g.exc_ruby_yylval], 0x2d
jmp 0x4406d7
test ecx, ecx
je 0x4405a3
cmp ecx, 5
je 0x4405a3
cmp ecx, esi
je 0x4405a3
cmp ecx, 2
je 0x44055f
cmp ecx, 3
jne 0x44059a
cmp dword [esp + 0x10], 0
je 0x44059a
cmp bl, 0x80
jae 0x4405a3
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440586
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x496e28]
jmp 0x440596
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 0x4405a3
and dword [0x496e28], 0
jmp 0x440613
cmp ecx, 2
je 0x4405ad
cmp ecx, 3
jne 0x4405b2
call fcn.00442ac8
and dword [0x496e28], 0
push ebx
call fcn.00441cde
cmp bl, 0x80
pop ecx
jae 0x4405fa
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4405db
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x4405ec
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 0x4405fa
mov eax, 0x166
jmp 0x441bfa
mov eax, 0x13e
jmp 0x441bfa
cmp ebx, 0x40
mov dword [0x496e28], 2
je 0x4405fa
push 0x2d
jmp 0x44125c
mov eax, dword [0x496e28]
push 2
pop ecx
test eax, eax
mov dword [0x485590], ecx
je 0x44065c
cmp eax, 5
je 0x44065c
cmp eax, esi
je 0x44065c
cmp dword [esp + 0x10], 0
je 0x440661
cmp eax, 3
jne 0x440648
mov ebx, 0x155
jmp 0x440661
cmp eax, ecx
jne 0x440661
push str.dont_put_space_before_argument_parentheses
call sym.ruby187g.exc_rb_warn
pop ecx
push 0x28
pop ebx
jmp 0x440661
mov ebx, 0x154
mov eax, dword [0x496e50]
mov edx, dword [0x496e54]
push 1
pop ecx
call fcn.00467ee0
push 1
mov dword [0x496e50], eax
mov eax, dword [0x496e58]
mov dword [0x496e54], edx
mov edx, dword [0x496e5c]
pop ecx
call fcn.00467ee0
mov dword [0x496e58], eax
mov dword [0x496e5c], edx
jmp case.0x43fb67.44
mov eax, dword [0x496e28]
push 2
test eax, eax
pop esi
je 0x44075a
cmp eax, 5
je 0x44075a
cmp eax, 8
je 0x44075a
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x4406ea
mov dword [sym.ruby187g.exc_ruby_yylval], 0x25
mov ebx, 0x152
and dword [0x496e28], 0
mov eax, ebx
jmp 0x441bfa
mov ecx, dword [0x496e28]
cmp ecx, esi
je 0x4406f9
cmp ecx, 3
jne 0x44073a
cmp dword [esp + 0x10], 0
je 0x44073a
cmp bl, 0x80
jae 0x4407f2
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440725
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x496e28]
jmp 0x440736
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 0x440761
cmp ecx, 6
jl 0x44074c
cmp ecx, 7
jg 0x44074c
mov dword [0x496e28], esi
jmp 0x440753
and dword [0x496e28], 0
push 0x25
jmp 0x44125c
call fcn.00441c26
mov ebx, eax
cmp bl, 0x80
jae 0x4407f2
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44077f
movzx eax, bl
push ebp
push eax
call edi
pop ecx
pop ecx
jmp 0x440790
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 0x4407f2
call fcn.00441c26
mov edx, eax
cmp dl, 0x80
mov dword [esp + 0x10], edx
jae 0x4407d4
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4407bf
movzx eax, dl
push ebp
push eax
call edi
mov edx, dword [esp + 0x18]
pop ecx
pop ecx
jmp 0x4407d0
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 0x4407e3
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, dl
cmp byte [eax + ecx], 0
je 0x4407ff
push str.unknown_type_of__string
call fcn.0043f59b
jmp 0x4411f8
mov dword [esp + 0x10], ebx
push 0x51
mov edx, dword [esp + 0x14]
pop ebx
xor esi, esi
cmp ebx, 0xffffffff
je 0x4409d6
cmp edx, 0xffffffff
je 0x4409d6
cmp edx, 0x28
mov ecx, edx
jne 0x440826
mov dword [esp + 0x10], 0x29
mov edx, dword [esp + 0x10]
jmp 0x440855
cmp edx, 0x5b
jne 0x440835
mov dword [esp + 0x10], 0x5d
jmp 0x440820
cmp edx, 0x7b
jne 0x440844
mov dword [esp + 0x10], 0x7d
jmp 0x440820
cmp edx, 0x3c
jne 0x440853
mov dword [esp + 0x10], 0x3e
jmp 0x440820
xor ecx, ecx
sub ebx, 0x51
je 0x4409cc
push 6
pop ebp
sub ebx, ebp
je 0x440973
sub ebx, 0x1a
je 0x440952
dec ebx
je 0x440930
dec ebx
je 0x440908
sub ebx, 4
je 0x4408af
dec ebx
jne 0x4407e3
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 [0x496e34], eax
jmp 0x441264
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 [0x496e34], eax
call fcn.00441c26
mov ebx, eax
cmp bl, 0x80
jae 0x4408fe
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4408e9
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
jmp 0x4408fa
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 0x4408c7
mov esi, 0x161
jmp 0x44125d
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 [0x496e34], eax
mov dword [0x496e28], ebp
mov eax, 0x15c
jmp 0x441bfa
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push 7
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
mov dword [0x496e34], eax
add esp, 0x10
mov eax, 0x15f
jmp 0x441bfa
shl ecx, 0x10
or ecx, edx
push esi
push ecx
push esi
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
mov dword [0x496e34], eax
add esp, 0x10
mov eax, 0x15d
jmp 0x441bfa
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 [0x496e34], eax
call fcn.00441c26
mov ebx, eax
cmp bl, 0x80
jae 0x4409c2
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4409ad
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
jmp 0x4409be
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 0x44098b
mov esi, 0x160
jmp 0x44125d
mov esi, 0x15d
jmp 0x440891
push str.unterminated_quoted_string_meets_end_of_file
jmp 0x44147b
and dword [0x496e28], 0
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x2e
jne 0x440a13
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x2e
jne 0x440a09
mov eax, 0x14b
jmp 0x441bfa
mov esi, 0x14a
jmp 0x44125d
push ebx
call fcn.00441cde
cmp bl, 0x80
pop ecx
jae 0x440a55
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440a35
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x440a46
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 0x440a55
push str.no_._digit__floating_literal_anymore__put_0_before_dot
call fcn.0043f59b
pop ecx
push 0x2e
pop eax
jmp 0x440a9d
mov dword [0x485590], 2
jmp case.0x43fb67.44
call fcn.00441c26
mov ebx, eax
mov eax, dword [0x496e28]
cmp ebx, 0x3a
jne 0x440ab6
test eax, eax
je 0x440aac
cmp eax, 5
je 0x440aac
cmp eax, esi
je 0x440aac
cmp eax, 2
je 0x440a91
cmp eax, 3
jne 0x440a98
cmp dword [esp + 0x10], 0
jne 0x440aac
mov eax, 0x150
mov dword [0x496e28], 7
jmp 0x441bfa
mov ebx, 0x151
jmp case.0x43fb67.44
cmp eax, 1
je 0x440b2d
cmp eax, 4
je 0x440b2d
cmp bl, 0x80
jae 0x440aee
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440ada
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x440aea
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 0x440b2d
cmp ebx, 0x22
je 0x440b09
cmp ebx, 0x27
je 0x440b01
push ebx
call fcn.00441cde
pop ecx
jmp 0x440b1e
push 0
push 0x27
push 0x10
jmp 0x440b0f
push 0
push 0x22
push 0x12
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x10
mov dword [0x496e34], eax
mov dword [0x496e28], 6
jmp 0x440926
push ebx
call fcn.00441cde
pop ecx
push 0x3a
jmp 0x4413e0
cmp ebx, edi
jl 0x440b62
cmp ebx, 0x39
jg 0x440b62
cmp ebx, 0x37
jg 0x440bb2
push ebx
xor esi, esi
call fcn.00441d34
pop ecx
call fcn.00441c26
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4404dc
mov eax, dword [esp + 0x14]
cmp dword [0x496e40], eax
jle 0x440b98
push ebx
call fcn.00441cde
mov eax, dword [0x496e40]
pop ecx
mov ecx, dword [0x496e78]
and byte [ecx + eax], 0
test esi, esi
jne 0x440f69
xor eax, eax
push eax
push eax
push eax
push 8
jmp 0x440ff4
test esi, esi
je 0x440ba8
push ebx
call fcn.00441cde
pop ecx
jmp 0x440f69
cmp ebx, 0x37
jle 0x440bbe
cmp ebx, 0x39
jg 0x440bbe
push str.Illegal_octal_digit
call fcn.0043f59b
jmp 0x440bee
cmp ebx, 0x2e
je 0x440be8
cmp ebx, 0x65
je 0x440be8
cmp ebx, 0x45
je 0x440be8
push ebx
call fcn.00441cde
push 0
push 0
push 1
push 0x3a
call sym.ruby187g.exc_rb_node_newnode
add esp, 0x14
jmp 0x44100d
push edi
call fcn.00441d34
pop ecx
cmp ebx, 0x2e
je 0x440ebe
cmp ebx, 0x2f
jle 0x440f4f
cmp ebx, 0x39
jle 0x440eb3
cmp ebx, 0x45
je 0x440e6c
cmp ebx, 0x5f
je 0x440e5c
cmp ebx, 0x65
jne 0x440f4f
jmp 0x440e6c
call fcn.00441c26
mov ebx, eax
cmp bl, 0x80
jae 0x440cbf
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440c54
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440c65
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 0x440cbf
cmp ebx, 0x5f
jne 0x440c76
test esi, esi
jne 0x440cbf
push ebx
pop esi
jmp 0x440cb3
cmp bl, 0x80
jae 0x440cbf
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440c95
movzx eax, bl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440ca6
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 0x440cbf
push ebx
xor esi, esi
call fcn.00441d34
pop ecx
call fcn.00441c26
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x440c69
push ebx
call fcn.00441cde
mov eax, dword [0x496e40]
pop ecx
mov ecx, dword [0x496e78]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x496e40], eax
jne 0x440cee
push str.numeric_literal_without_digits
call fcn.0043f59b
pop ecx
jmp 0x440cf6
test esi, esi
jne 0x440f69
xor eax, eax
push eax
push eax
push eax
jmp 0x440ff2
call fcn.00441c26
cmp eax, edi
je 0x440d0e
cmp eax, 0x31
jne 0x440d37
cmp eax, 0x5f
jne 0x440d1b
test esi, esi
jne 0x440d37
push eax
pop esi
jmp 0x440d2d
cmp eax, edi
je 0x440d24
cmp eax, 0x31
jne 0x440d37
push eax
xor esi, esi
call fcn.00441d34
pop ecx
call fcn.00441c26
cmp eax, 0xffffffff
jne 0x440d0e
push eax
call fcn.00441cde
mov eax, dword [0x496e40]
pop ecx
mov ecx, dword [0x496e78]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x496e40], eax
jne 0x440d66
push str.numeric_literal_without_digits
call fcn.0043f59b
pop ecx
jmp 0x440d6e
test esi, esi
jne 0x440f69
xor eax, eax
push eax
push eax
push eax
push 2
jmp 0x440ff4
call fcn.00441c26
mov ebx, eax
cmp bl, 0x80
jae 0x440e19
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440da7
movzx eax, bl
push 0x80
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440dba
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 0x440e19
cmp ebx, 0x5f
jne 0x440dcb
test esi, esi
jne 0x440e19
push ebx
pop esi
jmp 0x440e0d
cmp bl, 0x80
jae 0x440e19
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x440ded
movzx eax, bl
push 0x80
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x440e00
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 0x440e19
push ebx
xor esi, esi
call fcn.00441d34
pop ecx
call fcn.00441c26
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x440dbe
push ebx
call fcn.00441cde
mov eax, dword [0x496e40]
pop ecx
mov ecx, dword [0x496e78]
and byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
cmp dword [0x496e40], eax
jne 0x440e48
push str.numeric_literal_without_digits
call fcn.0043f59b
pop ecx
jmp 0x440e50
test esi, esi
jne 0x440f69
xor eax, eax
push eax
push eax
push eax
push 0x10
jmp 0x440ff4
test esi, esi
jne 0x440f4f
push 0x5f
pop esi
jmp 0x440f31
test esi, esi
jne 0x440f3d
cmp dword [esp + 0x18], esi
jne 0x440f4f
push ebx
call fcn.00441d34
inc dword [esp + 0x14]
pop ecx
mov dword [esp + 0x18], 1
mov esi, ebx
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x2d
je 0x440ea8
cmp ebx, 0x2b
jne 0x440bef
push ebx
call fcn.00441d34
pop ecx
mov esi, ebx
jmp 0x440f31
push ebx
xor esi, esi
call fcn.00441d34
pop ecx
jmp 0x440f31
test esi, esi
jne 0x440f69
test ebp, ebp
jne 0x440f4f
cmp dword [esp + 0x18], ebp
jne 0x440f4f
call fcn.00441c26
mov ecx, eax
cmp cl, 0x80
mov dword [esp + 0x14], ecx
jae 0x440f48
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
push 1
pop ebp
cmp dword [eax], ebp
jle 0x440f04
movzx eax, cl
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
jmp 0x440f15
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 0x440f48
push 0x2e
call fcn.00441d34
push dword [esp + 0x18]
call fcn.00441d34
inc dword [esp + 0x18]
pop ecx
pop ecx
xor esi, esi
call fcn.00441c26
mov ebx, eax
jmp 0x440bef
push ebx
call fcn.00441cde
pop ecx
mov ebx, esi
jmp 0x440f4f
push ecx
call fcn.00441cde
pop ecx
push ebx
call fcn.00441cde
mov eax, dword [0x496e40]
pop ecx
mov ecx, dword [0x496e78]
and byte [ecx + eax], 0
test esi, esi
je 0x440f87
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.0043f59b
add esp, 0x10
xor edi, edi
cmp dword [esp + 0x10], edi
push edi
je 0x440ff0
push dword [0x496e78]
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 0x440fc4
push dword [0x496e78]
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 0x441bfa
push edi
push edi
push 0xa
push dword [0x496e78]
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 0x441bfa
mov eax, dword [0x496e28]
test eax, eax
je 0x4410a4
cmp eax, 5
je 0x4410a4
cmp eax, esi
je 0x4410a4
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x441049
mov dword [sym.ruby187g.exc_ruby_yylval], 0x2f
jmp 0x4406d7
push ebx
call fcn.00441cde
pop ecx
mov ecx, dword [0x496e28]
push 2
pop esi
cmp ecx, esi
je 0x441062
cmp ecx, 3
jne 0x4410ad
cmp dword [esp + 0x10], 0
je 0x4410ad
cmp bl, 0x80
jae 0x44109f
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44108a
movzx eax, bl
push 8
push eax
call edi
pop ecx
pop ecx
mov ecx, dword [0x496e28]
jmp 0x44109b
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 0x4410ad
call fcn.00442ac8
push 0
push 0x2f
jmp 0x440937
cmp ecx, 6
jl 0x4410bf
cmp ecx, 7
jg 0x4410bf
mov dword [0x496e28], esi
jmp 0x4410c6
and dword [0x496e28], 0
push 0x2f
jmp 0x441aa6
call fcn.00441c26
mov ebx, eax
push 2
cmp ebx, 0x3c
pop ebp
jne 0x441111
mov eax, dword [0x496e28]
cmp eax, 1
je 0x441116
cmp eax, 7
je 0x441116
cmp eax, 4
je 0x441116
cmp eax, esi
je 0x441116
cmp eax, ebp
je 0x4410fd
cmp eax, 3
jne 0x441104
cmp dword [esp + 0x10], 0
je 0x441116
call fcn.0044255b
test eax, eax
jne 0x441bfa
mov eax, dword [0x496e28]
cmp eax, 6
jl 0x441128
cmp eax, 7
jg 0x441128
mov dword [0x496e28], ebp
jmp 0x44112f
and dword [0x496e28], 0
cmp ebx, 0x3d
jne 0x441154
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3e
jne 0x44114a
mov eax, 0x140
jmp 0x441bfa
mov esi, 0x145
jmp 0x44125d
cmp ebx, 0x3c
jne 0x44117e
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x441174
mov dword [sym.ruby187g.exc_ruby_yylval], 0x14e
jmp 0x4406d7
mov esi, 0x14e
jmp 0x44125d
push 0x3c
jmp 0x44125c
call fcn.00441c26
mov ebx, eax
call fcn.00441cec
push 0x40
call fcn.00441d34
cmp ebx, 0x40
pop ecx
jne 0x4411ac
push ebx
call fcn.00441d34
pop ecx
call fcn.00441c26
mov ebx, eax
cmp bl, 0x80
jae 0x441200
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4411c7
movzx eax, bl
push 4
push eax
call edi
pop ecx
pop ecx
jmp 0x4411d8
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 0x441200
cmp dword [0x496e40], 1
push ebx
jne 0x4411ed
push str.___c_is_not_allowed_as_an_instance_variable_name
jmp 0x4411f2
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 0x441bfa
movzx edi, bl
mov ecx, edi
mov eax, 0x80
xor ecx, eax
sub ecx, eax
cmp ecx, 0xffffffff
je 0x44125a
cmp bl, al
jae 0x441242
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x44122d
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x44123a
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 0x441694
cmp ebx, 0x5f
je 0x441694
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x441694
push 0x40
pop esi
push ebx
call fcn.00441cde
pop ecx
mov eax, esi
jmp 0x441bfa
mov eax, dword [0x496e28]
cmp eax, 1
je 0x4413de
cmp eax, 4
je 0x4413de
call fcn.00441c26
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x441298
push str.incomplete_character_syntax
jmp 0x44147b
cmp bl, 0x80
jae 0x441326
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4412b6
movzx eax, bl
push esi
push eax
call edi
pop ecx
pop ecx
jmp 0x4412c6
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 0x441326
mov eax, dword [0x496e28]
cmp eax, 2
je 0x4413d7
cmp eax, 3
je 0x4413d7
mov eax, ebx
sub eax, 9
je 0x441311
dec eax
je 0x44130d
dec eax
je 0x441309
dec eax
je 0x441305
dec eax
je 0x441301
sub eax, 0x13
jne 0x4413d7
push 0x73
jmp 0x441313
push 0x72
jmp 0x441313
push 0x66
jmp 0x441313
push 0x76
jmp 0x441313
push 0x6e
jmp 0x441313
push 0x74
pop eax
push eax
push str.invalid_character_syntax__use___c
call sym.ruby187g.exc_rb_warn
pop ecx
pop ecx
jmp 0x4413d7
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, bl
cmp byte [eax + ecx], 0
je 0x44133d
push ebx
push str.multibyte_character_literal_not_supported_yet__use___.3o
jmp 0x44131a
cmp bl, 0x80
jae 0x441367
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x441355
push ebp
push eax
call edi
pop ecx
pop ecx
jmp 0x441363
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 0x44136c
cmp ebx, 0x5f
jne 0x4413e6
mov edi, dword [0x496e18]
cmp edi, dword [0x496e30]
jae 0x4413e6
mov cl, byte [edi]
mov edx, 0x80
movzx eax, cl
mov esi, eax
xor esi, edx
sub esi, edx
cmp esi, 0xffffffff
je 0x4413e6
cmp cl, dl
jae 0x4413c2
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x4413b0
push ebp
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
mov edi, dword [0x496e18]
pop ecx
pop ecx
jmp 0x4413be
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 0x4413d7
mov al, byte [edi]
cmp al, 0x5f
je 0x4413d7
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, al
cmp byte [eax + ecx], 0
je 0x4413e6
push ebx
call fcn.00441cde
pop ecx
push 0x3f
pop ebx
jmp case.0x43fb67.44
cmp ebx, 0x5c
jne 0x4413f2
call fcn.00441d74
mov ebx, eax
push 1
and ebx, 0xff
pop eax
shl ebx, 1
push 0
or ebx, eax
push 0
mov dword [0x496e28], eax
push ebx
jmp 0x441003
mov eax, dword [0x496e28]
cmp eax, 6
jl 0x441429
cmp eax, 7
jg 0x441429
mov dword [0x496e28], 2
jmp 0x441430
and dword [0x496e28], 0
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x441446
mov eax, 0x144
jmp 0x441bfa
push 0x3e
pop esi
cmp ebx, esi
jne 0x44125d
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x44146c
mov dword [sym.ruby187g.exc_ruby_yylval], 0x14f
jmp 0x4406d7
mov esi, 0x14f
jmp 0x44125d
push str.embedded_document_meets_end_of_file
call sym.ruby187g.exc_rb_compile_error
jmp 0x4411f8
mov eax, dword [0x496e28]
cmp eax, 6
jl 0x4414a0
cmp eax, 7
jg 0x4414a0
mov dword [0x496e28], 2
jmp 0x4414a7
and dword [0x496e28], 0
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x4414d3
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x4414c9
mov eax, 0x142
jmp 0x441bfa
mov esi, 0x141
jmp 0x44125d
cmp ebx, 0x7e
jne 0x4414e2
mov eax, 0x148
jmp 0x441bfa
cmp ebx, 0x3e
jne 0x4414f1
mov eax, 0x153
jmp 0x441bfa
push 0x3d
jmp 0x44125c
mov eax, dword [0x496e28]
cmp eax, 6
je 0x441572
cmp eax, 7
je 0x441572
test eax, eax
je 0x441525
cmp eax, 5
je 0x441525
cmp eax, esi
je 0x441525
cmp eax, 2
je 0x44151e
cmp eax, 3
jne 0x44152a
cmp dword [esp + 0x10], 0
je 0x44152a
mov ebx, 0x157
mov eax, dword [0x496e50]
mov edx, dword [0x496e54]
and dword [0x496e28], 0
push 1
pop ecx
call fcn.00467ee0
push 1
mov dword [0x496e50], eax
mov eax, dword [0x496e58]
mov dword [0x496e54], edx
mov edx, dword [0x496e5c]
pop ecx
call fcn.00467ee0
mov dword [0x496e58], eax
mov dword [0x496e5c], edx
jmp 0x4406e3
mov dword [0x496e28], 2
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x5d
jne 0x4415a8
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x44159e
mov eax, 0x14d
jmp 0x441bfa
mov esi, 0x14c
jmp 0x44125d
push 0x5b
jmp 0x44125c
mov eax, dword [0x496e20]
inc eax
cmp dword [0x496e18], eax
jne 0x44168f
push 0
push 7
push str.__END__
call fcn.00442777
add esp, 0xc
test eax, eax
je 0x44168f
and dword [0x496e1c], 0
mov dword [sym.ruby187g.exc_ruby__end__seen], 1
or eax, 0xffffffff
jmp 0x441bfa
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x44160e
mov dword [sym.ruby187g.exc_ruby_yylval], 0x5e
jmp 0x4406d7
mov eax, dword [0x496e28]
cmp eax, 6
jl 0x441629
cmp eax, 7
jg 0x441629
mov dword [0x496e28], 2
jmp 0x441630
and dword [0x496e28], 0
push 0x5e
jmp 0x44125c
push 0x5c
jmp 0x44125c
mov eax, dword [0x496e28]
cmp eax, 6
jne 0x441654
mov dword [0x496e28], 1
jmp 0x441669
cmp eax, 7
jne 0x441670
xor eax, eax
cmp dword [esp + 0x18], eax
setne al
inc eax
inc eax
mov dword [0x496e28], eax
mov eax, ecx
jmp 0x441bfa
push 0
push 0x60
push 2
push 0x2b
call sym.ruby187g.exc_rb_node_newnode
mov dword [0x496e34], eax
add esp, 0x10
mov eax, 0x15e
jmp 0x441bfa
call fcn.00441cec
mov esi, 0x80
push ebx
call fcn.00441d34
pop ecx
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, bl
mov al, byte [eax + ecx]
test al, al
je 0x4416c8
movzx eax, al
test eax, eax
jle 0x4416c8
mov edi, eax
call fcn.00441c26
push eax
call fcn.00441d34
dec edi
pop ecx
jne 0x4416b9
call fcn.00441c26
mov ebx, eax
movzx edi, bl
mov eax, edi
xor eax, esi
sub eax, esi
cmp eax, 0xffffffff
je 0x441719
cmp bl, 0x80
jae 0x441709
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x4416f8
push ebp
push edi
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x441705
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 0x441699
cmp ebx, 0x5f
je 0x441699
mov eax, dword [sym.ruby187g.exc_re_mbctab]
cmp byte [edi + eax], 0
jne 0x441699
cmp ebx, 0x21
je 0x441723
cmp ebx, 0x3f
jne 0x44179a
mov eax, dword [0x496e78]
mov cl, byte [eax]
movzx eax, cl
mov edx, eax
xor edx, esi
sub edx, esi
cmp edx, 0xffffffff
je 0x44179a
cmp cl, 0x80
jae 0x441766
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x441754
push ebp
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x441762
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 0x441780
mov eax, dword [0x496e78]
mov al, byte [eax]
cmp al, 0x5f
je 0x441780
mov ecx, dword [sym.ruby187g.exc_re_mbctab]
movzx eax, al
cmp byte [eax + ecx], 0
je 0x44179a
mov eax, dword [0x496e18]
cmp eax, dword [0x496e30]
je 0x441792
cmp byte [eax], 0x3d
je 0x44179a
push ebx
call fcn.00441d34
jmp 0x4417a0
push ebx
call fcn.00441cde
mov eax, dword [0x496e78]
pop ecx
mov ecx, dword [0x496e40]
and byte [eax + ecx], 0
mov ecx, dword [0x496e78]
mov edx, dword [0x496e28]
mov al, byte [ecx]
mov ebp, edx
cmp al, 0x24
je 0x4419ec
cmp al, 0x40
je 0x4419cc
mov esi, dword [0x496e40]
test esi, esi
jle 0x4417e1
movsx eax, byte [ecx + esi - 1]
jmp 0x4417e3
xor eax, eax
cmp eax, 0x21
je 0x4418c7
test esi, esi
jle 0x4417f7
movsx eax, byte [ecx + esi - 1]
jmp 0x4417f9
xor eax, eax
cmp eax, 0x3f
je 0x4418c7
cmp edx, 6
jne 0x441873
call fcn.00441c26
cmp eax, 0x3d
jne 0x441860
mov ecx, dword [0x496e18]
mov edi, dword [0x496e30]
cmp ecx, edi
je 0x44183b
mov dl, byte [ecx]
cmp dl, 0x7e
je 0x441860
cmp dl, 0x3e
je 0x441860
cmp dl, al
jne 0x44183b
inc ecx
cmp ecx, edi
jae 0x441860
cmp byte [ecx], 0x3e
jne 0x441860
push 0x3d
call fcn.00441d34
mov eax, dword [0x496e40]
pop ecx
mov ecx, dword [0x496e78]
and byte [ecx + eax], 0
mov edx, dword [0x496e28]
mov ecx, dword [0x496e78]
jmp 0x4418ba
push eax
call fcn.00441cde
mov edx, dword [0x496e28]
pop ecx
mov ecx, dword [0x496e78]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4418ba
mov esi, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [esi], 1
jle 0x4418a0
movzx eax, al
push 1
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
mov edx, dword [0x496e28]
pop ecx
pop ecx
mov ecx, dword [0x496e78]
jmp 0x4418b1
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 0x4418bf
mov edi, 0x131
mov esi, dword [0x496e40]
jmp 0x4418cc
mov edi, 0x132
cmp edx, 7
je 0x441991
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 0x441985
mov ecx, dword [0x496e28]
mov eax, dword [esi + 0xc]
cmp ecx, 6
mov dword [0x496e28], eax
jne 0x441912
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 0x441bfa
mov eax, dword [esi + 4]
mov edi, 0x119
cmp eax, edi
jne 0x44196a
mov eax, dword [0x496e50]
push 2
and eax, 1
pop esi
or eax, edx
mov dword [0x485590], esi
je 0x44193d
mov eax, 0x11a
jmp 0x441bfa
mov eax, dword [0x496e58]
and eax, 1
or eax, edx
je 0x441958
cmp ecx, 3
je 0x441958
mov eax, 0x11b
jmp 0x441bfa
xor eax, eax
cmp ecx, 4
setne al
dec eax
and eax, esi
add eax, edi
jmp 0x441bfa
cmp ecx, edx
je 0x441bfa
cmp eax, dword [esi + 8]
je 0x44197d
mov dword [0x496e28], edx
mov eax, dword [esi + 8]
jmp 0x441bfa
mov edx, dword [0x496e28]
mov ecx, dword [0x496e78]
test edx, edx
je 0x4419ba
cmp edx, 5
je 0x4419ba
cmp edx, 7
je 0x4419ba
cmp edx, 2
je 0x4419ba
cmp edx, 8
je 0x4419ba
cmp edx, 3
je 0x4419ba
mov dword [0x496e28], 1
jmp 0x4419fb
xor eax, eax
cmp dword [esp + 0x18], eax
setne al
inc eax
inc eax
mov dword [0x496e28], eax
jmp 0x4419fb
mov dword [0x496e28], 1
xor eax, eax
cmp byte [ecx + 1], 0x40
setne al
dec eax
and eax, 2
add eax, 0x134
mov edi, eax
jmp 0x4419fb
mov dword [0x496e28], 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 0x441bf8
and eax, 7
cmp al, 1
jne 0x441bf8
cmp ebp, 7
je 0x441bf8
call fcn.00444255
test eax, eax
je 0x441a3f
push dword [sym.ruby187g.exc_ruby_yylval]
call sym.ruby187g.exc_rb_dvar_defined
test eax, eax
pop ecx
jne 0x441a53
push dword [sym.ruby187g.exc_ruby_yylval]
call fcn.0044401e
test eax, eax
pop ecx
je 0x441bf8
mov dword [0x496e28], 1
jmp 0x441bf8
mov eax, dword [0x496e28]
cmp eax, 6
je 0x441a71
cmp eax, 7
jne 0x441a82
call fcn.00441c26
cmp eax, 0x40
je 0x441a82
push eax
call fcn.00441cde
pop ecx
mov eax, dword [0x496e28]
cmp eax, 6
jl 0x441a9d
cmp eax, 7
jg 0x441a9d
mov dword [0x496e28], 2
jmp 0x441aa4
and dword [0x496e28], 0
push 0x7e
pop eax
jmp 0x441bfa
mov esi, dword [0x496e50]
mov edx, dword [0x496e54]
push 1
mov eax, esi
pop edi
mov ecx, edi
call fcn.00467ec0
and esi, edi
xor ecx, ecx
or eax, esi
mov esi, dword [0x496e58]
or edx, ecx
mov dword [0x496e50], eax
mov dword [0x496e54], edx
mov edx, dword [0x496e5c]
mov ecx, edi
mov eax, esi
call fcn.00467ec0
and esi, edi
xor ecx, ecx
or eax, esi
or edx, ecx
mov dword [0x496e58], eax
mov dword [0x496e5c], edx
mov dword [0x496e28], edi
jmp 0x4406e3
call fcn.00441c26
push 0x7c
mov ebx, eax
pop ecx
cmp ebx, ecx
jne 0x441b44
and dword [0x496e28], 0
call fcn.00441c26
mov ebx, eax
cmp ebx, 0x3d
jne 0x441b3a
mov dword [sym.ruby187g.exc_ruby_yylval], 0x147
jmp 0x4406d7
mov esi, 0x147
jmp 0x44125d
cmp ebx, 0x3d
jne 0x441b54
mov dword [sym.ruby187g.exc_ruby_yylval], ecx
jmp 0x4406d7
mov eax, dword [0x496e28]
cmp eax, 6
je 0x441b6c
cmp eax, 7
je 0x441b6c
and dword [0x496e28], 0
jmp 0x441b76
mov dword [0x496e28], 2
mov esi, ecx
jmp 0x44125d
mov eax, dword [0x496e28]
mov esi, 0x158
cmp eax, 2
je 0x441ba4
cmp eax, 3
je 0x441ba4
cmp eax, 1
je 0x441ba4
xor ecx, ecx
cmp eax, 4
sete cl
add ecx, esi
mov edi, ecx
jmp 0x441ba7
push 0x7b
pop edi
mov eax, dword [0x496e50]
mov edx, dword [0x496e54]
push 1
pop ecx
call fcn.00467ee0
push 1
mov dword [0x496e50], eax
mov eax, dword [0x496e58]
mov dword [0x496e54], edx
mov edx, dword [0x496e5c]
pop ecx
call fcn.00467ee0
and dword [0x496e28], 0
cmp edi, esi
mov dword [0x496e58], eax
mov dword [0x496e5c], edx
je 0x441bf8
mov dword [0x485590], 2
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret