Function at 0x100a6620
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x10254be4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x30], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
je 0x100a66e5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx]
and eax, 0x7f00
shr eax, 8
cmp eax, 0x28
jne 0x100a6692
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a31b0
add esp, 8
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x15e
jne 0x100a6690
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 2
jmp 0x100a66dd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a2ee0
add esp, 8
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x15e
je 0x100a66ba
cmp dword [ebp - 0x54], 0x142
jne 0x100a66dd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
push ecx
call sym.ruby.dll_rb_gc_force_recycle
add esp, 4
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 2
mov eax, dword [ebp - 0x54]
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x70], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x8c]
add edx, 1
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x8c], 0x7f
ja case.0x100a6745.2
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x100a9da4]
jmp dword [ecx*4 + 0x100a9d14]
xor eax, eax
jmp 0x100a9d02
mov dword [ebp - 0x30], 1
jmp 0x100a66fb
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x68]
sub ecx, dword [eax + 0x64]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a5e40
add esp, 0xc
test eax, eax
jne 0x100a67aa
mov edx, dword [ebp + 8]
push edx
call fcn.100a5bd0
add esp, 4
test eax, eax
je 0x100a67aa
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a63b0
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x68]
mov dword [edx + 0x64], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x781
je 0x100a67c8
jmp 0x100a66fb
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x100a687c
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x60]
add eax, 1
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x2f
ja case.0x100a6800.1
mov ecx, dword [ebp - 0x60]
movzx edx, byte [ecx + 0x100a9e34]
jmp dword [edx*4 + 0x100a9e24]
mov dword [ebp - 0x30], 1
jmp 0x100a6877
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x2e
je case.0x100a6800.1
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
push 0x2e
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
jmp 0x100a66fb
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
sub edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x94], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
mov dword [ecx + 0x64], eax
jmp 0x100a687c
jmp 0x100a67c8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x70], 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0xa
jmp 0x100a9d02
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x2a
jne 0x100a69cd
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a68e8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [eax], 0x84
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x30
je 0x100a6947
cmp dword [ebp - 0x30], 0
je 0x100a6947
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a6947
push 0x10241338
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov dword [ebp - 0x28], 0x150
jmp 0x100a69c8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x641
je 0x100a695d
mov dword [ebp - 0x28], 0x150
jmp 0x100a69c8
mov ecx, dword [ebp - 0x3c]
and ecx, 0x38c
jne 0x100a69c1
cmp dword [ebp - 0x30], 0
je 0x100a69c1
movzx edx, byte [ebp - 0x28]
push edx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a69c1
push 0x10241388
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
push eax
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push 0x1024135c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov dword [ebp - 0x28], 0x84
jmp 0x100a6ad4
cmp dword [ebp - 0x28], 0x3d
jne 0x100a69f3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ecx], 0x2a
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a6a52
cmp dword [ebp - 0x30], 0
je 0x100a6a52
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a6a52
push 0x102413d0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov dword [ebp - 0x28], 0x14f
jmp 0x100a6ad4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x641
je 0x100a6a69
mov dword [ebp - 0x28], 0x14f
jmp 0x100a6ad4
mov edx, dword [ebp - 0x3c]
and edx, 0x38c
jne 0x100a6acd
cmp dword [ebp - 0x30], 0
je 0x100a6acd
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a6acd
push 0x10241420
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push 0x102413f4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov dword [ebp - 0x28], 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x180
je 0x100a6aee
mov dword [ebp - 0x94], 0x10
jmp 0x100a6af8
mov dword [ebp - 0x94], 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x94]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x180
je 0x100a6b45
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x10
cmp dword [ebp - 0x28], 0x40
jne 0x100a6b43
mov eax, 0x21
jmp 0x100a9d02
jmp 0x100a6b4f
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
cmp dword [ebp - 0x28], 0x3d
jne 0x100a6b5f
mov eax, 0x8d
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x7e
jne 0x100a6b6f
mov eax, 0x8f
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x21
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
add ecx, 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x64], ecx
jne 0x100a6cb3
push 5
push 0x10241468
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x100a6cb3
mov edx, 1
imul eax, edx, 5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx + eax]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
je 0x100a6cb3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x68]
mov dword [ecx + 0x64], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x100a6c48
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb8], eax
push str.embedded_document_meets_end_of_file
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_error_with_enc
add esp, 0x10
xor eax, eax
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3d
je 0x100a6c50
jmp 0x100a6be0
push 3
push 0x10241494
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x100a6c9d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
add edx, 3
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x68]
je 0x100a6c9b
mov ecx, 1
imul edx, ecx, 3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx + edx]
push edx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
je 0x100a6c9d
jmp 0x100a6ca2
jmp 0x100a6be0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
mov dword [eax + 0x64], edx
jmp 0x100a66fb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x180
je 0x100a6ccd
mov dword [ebp - 0x98], 0x10
jmp 0x100a6cd7
mov dword [ebp - 0x98], 1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x98]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a6d31
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a6d17
mov eax, 0x8c
jmp 0x100a9d02
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov eax, 0x8b
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x7e
jne 0x100a6d43
mov eax, 0x8e
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3e
jne 0x100a6d53
mov eax, 0x148
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x3d
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3c
jne 0x100a6ddb
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x300
jne 0x100a6ddb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0xe
jne 0x100a6ddb
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a6db5
cmp dword [ebp - 0x30], 0
je 0x100a6ddb
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a51c0
add esp, 4
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x100a6ddb
mov eax, dword [ebp - 0x9c]
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x180
je 0x100a6df4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0x10
jmp 0x100a6e15
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x200
je 0x100a6e0b
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x70], 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
cmp dword [ebp - 0x28], 0x3d
jne 0x100a6e54
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3e
jne 0x100a6e3a
mov eax, 0x86
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x89
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3c
jne 0x100a6f10
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a6e93
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], 0x87
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, dword [ebp - 0x3c]
and eax, 0x38c
jne 0x100a6f06
cmp dword [ebp - 0x30], 0
je 0x100a6f06
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a6f06
push 0x10241498
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push str.even_though_it_seems_like_here_document
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
push eax
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov eax, 0x87
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x3c
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x180
je 0x100a6f44
mov dword [ebp - 0xa0], 0x10
jmp 0x100a6f4e
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a6f79
mov eax, 0x8a
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3e
jne 0x100a6fce
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a6fb4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], 0x88
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x88
jmp 0x100a9d02
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov eax, 0x3e
jmp 0x100a9d02
push 0
push 0x22
push 2
push 0x29
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x154
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x80
je 0x100a702b
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 8
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x100
je 0x100a705f
cmp dword [ebp - 0x90], 0
je 0x100a704d
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0x20
jmp 0x100a7057
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x10
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
push 0
push 0x60
push 2
push 0x29
mov eax, dword [ebp + 8]
push eax
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x155
jmp 0x100a9d02
push 0
push 0x27
push 0
push 0x29
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x154
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0xe
je 0x100a70c6
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0x400
mov eax, 0x3f
jmp 0x100a9d02
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x100a7122
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xb8], ecx
push str.incomplete_character_syntax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_error_with_enc
add esp, 0x10
xor eax, eax
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
push 9
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
mov edx, dword [ecx + 0x30]
call edx
add esp, 0xc
test eax, eax
je 0x100a720a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x30
jne 0x100a71e6
mov dword [ebp - 0x4c], 0
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
sub eax, 9
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x17
ja case.0x100a7180.5
mov ecx, dword [ebp - 0x64]
movzx edx, byte [ecx + 0x100a9e80]
jmp dword [edx*4 + 0x100a9e64]
mov dword [ebp - 0x4c], 0x73
jmp case.0x100a7180.5
mov dword [ebp - 0x4c], 0x6e
jmp case.0x100a7180.5
mov dword [ebp - 0x4c], 0x74
jmp case.0x100a7180.5
mov dword [ebp - 0x4c], 0x76
jmp case.0x100a7180.5
mov dword [ebp - 0x4c], 0x72
jmp case.0x100a7180.5
mov dword [ebp - 0x4c], 0x66
cmp dword [ebp - 0x4c], 0
je 0x100a71e6
mov eax, dword [ebp - 0x4c]
push eax
push str.invalid_character_syntax__use___c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warn
add esp, 0x10
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0x400
mov eax, 0x3f
jmp 0x100a9d02
mov edx, dword [ebp + 8]
push edx
call fcn.100a4370
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
movzx ecx, byte [eax - 1]
cmp ecx, 0x80
jb 0x100a7255
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4ec0
add esp, 8
cmp eax, 0xffffffff
jne 0x100a7250
xor eax, eax
jmp 0x100a9d02
jmp 0x100a73ee
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
push edx
push 0xd
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
mov eax, dword [edx + 0x30]
call eax
add esp, 0xc
test eax, eax
jne 0x100a7280
cmp dword [ebp - 0x28], 0x5f
jne 0x100a72e2
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x64]
cmp eax, dword [edx + 0x68]
jae 0x100a72e2
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
push edx
push 0xd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
mov edx, dword [ecx + 0x30]
call edx
add esp, 0xc
test eax, eax
jne 0x100a72d8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movsx edx, byte [ecx]
cmp edx, 0x5f
je 0x100a72d8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx]
cmp edx, 0x80
jb 0x100a72e2
jmp 0x100a71e6
cmp dword [ebp - 0x28], 0x5c
jne 0x100a73de
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x64]
cmp edx, dword [ecx + 0x68]
jae 0x100a7367
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
movzx ecx, byte [eax + ecx]
cmp ecx, 0x75
jne 0x100a7367
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
push 0
push 0
push 0
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4520
add esp, 0x14
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x80
jl 0x100a7355
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a2ea0
add esp, 0xc
jmp 0x100a7365
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
jmp 0x100a73dc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x64]
cmp eax, dword [edx + 0x68]
jae 0x100a73b7
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movsx eax, byte [edx]
mov dword [ebp - 0x28], eax
movzx ecx, byte [ebp - 0x28]
cmp ecx, 0x80
jb 0x100a73b7
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4ec0
add esp, 8
cmp eax, 0xffffffff
jne 0x100a73b5
xor eax, eax
jmp 0x100a9d02
jmp 0x100a73dc
lea edx, [ebp - 0x68]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.100a4800
add esp, 0xc
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4460
add esp, 8
jmp 0x100a73ee
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov byte [edx + eax], 0
push 0
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
push 0
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
push eax
call fcn.100a4060
add esp, 0x14
push eax
push 0x3a
mov ecx, dword [ebp + 8]
push ecx
call fcn.10094280
add esp, 0x14
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 8]
mov dword [ecx], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 2
mov eax, 0x13f
jmp 0x100a9d02
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x26
jne 0x100a74c3
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a74a7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ecx], 0x143
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov eax, 0x143
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3d
jne 0x100a74e9
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [eax], 0x26
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x30
je 0x100a7548
cmp dword [ebp - 0x30], 0
je 0x100a7548
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a7548
push str.__interpreted_as_argument_prefix
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov dword [ebp - 0x28], 0x151
jmp 0x100a75c9
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x641
je 0x100a755e
mov dword [ebp - 0x28], 0x151
jmp 0x100a75c9
mov ecx, dword [ebp - 0x3c]
and ecx, 0x38c
jne 0x100a75c2
cmp dword [ebp - 0x30], 0
je 0x100a75c2
movzx edx, byte [ebp - 0x28]
push edx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a75c2
push 0x10241598
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
push eax
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push str.even_though_it_seems_like_argument_prefix
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov dword [ebp - 0x28], 0x26
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x180
je 0x100a75e3
mov dword [ebp - 0xa4], 0x10
jmp 0x100a75ed
mov dword [ebp - 0xa4], 1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xa4]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x7c
jne 0x100a766f
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a7655
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], 0x144
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x144
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3d
jne 0x100a7695
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ecx], 0x7c
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x180
je 0x100a76af
mov dword [ebp - 0xa8], 0x10
jmp 0x100a76b9
mov dword [ebp - 0xa8], 1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xa8]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x7c
jmp 0x100a9d02
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x180
je 0x100a7730
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0x10
cmp dword [ebp - 0x28], 0x40
jne 0x100a7716
mov eax, 0x82
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x2b
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3d
jne 0x100a7756
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ecx], 0x2b
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x641
jne 0x100a779b
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a77e2
cmp dword [ebp - 0x30], 0
je 0x100a77e2
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a77e2
mov edx, dword [ebp + 8]
push edx
call fcn.100a5910
add esp, 4
mov eax, 1
test eax, eax
je 0x100a77e2
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a77d8
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
je 0x100a77d8
mov dword [ebp - 0x28], 0x2b
jmp case.0x100a6745.49
mov eax, 0x82
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp - 0x3c]
and edx, 0x38c
jne 0x100a7860
cmp dword [ebp - 0x30], 0
je 0x100a7860
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a7860
push str.__after_local_variable_or_literal_is_interpreted_as_binary_operator
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push 0x10241628
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov eax, 0x2b
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x180
je 0x100a78ba
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0x10
cmp dword [ebp - 0x28], 0x40
jne 0x100a78a0
mov eax, 0x83
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x2d
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3d
jne 0x100a78e0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], 0x2d
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x3e
jne 0x100a78fa
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 8
mov eax, 0x152
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x641
jne 0x100a793e
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x30
je 0x100a7983
cmp dword [ebp - 0x30], 0
je 0x100a7983
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a7983
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a5910
add esp, 4
mov edx, 1
test edx, edx
je 0x100a7983
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a7979
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
je 0x100a7979
mov eax, 0x161
jmp 0x100a9d02
mov eax, 0x83
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov ecx, dword [ebp - 0x3c]
and ecx, 0x38c
jne 0x100a7a01
cmp dword [ebp - 0x30], 0
je 0x100a7a01
movzx edx, byte [ebp - 0x28]
push edx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a7a01
push 0x10241680
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
push eax
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push str.even_though_it_seems_like_unary_operator
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov eax, 0x2d
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x2e
jne 0x100a7a63
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x2e
jne 0x100a7a49
mov eax, 0x81
jmp 0x100a9d02
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov eax, 0x80
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a7a9b
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
je 0x100a7a9b
push str.no_._digit__floating_literal_anymore__put_0_before_dot
mov edx, dword [ebp + 8]
push edx
call fcn.10093ff0
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0x100
mov eax, 0x2e
jmp 0x100a9d02
mov dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 2
mov edx, dword [ebp + 8]
push edx
call fcn.100a4370
add esp, 4
cmp dword [ebp - 0x28], 0x2d
je 0x100a7aea
cmp dword [ebp - 0x28], 0x2b
jne 0x100a7b09
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x30
jne 0x100a8035
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x78
je 0x100a7b3b
cmp dword [ebp - 0x28], 0x58
jne 0x100a7c44
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a7bb6
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isxdigit
add esp, 4
test eax, eax
je 0x100a7bb6
cmp dword [ebp - 0x28], 0x5f
jne 0x100a7b77
cmp dword [ebp - 0x2c], 0
je 0x100a7b6f
jmp 0x100a7bb6
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
jmp 0x100a7ba1
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isxdigit
add esp, 4
test eax, eax
jne 0x100a7b8a
jmp 0x100a7bb6
mov dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4460
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x100a7b61
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov byte [eax + ecx], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
cmp edx, dword [ebp - 0x6c]
jne 0x100a7bff
push 0x10241700
mov eax, dword [ebp + 8]
push eax
call fcn.10093ff0
add esp, 8
xor eax, eax
jmp 0x100a9d02
cmp dword [ebp - 0x2c], 0
je 0x100a7c0a
jmp 0x100a822a
push 3
mov edx, dword [ebp + 8]
push edx
call fcn.100a56b0
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
push 0
push 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
call sym.ruby.dll_rb_cstr_to_inum
add esp, 0xc
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100a57d0
add esp, 0xc
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x62
je 0x100a7c54
cmp dword [ebp - 0x28], 0x42
jne 0x100a7d4d
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x30
je 0x100a7c6f
cmp dword [ebp - 0x28], 0x31
jne 0x100a7cbf
cmp dword [ebp - 0x28], 0x5f
jne 0x100a7c85
cmp dword [ebp - 0x2c], 0
je 0x100a7c7d
jmp 0x100a7cbf
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
jmp 0x100a7caa
cmp dword [ebp - 0x28], 0x30
je 0x100a7c93
cmp dword [ebp - 0x28], 0x31
je 0x100a7c93
jmp 0x100a7cbf
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x100a7c6f
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov byte [edx + eax], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
cmp ecx, dword [ebp - 0x6c]
jne 0x100a7d08
push 0x10241720
mov edx, dword [ebp + 8]
push edx
call fcn.10093ff0
add esp, 8
xor eax, eax
jmp 0x100a9d02
cmp dword [ebp - 0x2c], 0
je 0x100a7d13
jmp 0x100a822a
push 3
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a56b0
add esp, 8
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
push edx
push 0
push 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
push ecx
call sym.ruby.dll_rb_cstr_to_inum
add esp, 0xc
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.100a57d0
add esp, 0xc
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x64
je 0x100a7d5d
cmp dword [ebp - 0x28], 0x44
jne 0x100a7e66
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a7dd8
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
je 0x100a7dd8
cmp dword [ebp - 0x28], 0x5f
jne 0x100a7d99
cmp dword [ebp - 0x2c], 0
je 0x100a7d91
jmp 0x100a7dd8
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
jmp 0x100a7dc3
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
jne 0x100a7dac
jmp 0x100a7dd8
mov dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4460
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x100a7d83
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov byte [eax + ecx], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
cmp edx, dword [ebp - 0x6c]
jne 0x100a7e21
push 0x10241740
mov eax, dword [ebp + 8]
push eax
call fcn.10093ff0
add esp, 8
xor eax, eax
jmp 0x100a9d02
cmp dword [ebp - 0x2c], 0
je 0x100a7e2c
jmp 0x100a822a
push 3
mov edx, dword [ebp + 8]
push edx
call fcn.100a56b0
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
push 0
push 0xa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
call sym.ruby.dll_rb_cstr_to_inum
add esp, 0xc
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100a57d0
add esp, 0xc
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x5f
jne 0x100a7e6e
jmp 0x100a7ed6
cmp dword [ebp - 0x28], 0x6f
je 0x100a7e7a
cmp dword [ebp - 0x28], 0x4f
jne 0x100a7ec2
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a7ea6
cmp dword [ebp - 0x28], 0x5f
je 0x100a7ea6
movzx edx, byte [ebp - 0x28]
push edx
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
jne 0x100a7ec2
push str.numeric_literal_without_digits
mov eax, dword [ebp + 8]
push eax
call fcn.10093ff0
add esp, 8
xor eax, eax
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0x30
jl 0x100a7fbc
cmp dword [ebp - 0x28], 0x37
jg 0x100a7fbc
cmp dword [ebp - 0x28], 0x5f
jne 0x100a7eec
cmp dword [ebp - 0x2c], 0
je 0x100a7ee4
jmp 0x100a7f31
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
jmp 0x100a7f1c
cmp dword [ebp - 0x28], 0x30
jl 0x100a7ef8
cmp dword [ebp - 0x28], 0x39
jle 0x100a7efa
jmp 0x100a7f31
cmp dword [ebp - 0x28], 0x37
jle 0x100a7f05
jmp 0x100a7fc8
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x100a7ed6
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
cmp ecx, dword [ebp - 0x6c]
jle 0x100a7fa1
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov byte [ecx + edx], 0
cmp dword [ebp - 0x2c], 0
je 0x100a7f67
jmp 0x100a822a
push 3
mov edx, dword [ebp + 8]
push edx
call fcn.100a56b0
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
push 0
push 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
call sym.ruby.dll_rb_cstr_to_inum
add esp, 0xc
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100a57d0
add esp, 0xc
jmp 0x100a9d02
cmp dword [ebp - 0x2c], 0
je 0x100a7fbc
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
jmp 0x100a822a
cmp dword [ebp - 0x28], 0x37
jle 0x100a7fdb
cmp dword [ebp - 0x28], 0x39
jg 0x100a7fdb
push str.Invalid_octal_digit
mov eax, dword [ebp + 8]
push eax
call fcn.10093ff0
add esp, 8
jmp 0x100a8035
cmp dword [ebp - 0x28], 0x2e
je 0x100a7fed
cmp dword [ebp - 0x28], 0x65
je 0x100a7fed
cmp dword [ebp - 0x28], 0x45
jne 0x100a7ffd
push 0x30
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
jmp 0x100a8035
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
push 3
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a56b0
add esp, 8
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
push edx
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.100a57d0
add esp, 0xc
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x70]
sub edx, 0x2e
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0x37
ja case.0x100a8058.1
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax + 0x100a9eac]
jmp dword [ecx*4 + 0x100a9e98]
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
jmp 0x100a8200
cmp dword [ebp - 0x2c], 0
je 0x100a8086
jmp 0x100a822a
cmp dword [ebp - 0x5c], 0
jne 0x100a8092
cmp dword [ebp - 0x50], 0
je 0x100a8099
jmp 0x100a8214
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
je 0x100a80bf
movzx edx, byte [ebp - 0x74]
push edx
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
jne 0x100a80d4
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
jmp 0x100a8214
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0x5c], ecx
push 0x2e
mov edx, dword [ebp + 8]
push edx
call fcn.100a4460
add esp, 8
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x2c], 0
jmp 0x100a8200
cmp dword [ebp - 0x2c], 0
je 0x100a8137
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], edx
jmp 0x100a8214
cmp dword [ebp - 0x50], 0
je 0x100a8142
jmp 0x100a8214
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x2d
je 0x100a8190
cmp dword [ebp - 0x28], 0x2b
je 0x100a8190
movzx edx, byte [ebp - 0x28]
push edx
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
jne 0x100a8190
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov dword [ebp - 0x2c], 0
jmp 0x100a8214
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
mov ecx, dword [ebp - 0x50]
add ecx, 1
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
cmp dword [ebp - 0x28], 0x2d
je 0x100a81da
cmp dword [ebp - 0x28], 0x2b
je 0x100a81da
mov dword [ebp - 0xac], 0
jmp 0x100a81e3
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x2c], eax
jmp 0x100a8200
cmp dword [ebp - 0x2c], 0
je 0x100a81f6
jmp 0x100a8214
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
jmp 0x100a8200
jmp 0x100a8214
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
jmp 0x100a8035
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
cmp dword [ebp - 0x2c], 0
je 0x100a8251
mov edx, dword [ebp - 0x2c]
push edx
push str.trailing___c_in_number
push 0x1e
lea eax, [ebp - 0x24]
push eax
call sym.ruby.dll_rb_w32_snprintf
add esp, 0x10
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10093ff0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov byte [eax + ecx], 0
cmp dword [ebp - 0x58], 0
je 0x100a83c7
mov dword [ebp - 0xd0], 0x13b
cmp dword [ebp - 0x50], 0
je 0x100a8287
mov dword [ebp - 0xb0], 2
jmp 0x100a8291
mov dword [ebp - 0xb0], 3
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a56b0
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
and eax, 1
je 0x100a833a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
sub ecx, dword [ebp - 0x5c]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xd0], 0x13c
mov edx, dword [ebp - 0xb8]
add edx, 1
push edx
mov eax, dword [ebp - 0xb4]
add eax, 1
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push 0
push 0xa
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
push eax
call sym.ruby.dll_rb_cstr_to_inum
add esp, 0xc
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0xb8]
push ecx
push 0xa
call sym.ruby.dll_rb_int_positive_pow
add esp, 8
push eax
mov edx, dword [ebp - 0x78]
push edx
call sym.ruby.dll_rb_rational_new
add esp, 8
mov dword [ebp - 0x78], eax
jmp 0x100a83a7
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
push ecx
call sym.ruby.dll_ruby_strtod
add esp, 8
fstp qword [ebp - 0xec]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [eax], 0x22
jne 0x100a8390
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
push eax
push str.Float__s_out_of_range
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0x10
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0
sub esp, 8
fld qword [ebp - 0xec]
fstp qword [esp]
call fcn.10092c20
add esp, 8
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a5780
add esp, 0x10
jmp 0x100a9d02
push 3
mov eax, dword [ebp + 8]
push eax
call fcn.100a56b0
add esp, 8
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
push ecx
push 0
push 0xa
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
push eax
call sym.ruby.dll_rb_cstr_to_inum
add esp, 0xc
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a57d0
add esp, 0xc
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
sub eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
shr eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
and edx, 1
or eax, edx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shr eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
and edx, 1
or eax, edx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
cmp dword [ebp - 0x28], 0x29
jne 0x100a8454
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 8
jmp 0x100a845e
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 4
cmp dword [ebp - 0x28], 0x7d
jne 0x100a848f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x34], ecx
cmp dword [ebp - 0xe4], 0
jne 0x100a848f
mov dword [ebp - 0x28], 0x15c
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3a
jne 0x100a8512
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x641
jne 0x100a84ea
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x200
jne 0x100a84ea
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a84fe
cmp dword [ebp - 0x30], 0
je 0x100a84fe
push 0xff
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a84fe
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov eax, 0x146
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x100
mov eax, 0x145
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0xe
jne 0x100a8532
movzx edx, byte [ebp - 0x28]
push edx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
je 0x100a85ba
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp - 0x3c]
and edx, 0x38c
jne 0x100a85a6
cmp dword [ebp - 0x30], 0
je 0x100a85a6
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a85a6
push str._:_after_local_variable_or_literal_is_interpreted_as_binary_operator
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push str.even_though_it_seems_like_symbol_literal
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov eax, 0x3a
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0xbc], edx
cmp dword [ebp - 0xbc], 0x22
je 0x100a85f5
cmp dword [ebp - 0xbc], 0x27
je 0x100a85d7
jmp 0x100a8613
push 0
mov eax, dword [ebp - 0x28]
push eax
push 0x10
push 0x29
mov ecx, dword [ebp + 8]
push ecx
call fcn.10094280
add esp, 0x14
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
jmp 0x100a8623
push 0
mov eax, dword [ebp - 0x28]
push eax
push 0x12
push 0x29
mov ecx, dword [ebp + 8]
push ecx
call fcn.10094280
add esp, 0x14
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
jmp 0x100a8623
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x80
mov eax, 0x153
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x641
je 0x100a8669
push 0
push 0x2f
push 7
push 0x29
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x156
jmp 0x100a9d02
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a869e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ecx], 0x2f
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a8700
cmp dword [ebp - 0x30], 0
je 0x100a8700
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a8700
mov edx, dword [ebp + 8]
push edx
call fcn.100a5910
add esp, 4
push 0
push 0x2f
push 7
push 0x29
mov eax, dword [ebp + 8]
push eax
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x156
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x180
je 0x100a8719
mov dword [ebp - 0xc0], 0x10
jmp 0x100a8723
mov dword [ebp - 0xc0], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x3c]
and eax, 0x38c
jne 0x100a8792
cmp dword [ebp - 0x30], 0
je 0x100a8792
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a8792
push str.___after_local_variable_or_literal_is_interpreted_as_binary_operator
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push str.even_though_it_seems_like_regexp_literal
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x90]
push eax
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov eax, 0x2f
jmp 0x100a9d02
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a87d1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ecx], 0x5e
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x180
je 0x100a87eb
mov dword [ebp - 0xc4], 0x10
jmp 0x100a87f5
mov dword [ebp - 0xc4], 1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x5e
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x70], 1
mov eax, 0x3b
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 0x2c
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x180
je 0x100a888c
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x40
je 0x100a8880
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x10
jmp 0x100a8896
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov eax, 0x7e
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x641
je 0x100a88b7
mov dword [ebp - 0x28], 0x149
jmp 0x100a88e0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x30
je 0x100a88e0
cmp dword [ebp - 0x30], 0
je 0x100a88e0
push 0xff
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a88e0
mov dword [ebp - 0x28], 0x14a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x180
je 0x100a89ae
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x5d
jne 0x100a8992
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a8978
mov eax, 0x91
jmp 0x100a9d02
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x90
jmp 0x100a9d02
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x5b
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x641
je 0x100a89c5
mov dword [ebp - 0x28], 0x14c
jmp 0x100a89dd
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a89dd
cmp dword [ebp - 0x30], 0
je 0x100a89dd
mov dword [ebp - 0x28], 0x14c
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x28], 0
je 0x100a8a7a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x28]
cmp edx, dword [ecx + 0x24]
jne 0x100a8a7a
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
sub eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov eax, 0x15f
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
jne 0x100a8a90
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0xa
je 0x100a8a99
mov dword [ebp - 0x28], 0x7b
jmp 0x100a8ab4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 4
je 0x100a8aad
mov dword [ebp - 0x28], 0x14e
jmp 0x100a8ab4
mov dword [ebp - 0x28], 0x14d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
cmp dword [ebp - 0x28], 0x14d
je 0x100a8aed
mov eax, dword [ebp + 8]
mov dword [eax + 0x70], 1
mov eax, dword [ebp - 0x28]
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xa
jne 0x100a8b16
mov dword [ebp - 0x30], 1
jmp 0x100a66fb
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x5c
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x641
je 0x100a8f08
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a8b68
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isalnum
add esp, 4
test eax, eax
jne 0x100a8b77
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x28], 0x51
jmp 0x100a8bd4
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
push edx
push 0xd
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
mov eax, dword [edx + 0x30]
call eax
add esp, 0xc
test eax, eax
jne 0x100a8bbc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx - 1]
cmp eax, 0x80
jb 0x100a8bd4
push 0x102418ac
mov ecx, dword [ebp + 8]
push ecx
call fcn.10093ff0
add esp, 8
xor eax, eax
jmp 0x100a9d02
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a8be0
cmp dword [ebp - 0x34], 0xffffffff
jne 0x100a8c27
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb8], eax
push str.unterminated_quoted_string_meets_end_of_file
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_error_with_enc
add esp, 0x10
xor eax, eax
jmp 0x100a9d02
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x34], 0x28
jne 0x100a8c3c
mov dword [ebp - 0x34], 0x29
jmp 0x100a8c70
cmp dword [ebp - 0x34], 0x5b
jne 0x100a8c4b
mov dword [ebp - 0x34], 0x5d
jmp 0x100a8c70
cmp dword [ebp - 0x34], 0x7b
jne 0x100a8c5a
mov dword [ebp - 0x34], 0x7d
jmp 0x100a8c70
cmp dword [ebp - 0x34], 0x3c
jne 0x100a8c69
mov dword [ebp - 0x34], 0x3e
jmp 0x100a8c70
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
sub ecx, 0x49
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x7c], 0x2f
ja case.0x100a8c93.1
mov edx, dword [ebp - 0x7c]
movzx eax, byte [edx + 0x100a9f0c]
jmp dword [eax*4 + 0x100a9ee4]
push 0
mov ecx, dword [ebp - 0x40]
shl ecx, 0x10
or ecx, dword [ebp - 0x34]
push ecx
push 2
push 0x29
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x154
jmp 0x100a9d02
push 0
mov edx, dword [ebp - 0x40]
shl edx, 0x10
or edx, dword [ebp - 0x34]
push edx
push 0
push 0x29
mov eax, dword [ebp + 8]
push eax
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x154
jmp 0x100a9d02
push 0
mov edx, dword [ebp - 0x40]
shl edx, 0x10
or edx, dword [ebp - 0x34]
push edx
push 0xa
push 0x29
mov eax, dword [ebp + 8]
push eax
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a8d14
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x157
jmp 0x100a9d02
push 0
mov eax, dword [ebp - 0x40]
shl eax, 0x10
or eax, dword [ebp - 0x34]
push eax
push 8
push 0x29
mov ecx, dword [ebp + 8]
push ecx
call fcn.10094280
add esp, 0x14
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a8d70
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x158
jmp 0x100a9d02
push 0
mov ecx, dword [ebp - 0x40]
shl ecx, 0x10
or ecx, dword [ebp - 0x34]
push ecx
push 0xa
push 0x29
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a8dcc
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, 0x159
jmp 0x100a9d02
push 0
mov eax, dword [ebp - 0x40]
shl eax, 0x10
or eax, dword [ebp - 0x34]
push eax
push 8
push 0x29
mov ecx, dword [ebp + 8]
push ecx
call fcn.10094280
add esp, 0x14
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a8e28
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x15a
jmp 0x100a9d02
push 0
mov ecx, dword [ebp - 0x40]
shl ecx, 0x10
or ecx, dword [ebp - 0x34]
push ecx
push 2
push 0x29
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x155
jmp 0x100a9d02
push 0
mov edx, dword [ebp - 0x40]
shl edx, 0x10
or edx, dword [ebp - 0x34]
push edx
push 7
push 0x29
mov eax, dword [ebp + 8]
push eax
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, 0x156
jmp 0x100a9d02
push 0
mov edx, dword [ebp - 0x40]
shl edx, 0x10
or edx, dword [ebp - 0x34]
push edx
push 0x10
push 0x29
mov eax, dword [ebp + 8]
push eax
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x80
mov eax, 0x153
jmp 0x100a9d02
push str.unknown_type_of__string
mov eax, dword [ebp + 8]
push eax
call fcn.10093ff0
add esp, 8
xor eax, eax
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a8f3d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [eax], 0x25
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov eax, 0x147
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a8f64
cmp dword [ebp - 0x30], 0
je 0x100a8f64
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a8f64
jmp 0x100a8b51
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x180
je 0x100a8f7d
mov dword [ebp - 0xc8], 0x10
jmp 0x100a8f87
mov dword [ebp - 0xc8], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp - 0x3c]
and edx, 0x38c
jne 0x100a9007
cmp dword [ebp - 0x30], 0
je 0x100a9007
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isspace
add esp, 4
test eax, eax
jne 0x100a9007
push str.____after_local_variable_or_literal_is_interpreted_as_binary_operator
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
push str.even_though_it_seems_like_string_literal
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_warning
add esp, 0xc
mov eax, 0x25
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 2
mov edx, dword [ebp + 8]
push edx
call fcn.100a4370
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
sub edx, 0x21
mov dword [ebp - 0x80], edx
cmp dword [ebp - 0x80], 0x5d
ja case.0x100a9059.2
mov eax, dword [ebp - 0x80]
movzx ecx, byte [eax + 0x100a9f58]
jmp dword [ecx*4 + 0x100a9f3c]
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0
jne 0x100a90e6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
push edx
push 0xd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx - 1]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
mov edx, dword [ecx + 0x30]
call edx
add esp, 0xc
test eax, eax
jne 0x100a90c5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movsx edx, byte [ecx - 1]
cmp edx, 0x5f
je 0x100a90c5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx - 1]
cmp edx, 0x80
jb 0x100a90e6
push 0x24
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
push 0x5f
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
jmp 0x100a93d8
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov dword [ebp - 0x28], 0x5f
push 0x24
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
jmp 0x100a91e9
push 0x24
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0xc], 0
jne 0x100a91c1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
push 0xd
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
movzx ecx, byte [eax - 1]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
mov ecx, dword [eax + 0x30]
call ecx
add esp, 0xc
test eax, eax
jne 0x100a91a3
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
movsx ecx, byte [eax - 1]
cmp ecx, 0x5f
je 0x100a91a3
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
movzx ecx, byte [eax - 1]
cmp ecx, 0x80
jb 0x100a91c1
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4ec0
add esp, 8
cmp eax, 0xffffffff
jne 0x100a91bf
xor eax, eax
jmp 0x100a9d02
jmp 0x100a91e9
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
push 0x2d
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov eax, 0x24
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
push eax
call sym.ruby.dll_rb_intern3
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], eax
mov eax, 0x135
jmp 0x100a9d02
mov eax, dword [ebp - 0x3c]
and eax, 0x80
je 0x100a9245
push 0x24
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
jmp 0x100a91e9
push 0
mov ecx, dword [ebp - 0x28]
push ecx
push 0
push 0x35
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], eax
mov eax, 0x141
jmp 0x100a9d02
push 0x24
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4460
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a92b1
movzx ecx, byte [ebp - 0x28]
push ecx
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
jne 0x100a927b
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
mov ecx, dword [ebp - 0x3c]
and ecx, 0x80
je 0x100a92d1
jmp 0x100a91e9
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov byte [edx + eax], 0
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
add ecx, 1
push ecx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
push eax
push 0
push 0x34
mov edx, dword [ebp + 8]
push edx
call fcn.10094280
add esp, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], eax
mov eax, 0x140
jmp 0x100a9d02
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0
jne 0x100a936f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
push edx
push 0xd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx - 1]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
mov edx, dword [ecx + 0x30]
call edx
add esp, 0xc
test eax, eax
jne case.0x100a9059.15
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movsx edx, byte [ecx - 1]
cmp edx, 0x5f
je case.0x100a9059.15
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx - 1]
cmp edx, 0x80
jae case.0x100a9059.15
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb8], eax
mov edx, dword [ebp - 0x28]
push edx
push str.___c_is_not_allowed_as_a_global_variable_name
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_error_with_enc
add esp, 0x14
xor eax, eax
jmp 0x100a9d02
push 0x24
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
jmp 0x100a9643
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov edx, dword [ebp + 8]
push edx
call fcn.100a4370
add esp, 4
push 0x40
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
cmp dword [ebp - 0x28], 0x40
jne 0x100a9429
push 0x40
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4460
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x100a954f
movzx eax, byte [ebp - 0x28]
push eax
call sym.ruby.dll_rb_isdigit
add esp, 4
test eax, eax
jne 0x100a94a5
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xc], 0
jne 0x100a94a5
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
push eax
push 0xd
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx - 1]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
mov eax, dword [edx + 0x30]
call eax
add esp, 0xc
test eax, eax
jne 0x100a954f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movsx eax, byte [edx - 1]
cmp eax, 0x5f
je 0x100a954f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx - 1]
cmp eax, 0x80
jae 0x100a954f
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4300
add esp, 8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x48], 1
jne 0x100a9504
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
mov ecx, dword [ebp - 0x28]
push ecx
push str.___c_is_not_allowed_as_an_instance_variable_name
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_error_with_enc
add esp, 0x14
jmp 0x100a9548
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb8], eax
mov edx, dword [ebp - 0x28]
push edx
push str.____c_is_not_allowed_as_a_class_variable_name
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x94]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x90]
push edx
call sym.ruby.dll_rb_compile_error_with_enc
add esp, 0x14
xor eax, eax
jmp 0x100a9d02
jmp 0x100a9643
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
add ecx, 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x64], ecx
jne 0x100a959d
push 0
push 7
push str.__END__
mov eax, dword [ebp + 8]
push eax
call fcn.100a55e0
add esp, 0x10
test eax, eax
je 0x100a959d
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x84], 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xc], 2
or eax, 0xffffffff
jmp 0x100a9d02
mov eax, dword [ebp + 8]
push eax
call fcn.100a4370
add esp, 4
jmp 0x100a9643
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xc], 0
jne 0x100a9603
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
push eax
push 0xd
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx - 1]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
mov eax, dword [edx + 0x30]
call eax
add esp, 0xc
test eax, eax
jne 0x100a9637
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movsx eax, byte [edx - 1]
cmp eax, 0x5f
je 0x100a9637
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx - 1]
cmp eax, 0x80
jae 0x100a9637
mov ecx, dword [ebp - 0x28]
push ecx
push str.Invalid_char__x_02X_in_expression
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
push ecx
call sym.ruby.dll_rb_compile_error_with_enc
add esp, 0x14
jmp 0x100a66fb
mov edx, dword [ebp + 8]
push edx
call fcn.100a4370
add esp, 4
mov dword [ebp - 0xdc], 0x100000
movzx eax, byte [ebp - 0x28]
cmp eax, 0x80
jb 0x100a9662
mov dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4ec0
add esp, 8
cmp eax, 0xffffffff
jne 0x100a967e
xor eax, eax
jmp 0x100a9d02
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xc], 0
jne 0x100a96ea
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x9c]
push eax
push 0xd
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx - 1]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x9c]
mov eax, dword [edx + 0x30]
call eax
add esp, 0xc
test eax, eax
jne 0x100a964d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movsx eax, byte [edx - 1]
cmp eax, 0x5f
je 0x100a964d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx - 1]
cmp eax, 0x80
jae 0x100a964d
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov dl, byte [edx + ecx]
mov byte [ebp - 0xcc], dl
cmp byte [ebp - 0xcc], 0x24
je 0x100a9715
cmp byte [ebp - 0xcc], 0x40
je 0x100a9715
jmp 0x100a9727
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
jmp 0x100a977a
cmp dword [ebp - 0x28], 0x21
je 0x100a9733
cmp dword [ebp - 0x28], 0x3f
jne 0x100a976a
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x64]
cmp ecx, dword [eax + 0x68]
jae 0x100a9758
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx + eax]
cmp eax, 0x3d
je 0x100a976a
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100a4460
add esp, 8
jmp 0x100a977a
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100a4300
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov byte [edx + eax], 0
mov dword [ebp - 0x48], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x3c], ecx
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov al, byte [eax + edx]
mov byte [ebp - 0xe0], al
cmp byte [ebp - 0xe0], 0x24
je 0x100a97c5
cmp byte [ebp - 0xe0], 0x40
je 0x100a97db
jmp 0x100a9811
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 2
mov dword [ebp - 0x48], 0x135
jmp 0x100a9c89
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 2
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
movsx eax, byte [edx + eax]
cmp eax, 0x40
jne 0x100a9805
mov dword [ebp - 0x48], 0x138
jmp 0x100a980c
mov dword [ebp - 0x48], 0x136
jmp 0x100a9c89
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x48], 0
jle 0x100a9833
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
movsx eax, byte [edx + eax - 1]
mov dword [ebp - 0xd4], eax
jmp 0x100a983d
mov dword [ebp - 0xd4], 0
cmp dword [ebp - 0xd4], 0x21
je 0x100a987b
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x48], 0
jle 0x100a9868
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
movsx eax, byte [edx + eax - 1]
mov dword [ebp - 0xd8], eax
jmp 0x100a9872
mov dword [ebp - 0xd8], 0
cmp dword [ebp - 0xd8], 0x3f
jne 0x100a9887
mov dword [ebp - 0x48], 0x134
jmp 0x100a99bb
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
and edx, 0x80
je 0x100a9986
mov eax, dword [ebp + 8]
push eax
call fcn.100a40e0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3d
jne 0x100a9976
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x64]
cmp eax, dword [edx + 0x68]
jae 0x100a98db
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx + edx]
cmp edx, 0x7e
je 0x100a9976
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x64]
cmp edx, dword [ecx + 0x68]
jae 0x100a9900
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
movzx ecx, byte [eax + ecx]
cmp ecx, 0x3e
je 0x100a9976
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x64]
cmp ecx, dword [eax + 0x68]
jae 0x100a994d
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx + eax]
cmp eax, 0x3d
jne 0x100a994d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
add edx, 1
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x68]
jae 0x100a9976
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
movzx ecx, byte [eax + ecx]
cmp ecx, 0x3e
jne 0x100a9976
mov dword [ebp - 0x48], 0x133
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4460
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov byte [ecx + edx], 0
jmp 0x100a9986
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100a4300
add esp, 8
cmp dword [ebp - 0x48], 0
jne 0x100a99b4
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
movzx edx, byte [ecx + edx]
push edx
call sym.ruby.dll_rb_isupper
add esp, 4
test eax, eax
je 0x100a99b4
mov dword [ebp - 0x48], 0x137
jmp 0x100a99bb
mov dword [ebp - 0x48], 0x133
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 9
je 0x100a99cf
cmp dword [ebp - 0x90], 0
je 0x100a99de
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x30
je 0x100a9a77
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x64]
cmp eax, dword [edx + 0x68]
jae 0x100a9a77
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
movzx edx, byte [ecx + edx]
cmp edx, 0x3a
jne 0x100a9a77
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
add ecx, 1
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x68]
jae 0x100a9a2f
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x64]
movzx eax, byte [edx + eax]
cmp eax, 0x3a
je 0x100a9a77
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 1
mov edx, dword [ebp + 8]
push edx
call fcn.100a40e0
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
call sym.ruby.dll_rb_intern3
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], eax
mov eax, 0x139
jmp 0x100a9d02
cmp dword [ebp - 0xdc], 0x100000
jne 0x100a9c39
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 0x100
jne 0x100a9c39
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
call fcn.100a5820
add esp, 8
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x100a9c39
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0x84]
and edx, 0x80
je 0x100a9b1b
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
push eax
mov edx, dword [ebp - 0x44]
mov eax, dword [edx]
push eax
call sym.ruby.dll_rb_intern2
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [edx], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + ecx + 4]
jmp 0x100a9d02
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
and ecx, 1
je 0x100a9b30
mov edx, dword [ebp + 8]
mov dword [edx + 0x70], 1
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x44]
cmp dword [edx + ecx + 4], 0x119
jne 0x100a9bd7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x28], 0
je 0x100a9b83
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x28]
cmp eax, dword [edx + 0x24]
jne 0x100a9b83
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
sub eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x24], eax
mov eax, 0x11c
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
and eax, 1
je 0x100a9b98
mov eax, 0x11a
jmp 0x100a9d02
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
and edx, 1
je 0x100a9bb8
mov eax, dword [ebp - 0x84]
and eax, 0x20
jne 0x100a9bb8
mov eax, 0x11b
jmp 0x100a9d02
mov ecx, dword [ebp - 0x84]
and ecx, 5
je 0x100a9bcd
mov eax, 0x11b
jmp 0x100a9d02
mov eax, 0x119
jmp 0x100a9d02
mov edx, dword [ebp - 0x84]
and edx, 0x401
je 0x100a9bfb
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + ecx + 4]
jmp 0x100a9d02
mov eax, 4
imul ecx, eax, 0
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x44]
mov ecx, dword [eax + ecx + 4]
cmp ecx, dword [esi + edx + 4]
je 0x100a9c25
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 1
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + eax + 4]
jmp 0x100a9d02
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
and eax, 0x771
je 0x100a9c67
cmp dword [ebp - 0x90], 0
je 0x100a9c5b
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0x20
jmp 0x100a9c65
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x10
jmp 0x100a9c89
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0x80
jne 0x100a9c7f
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 8
jmp 0x100a9c89
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x9c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
push edx
call sym.ruby.dll_rb_intern3
add esp, 0xc
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x88]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3c]
and eax, 0x180
jne 0x100a9cff
cmp dword [ebp - 0x88], 0xa4
jbe 0x100a9cff
mov ecx, dword [ebp - 0x88]
and ecx, 7
jne 0x100a9cff
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10097740
add esp, 8
test eax, eax
je 0x100a9cff
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 2
mov eax, dword [ebp - 0x48]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101949b1
mov esp, ebp
pop ebp
ret