Function at 0x100470c6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x434
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x110]
push ebx
xor eax, eax
push esi
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
push edi
push eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x40]
lea eax, [edx + eax + 0xa]
push ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x40], ebx
call fcn.100458c0
mov ecx, dword [esi + 0x40]
sub eax, 4
mov dword [esp + 0x130], eax
mov dword [esp + 0x9c], eax
lea eax, [eax + ecx*4 + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x110]
mov edx, dword [edx]
mov dword [esp + 0x68], edx
mov edx, dword [esi + 0x14]
and edx, 1
or edx, 2
lea edi, [eax + 0x24]
add esp, 8
mov dword [eax], edx
cmp dword [ecx + 0x284], 0
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x3c], edi
je 0x1004666e
mov edx, dword [ecx + 0x284]
mov edx, dword [edx + 4]
inc edx
jmp 0x10046673
mov edx, 1
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x60]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x284]
mov dword [eax + 0x14], edx
xor edx, edx
mov dword [eax + 0xc], edx
mov dword [eax + 8], edx
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], edx
mov dword [eax + 0x20], edx
mov eax, edi
mov dword [eax], edx
mov ecx, dword [ecx + 0x64]
mov edx, dword [ecx]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x2cc], edx
mov dword [esp + 0x70], eax
lea ecx, [ecx]
mov eax, dword [esp + 0x1bc]
mov esi, dword [ebp + 8]
mov ecx, eax
and cl, 0x3f
inc eax
mov dword [esp + 0x1bc], eax
test cl, cl
jne 0x10046780
mov edx, dword [esi + 0x320]
cmp dword [edx], 0
je 0x10046709
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x60]
push ecx
push esi
mov dword [eax + 0x10], edi
call sym.tcl85.dll_Tcl_AsyncInvoke
add esp, 8
mov dword [esp + 0x5c], 1
cmp eax, 1
jne 0x10046709
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
cmp dword [esi + 0x210], 0
je 0x10046780
inc dword [esi + 0x214]
test byte [esi + 0x210], 1
mov eax, dword [esi + 0x214]
je 0x10046739
mov ecx, dword [esi + 0x224]
cmp ecx, 1
je 0x1004675a
cdq
idiv ecx
test edx, edx
je 0x1004675a
test byte [esi + 0x210], 2
je 0x10046780
mov ecx, dword [esi + 0x234]
cmp ecx, 1
je 0x1004675a
mov eax, dword [esi + 0x214]
cdq
idiv ecx
test edx, edx
jne 0x10046780
mov edx, dword [esp + 0x60]
push esi
mov dword [edx + 0x10], edi
call sym.tcl85.dll_Tcl_LimitCheck
add esp, 4
mov dword [esp + 0x5c], 1
cmp eax, 1
jne 0x10046780
mov dword [esp + 0x44], eax
jmp 0x1004e1bb
mov cl, byte [ebx]
cmp cl, 0xa
je case.0x100467a2.10
cmp cl, 1
je case.0x100467a2.1
movzx eax, cl
cmp eax, 0x83
ja case.default.0x100467a2
jmp dword [eax*4 + 0x1004f25c]
movsx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
movzx edx, byte [ebx + 6]
mov esi, dword [ebp + 8]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 5]
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + 7]
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + 8]
shl ecx, 8
or ecx, edx
push ecx
push eax
mov eax, dword [edi]
call fcn.10085db0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004680a
add ebx, 9
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov eax, dword [edi - 4]
push eax
push esi
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 8
cmp byte [ebx], 0x7d
jne 0x10046823
and dword [esi + 0x100], 0xfffffffb
mov ebx, 2
mov eax, dword [esp + 0x44]
cmp eax, 4
je 0x1004683a
cmp eax, 3
jne 0x1004e1b4
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x38]
xor edi, edi
call fcn.1004f9a0
mov dword [esp + 0x6c], eax
test eax, eax
je 0x1004f161
cmp dword [eax], 1
je 0x1004f0ad
test ebx, ebx
je 0x1004d2ca
mov esi, dword [sym.imp.MSVCR90.dll_free]
jmp 0x10046870
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
dec dword [edi]
sub eax, 4
dec ebx
cmp dword [edi], 0
mov dword [esp + 0x3c], eax
jg 0x1004d2be
cmp dword [edi + 0xc], 0
je 0x1004d291
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], 0
je 0x1004d291
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004d2be
mov ecx, dword [edi]
mov edx, dword [edi - 4]
sub edi, 4
push edx
push esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edi
call sym.tcl85.dll_Tcl_SetReturnOptions
mov dword [esp + 0x4c], eax
mov eax, dword [edi]
dec dword [eax]
add esp, 8
cmp dword [eax], 0
jg 0x100468de
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
cmp dword [esp + 0x44], 0
mov eax, dword [esp + 0x40]
mov dword [edi], eax
je 0x1004d9c9
mov ecx, eax
push ecx
push esi
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 8
mov ebx, 1
jmp 0x10046828
cmp edi, dword [esp + 0x8c]
jbe 0x1004f15a
mov edx, dword [edi]
push edx
push esi
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 8
jmp 0x1004e1b4
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ebx + 1]
mov edx, dword [ecx + 0x4c]
mov eax, dword [edx + eax*4]
add edi, 4
mov dword [edi], eax
inc dword [eax]
add ebx, 2
cmp byte [ebx], 1
je 0x10046926
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edi
jmp 0x100466b0
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
mov edx, dword [ebp + 0xc]
shl eax, 8
or eax, ecx
mov ecx, dword [edx + 0x4c]
mov eax, dword [ecx + eax*4]
add edi, 4
mov dword [edi], eax
inc dword [eax]
add ebx, 5
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
jmp 0x100466b0
mov esi, dword [edi]
dec dword [esi]
sub edi, 4
cmp dword [esi], 0
mov dword [esp + 0x3c], edi
jg 0x100469e8
cmp dword [esi + 0xc], 0
je 0x100469b9
mov edx, dword [esi + 0xc]
cmp dword [edx + 4], 0
je 0x100469b9
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x100469e8
mov eax, dword [esi + 4]
test eax, eax
je 0x100469d2
cmp eax, dword [0x100d15c4]
je 0x100469d2
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d3554]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], ecx
mov dword [0x100d3554], esi
inc ebx
cmp byte [ebx], 0x69
mov dword [esp + 0x38], ebx
jne 0x100466b0
mov esi, dword [ebp + 8]
movzx edx, byte [ebx + 5]
movzx eax, byte [ebx + 6]
movzx ecx, byte [ebx + 7]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 8]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
add dword [esi + 0xc0], edx
cmp dword [esp + 0x5c], 0
je 0x10046a53
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
cmp ecx, dword [esi + 0xf0]
jne 0x10046a45
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x2cc]
cmp edx, dword [ecx + 0xe4]
je 0x10046a4b
test byte [eax + 0x14], 1
je 0x10046a5f
mov dword [esp + 0x5c], 0
add ebx, 9
mov dword [esp + 0x38], ebx
jmp 0x100466b0
lea edx, [esp + 0x2d4]
push edx
push eax
mov eax, ebx
call fcn.1004f7f0
mov edx, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x68]
push 0
push edx
push eax
push esi
mov dword [ecx + 0x10], edi
call sym.tcl85.dll_Tcl_EvalEx
add esp, 0x18
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], 1
test eax, eax
je 0x10046ab1
xor ebx, ebx
cmp eax, 1
jne 0x10046828
or dword [esi + 0x100], 4
jmp 0x1004e1bb
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
movzx edx, byte [ebx + 4]
shl esi, 8
or esi, eax
mov eax, dword [ebp + 8]
shl esi, 8
or esi, ecx
shl esi, 8
push eax
or esi, edx
call sym.tcl85.dll_Tcl_GetObjResult
mov edi, eax
mov eax, dword [0x100d3554]
add esp, 4
mov dword [esp + 0x40], edi
test eax, eax
jne 0x10046af5
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d3554]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d15c4]
mov dword [0x100d3554], ecx
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
inc dword [eax]
add ebx, esi
mov dword [edx + 0x1e4], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], ecx
jmp 0x1004dfb6
mov eax, dword [edi]
jmp 0x1004d9ba
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
add eax, eax
add eax, eax
mov edx, edi
sub edx, eax
mov eax, dword [edx]
jmp 0x100474f6
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
add eax, eax
add eax, eax
mov edx, eax
mov eax, edi
sub eax, edx
add eax, 4
mov ecx, edi
cmp eax, edi
jae 0x10046ba4
mov esi, dword [ecx]
mov edx, dword [eax]
mov dword [eax], esi
mov dword [ecx], edx
add eax, 4
sub ecx, 4
cmp eax, ecx
jb 0x10046b92
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x100466b0
movzx eax, byte [ebx + 1]
xor edx, edx
mov ecx, 2
sub ecx, eax
lea esi, [edi + ecx*4]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], esi
cmp esi, edi
ja 0x10046c14
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10046be7
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov eax, ecx
jmp 0x10046bfc
lea ecx, [esp + 0x90]
push ecx
push eax
call sym.tcl85.dll_Tcl_GetStringFromObj
mov edx, dword [esp + 0x58]
add esp, 8
test eax, eax
je 0x10046c0b
add edx, dword [esp + 0x90]
mov dword [esp + 0x50], edx
add esi, 4
test edx, edx
jge 0x10046bcc
jmp 0x10046c18
test edx, edx
jge 0x10046c30
push accept
push str.max_size_for_a_Tcl_value___d_bytes__exceeded
call sym.tcl85.dll_Tcl_Panic
mov edx, dword [esp + 0x58]
add esp, 8
test edx, edx
jne 0x10046c47
mov edx, dword [esp + 0x54]
add ebx, 2
dec edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], edx
jmp 0x1004de63
mov eax, dword [esp + 0x54]
lea ecx, [eax*4]
mov eax, dword [esp + 0x3c]
sub eax, ecx
mov edi, dword [eax + 4]
add eax, 4
cmp dword [edi + 4], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x40], edi
je 0x10046c82
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x68], ecx
jmp 0x10046c9b
lea edx, [esp + 0x90]
push edx
push edi
call sym.tcl85.dll_Tcl_GetStringFromObj
mov edx, dword [esp + 0x58]
add esp, 8
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x90]
lea esi, [eax + edx]
test esi, esi
jge 0x10046cbb
push accept
push str.max_size_for_a_Tcl_value___d_bytes__exceeded
call sym.tcl85.dll_Tcl_Panic
add esp, 8
mov ecx, dword [esp + 0x68]
cmp ecx, dword [0x100d15c4]
je 0x10046d38
cmp dword [edi], 1
jg 0x10046d38
cmp dword [edi + 0xc], 0
je 0x10046ce2
mov edx, dword [edi + 0xc]
mov eax, dword [edx + 4]
test eax, eax
je 0x10046ce2
push edi
call eax
add esp, 4
mov ecx, dword [esp + 0x68]
lea eax, [esi + 1]
push eax
push ecx
mov dword [edi + 0xc], 0
call sym.tcl85.dll_Tcl_Realloc
mov dword [edi + 4], eax
add esp, 8
mov dword [edi + 8], esi
cmp dword [edi + 4], 0
je 0x10046d1c
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x64]
add eax, edx
mov dword [esp + 0x48], eax
jmp 0x10046d88
push edi
call sym.tcl85.dll_Tcl_GetString
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x68]
add esp, 4
add eax, edx
mov dword [esp + 0x48], eax
jmp 0x10046d88
lea eax, [esi + 1]
push eax
call sym.tcl85.dll_Tcl_Alloc
mov edi, dword [0x100d3554]
add esp, 4
mov dword [esp + 0x48], eax
test edi, edi
jne 0x10046d5d
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x48]
mov dword [edi], 0
mov dword [edi + 0xc], 0
mov dword [edi + 4], edx
mov dword [edi + 8], esi
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x40], edi
mov dword [0x100d3554], ecx
cmp esi, dword [esp + 0x3c]
ja 0x10046de6
mov edi, edi
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10046da7
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov eax, ecx
jmp 0x10046db8
lea ecx, [esp + 0x90]
push ecx
push eax
call sym.tcl85.dll_Tcl_GetStringFromObj
add esp, 8
test eax, eax
je 0x10046ddd
mov edx, dword [esp + 0x90]
push edx
push eax
mov eax, dword [esp + 0x50]
push eax
call sub.MSVCR90.dll_memcpy
mov ecx, dword [esp + 0x9c]
add esp, 0xc
add dword [esp + 0x48], ecx
add esi, 4
cmp esi, dword [esp + 0x3c]
jbe 0x10046d90
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
add ebx, 2
mov byte [edx], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], eax
jmp 0x1004dfb4
cmp dword [0x100d3554], 0
jne 0x10046e0f
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d3554]
mov edx, dword [eax + 0x10]
mov esi, dword [0x100d15c4]
lea ecx, [eax + 0x10]
mov dword [0x100d3554], edx
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov edx, edi
sub edx, dword [esp + 0x8c]
sar edx, 2
mov dword [ecx], edx
mov ecx, dword [esp + 0x7c]
inc ebx
mov dword [eax + 0x14], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x38], ebx
jmp 0x100466b0
mov eax, dword [edi]
cmp dword [eax + 0xc], 0x100d1740
mov dword [esp + 0x50], eax
jne 0x10046f72
mov eax, dword [eax + 0x10]
lea edx, [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x224], edx
mov dword [esp + 0x1a4], eax
movsx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x44]
shl ecx, 8
or ecx, edx
sub eax, ecx
mov ecx, dword [esp + 0x60]
add eax, dword [esp + 0x1a4]
sub edi, 4
mov dword [ecx + 0x10], edi
mov edx, dword [esi + 0x110]
push 1
push edx
mov dword [esp + 0x44], edi
call fcn.100458c0
mov ecx, dword [esp + 0x130]
mov edx, 0xfffffffc
sub edx, ecx
add eax, edx
sar eax, 2
add esp, 8
test eax, eax
je 0x10046f22
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x40]
add eax, eax
add eax, eax
add dword [esp + 0x94], eax
add dword [esp + 0x8c], eax
add ecx, eax
mov dword [esp + 0x128], ecx
lea ecx, [ecx + edx*4 + 4]
mov edx, dword [esi + 0x110]
add edi, eax
mov eax, dword [edx]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x1a4]
xor ecx, ecx
test edx, edx
jle 0x10046f50
mov esi, dword [esp + 0x224]
mov eax, dword [esi + ecx*4]
add edi, 4
mov dword [edi], eax
inc dword [eax]
inc ecx
cmp ecx, edx
jl 0x10046f36
mov dword [esp + 0x3c], edi
lea esp, [esp]
mov eax, dword [esp + 0x50]
dec dword [eax]
cmp dword [eax], 0
jg 0x10046f66
mov ecx, eax
push ecx
call sym.tcl85.dll_TclFreeObj
add esp, 4
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x100466b0
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x224]
push ecx
lea edx, [esp + 0x1a8]
push edx
push eax
push esi
call sym.tcl85.dll_Tcl_ListObjGetElements
add esp, 0x10
test eax, eax
je 0x10046e80
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
mov esi, dword [esp + 0x3c]
sub esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x7c]
mov edx, dword [edi + 0x14]
sar esi, 2
sub esi, dword [edi + 0x10]
dec dword [edi]
cmp dword [edi], 0
mov dword [esp + 0x7c], edx
jg 0x10047013
cmp dword [edi + 0xc], 0
je 0x10046fe2
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], 0
je 0x10046fe2
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x10047013
mov eax, dword [edi + 4]
test eax, eax
je 0x10046ffd
cmp eax, dword [0x100d15c4]
je 0x10046ffd
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d3554]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], edx
mov dword [0x100d3554], edi
test esi, esi
je 0x10047024
mov dword [esp + 0x48], 1
jmp 0x100471ef
cmp dword [0x100d3554], 0
jne 0x10047032
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d3554]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d15c4]
mov dword [0x100d3554], ecx
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x3c]
add ecx, 4
mov dword [ecx], eax
inc dword [eax]
inc ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ebx
mov edi, ecx
jmp 0x100466b0
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
movzx edx, byte [ebx + 4]
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
shl esi, 8
or esi, edx
mov dword [esp + 0x48], 5
jmp 0x100471ef
movzx esi, byte [ebx + 1]
jmp 0x100471e7
movzx eax, byte [ebx + 1]
mov dword [esp + 0x6c], eax
test eax, eax
jl 0x100470b8
cmp eax, 0x19
jle 0x100470c6
push eax
push str.TclExecuteByteCode:_unrecognized_builtin_function_code__d
call sym.tcl85.dll_Tcl_Panic
add esp, 8
push 0x11
push str.::tcl::mathfunc::
call sym.tcl85.dll_Tcl_NewStringObj
mov esi, eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax*8 + 0x100b7d98]
push 0xffffffffffffffff
push ecx
push esi
call sym.tcl85.dll_Tcl_AppendToObj
mov edx, dword [esp + 0x80]
mov eax, dword [edx*8 + 0x100b7d9c]
add esp, 0x14
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x10047114
add edi, 4
mov dword [edi], esi
inc dword [esi]
mov esi, eax
mov dword [esp + 0x3c], edi
inc esi
jmp 0x100471e7
cmp dword [esp + 0x6c], 1
jne 0x10047145
mov eax, dword [edi]
mov dword [edi], esi
inc dword [esi]
add edi, 4
mov dword [edi], eax
mov ecx, dword [eax]
mov dword [esp + 0x3c], edi
mov dword [eax], ecx
test ecx, ecx
jg 0x10047189
push eax
call sym.tcl85.dll_TclFreeObj
mov esi, dword [esp + 0x70]
add esp, 4
inc esi
jmp 0x100471e7
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx]
mov eax, dword [ecx - 4]
mov dword [ecx - 4], esi
inc dword [esi]
sub ecx, 4
mov dword [ecx + 4], eax
inc dword [eax]
add ecx, 4
add ecx, 4
mov dword [ecx], edi
inc dword [edi]
dec dword [eax]
cmp dword [eax], 0
mov dword [esp + 0x3c], ecx
jg 0x10047179
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
dec dword [edi]
cmp dword [edi], 0
jg 0x10047189
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov esi, dword [esp + 0x6c]
inc esi
jmp 0x100471e7
movzx esi, byte [ebx + 1]
mov ecx, dword [esp + 0x3c]
lea eax, [esi*4]
sub ecx, eax
mov edi, dword [ecx + 4]
lea eax, [ecx + 4]
push 0x11
push str.::tcl::mathfunc::
mov dword [esp + 0x104], eax
call sym.tcl85.dll_Tcl_NewStringObj
push edi
push eax
mov dword [esp + 0x74], eax
call sym.tcl85.dll_Tcl_AppendObjToObj
dec dword [edi]
add esp, 0x10
cmp dword [edi], 0
jg 0x100471d8
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0xfc]
mov dword [edx], eax
inc dword [eax]
mov dword [esp + 0x48], 2
mov edi, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
lea eax, [esi*4]
sub edi, eax
mov eax, dword [esp + 0x1c0]
mov dword [eax + 0x1c], ebx
add edi, 4
mov dword [ecx + 0x284], eax
test byte [ecx + 0x100], 0x10
mov dword [esp + 0x1bc], 1
je 0x1004723e
mov ecx, dword [ebp + 0xc]
mov edx, ebx
sub edx, dword [ecx + 0x48]
push edx
mov edx, dword [ebp + 8]
push eax
push esi
push edi
push edx
call fcn.1000f290
add esp, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
push edx
mov dword [ecx + 0x10], eax
call fcn.1000df70
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 8]
add esp, 0x18
test byte [eax + 0x100], 0x10
mov dword [esp + 0x5c], 1
je 0x10047289
mov ecx, dword [ebp + 0xc]
mov edx, ebx
sub edx, dword [ecx + 0x48]
push edx
push esi
push edi
push eax
call fcn.1000f380
add esp, 0x10
cmp dword [esp + 0x44], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x284]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x284], edx
jne 0x10047381
push eax
call sym.tcl85.dll_Tcl_GetObjResult
mov edi, eax
mov eax, dword [0x100d3554]
add esp, 4
mov dword [esp + 0x40], edi
test eax, eax
jne 0x100472c8
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d3554]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d15c4]
mov dword [0x100d3554], ecx
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
inc dword [eax]
mov dword [edx + 0x1e4], eax
mov eax, dword [esp + 0x48]
cmp byte [eax + ebx], 3
jne 0x10047370
dec dword [edi]
cmp dword [edi], ecx
jg 0x1004735b
cmp dword [edi + 0xc], ecx
je 0x1004732a
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], ecx
je 0x1004732a
push edi
call sym.tcl85.dll_TclFreeObj
mov eax, dword [esp + 0x4c]
lea ecx, [eax + ebx + 1]
add esp, 4
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], esi
jmp 0x1004de5b
mov eax, dword [edi + 4]
cmp eax, ecx
je 0x10047345
cmp eax, dword [0x100d15c4]
je 0x10047345
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d3554]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], edx
mov dword [0x100d3554], edi
mov eax, dword [esp + 0x48]
lea ecx, [eax + ebx + 1]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], esi
jmp 0x1004de5b
add eax, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], esi
mov ebx, eax
jmp 0x1004dfb6
mov ebx, esi
jmp 0x10046828
mov eax, dword [edi]
mov edx, dword [esp + 0x60]
push 0
push 0
push eax
push esi
mov dword [edx + 0x10], edi
call fcn.10045fb0
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], 1
test eax, eax
jne 0x100468fb
mov esi, dword [ebp + 8]
push esi
call sym.tcl85.dll_Tcl_GetObjResult
mov edi, eax
mov eax, dword [0x100d3554]
add esp, 4
mov dword [esp + 0x40], edi
test eax, eax
jne 0x100473d8
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d3554]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d15c4]
mov dword [0x100d3554], ecx
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
inc dword [eax]
inc ebx
mov dword [esi + 0x1e4], eax
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov eax, dword [edi]
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x2d8]
push edx
push eax
push esi
mov dword [ecx + 0x10], edi
call sym.tcl85.dll_Tcl_ExprObj
add esp, 0xc
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], 1
test eax, eax
jne 0x1004e1b4
mov edi, dword [esp + 0x2d8]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
movzx esi, byte [ebx + 1]
mov eax, dword [esp + 0x70]
test byte [eax + esi*8], 2
lea eax, [eax + esi*8]
je 0x10047468
jmp 0x10047460
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10047460
test byte [eax], 0x13
jne 0x10047491
cmp dword [eax + 4], 0
je 0x10047491
mov eax, dword [eax + 4]
add edi, 4
mov dword [edi], eax
inc dword [eax]
add ebx, 2
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
jmp 0x100466b0
xor edi, edi
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0x50], edi
jmp 0x1004769c
movzx esi, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl esi, 8
or esi, ecx
mov ecx, dword [esp + 0x70]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
test byte [ecx + esi*8], 2
lea eax, [ecx + esi*8]
je 0x100474e8
jmp 0x100474e0
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x100474e0
test byte [eax], 0x13
jne 0x10047511
cmp dword [eax + 4], 0
je 0x10047511
mov eax, dword [eax + 4]
add edi, 4
mov dword [edi], eax
inc dword [eax]
add ebx, 5
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
jmp 0x100466b0
xor edi, edi
mov dword [esp + 0x48], 5
mov dword [esp + 0x4c], edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0x50], edi
jmp 0x1004769c
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x48], 5
jmp 0x10047564
movzx esi, byte [ebx + 1]
mov dword [esp + 0x48], 2
mov eax, dword [esp + 0x70]
test byte [eax + esi*8], 2
mov edx, dword [esp + 0x3c]
mov edi, dword [edx]
lea eax, [eax + esi*8]
mov dword [esp + 0x50], 0
mov dword [esp + 0xe0], eax
je 0x10047595
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10047586
mov dword [esp + 0xe0], eax
mov ecx, dword [eax]
test cl, 1
je 0x100475d0
test cl, 0x10
jne 0x100475d0
mov eax, dword [eax + 4]
mov ecx, edi
call fcn.10045640
test eax, eax
je 0x100475d0
test byte [eax], 0x13
jne 0x100475d0
cmp dword [eax + 4], 0
je 0x100475d0
mov edi, dword [eax + 4]
inc dword [edi]
add ebx, dword [esp + 0x48]
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xe0]
push esi
push 1
push 0
push str.read
push 0x200
push 0
push ecx
call fcn.10099a40
add esp, 0x1c
test eax, eax
jne 0x10047605
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
mov dword [esp + 0x4c], 1
jmp 0x1004769c
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x4c], 2
jmp 0x10047635
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov dword [esp + 0x4c], 1
xor edi, edi
mov edx, dword [ebp + 8]
lea ecx, [esp + 0xe0]
push ecx
push 1
push 0
push str.read
push 0x200
push edi
push eax
push edx
mov dword [esp + 0x70], eax
call fcn.100992b0
add esp, 0x20
test eax, eax
je 0x100466fc
test byte [eax], 0x13
mov ecx, dword [esp + 0xe0]
jne 0x10047691
cmp dword [eax + 4], 0
je 0x10047691
test ecx, ecx
je 0x10047680
test byte [ecx], 0x10
jne 0x10047691
mov edi, dword [eax + 4]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004dfb4
mov dword [esp + 0x48], 1
or esi, 0xffffffff
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
push esi
push 0x200
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xe8]
push edi
push ecx
mov esi, eax
mov eax, dword [ebp + 8]
push edx
call fcn.10099d70
mov edi, eax
add esp, 0x14
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], 1
test edi, edi
je 0x100466fc
add ebx, dword [esp + 0x48]
mov dword [esp + 0x38], ebx
jmp 0x1004dfb4
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
movzx edx, byte [ebx + 4]
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
shl esi, 8
or esi, edx
mov dword [esp + 0x54], 5
jmp 0x10047720
movzx esi, byte [ebx + 1]
mov dword [esp + 0x54], 2
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x70]
test byte [edx + esi*8], 2
mov edi, dword [eax - 4]
lea eax, [edx + esi*8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0xd8], eax
je 0x10047750
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10047741
mov dword [esp + 0xd8], eax
mov ecx, dword [eax]
test cl, 1
je 0x100477a1
test cl, 0x20
jne 0x100477a1
mov eax, dword [eax + 4]
mov ecx, edi
call fcn.10045640
mov dword [esp + 0x58], eax
test eax, eax
je 0x100477a1
test byte [eax], 0x2b
jne 0x100477a1
mov esi, dword [esp + 0x3c]
mov eax, dword [esi - 4]
dec dword [eax]
add esi, 0xfffffffc
cmp dword [eax], 0
mov dword [esp + 0x3c], esi
jg 0x10047791
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov dword [esi], ecx
mov ecx, dword [esp + 0x58]
jmp 0x10047809
mov dword [esp + 0x58], 0x200
jmp 0x10047a44
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x54], 5
jmp 0x100477e3
movzx esi, byte [ebx + 1]
mov dword [esp + 0x54], 2
mov edx, dword [esp + 0x70]
test byte [edx + esi*8], 2
lea ecx, [edx + esi*8]
mov dword [esp + 0x58], ecx
je 0x10047800
mov ecx, dword [ecx + 4]
test byte [ecx], 2
jne 0x100477f4
mov dword [esp + 0x58], ecx
test byte [ecx], 0x2b
jne 0x100478a2
mov esi, dword [ecx + 4]
test esi, esi
je 0x1004786a
dec dword [esi]
cmp dword [esi], 0
jg 0x1004786a
cmp dword [esi + 0xc], 0
je 0x10047835
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x10047835
push esi
call sym.tcl85.dll_TclFreeObj
mov ecx, dword [esp + 0x5c]
add esp, 4
jmp 0x1004786a
mov eax, dword [esi + 4]
test eax, eax
je 0x10047854
cmp eax, dword [0x100d15c4]
je 0x10047854
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
mov ecx, dword [esp + 0x5c]
add esp, 4
mov edx, dword [0x100d3554]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
mov dword [0x100d3554], esi
mov eax, dword [edi]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x54]
cmp byte [ecx + ebx], 3
mov dword [esp + 0x40], eax
jne 0x10047893
lea eax, [ecx + ebx + 1]
sub edi, 4
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], eax
mov ebx, eax
jmp 0x100466b0
inc dword [eax]
add ecx, ebx
mov dword [esp + 0x38], ecx
mov ebx, ecx
jmp 0x100466b0
mov dword [esp + 0x58], 0x200
jmp 0x10047b0d
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov dword [esp + 0x48], edx
mov dword [esp + 0x58], 0x20c
jmp 0x1004792e
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], 0x20c
jmp 0x10047930
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], 0x204
jmp 0x1004792e
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], 0x204
jmp 0x10047930
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x58], 0x200
jmp 0x10047930
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], 0x200
xor edi, edi
mov ecx, dword [esp + 0x3c]
xor edx, edx
test edi, edi
setne dl
lea eax, [edx*4 + 4]
lea edx, [esp + 0xd8]
push edx
push 1
push 1
push 0x100bbd70
sub ecx, eax
mov eax, dword [ecx]
push 0x200
push edi
push eax
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 8]
push eax
call fcn.100992b0
add esp, 0x20
test eax, eax
je 0x100466fc
xor ecx, ecx
test edi, edi
setne cl
mov dword [esp + 0x54], 1
add ecx, 2
mov dword [esp + 0x4c], ecx
or esi, 0xffffffff
jmp 0x10047b3d
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x54], 5
mov dword [esp + 0x58], 0x20c
jmp 0x10047a14
mov dword [esp + 0x58], 0x20c
jmp 0x10047a08
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x54], 5
mov dword [esp + 0x58], 0x204
jmp 0x10047a14
mov dword [esp + 0x58], 0x204
movzx esi, byte [ebx + 1]
mov dword [esp + 0x54], 2
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
mov edi, dword [eax - 4]
mov eax, dword [esp + 0x70]
test byte [eax + esi*8], 2
lea eax, [eax + esi*8]
mov dword [esp + 0x48], edx
mov dword [esp + 0xd8], eax
je 0x10047a44
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10047a35
mov dword [esp + 0xd8], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xd8]
push esi
push 1
push 1
push 0x100bbd70
push 0x200
push 0
push ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 2
call fcn.10099a40
add esp, 0x1c
test eax, eax
jne 0x10047b3d
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x54], 5
mov dword [esp + 0x58], 0x20c
jmp 0x10047b0d
mov dword [esp + 0x58], 0x20c
jmp 0x10047b01
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x54], 5
mov dword [esp + 0x58], 0x204
jmp 0x10047b0d
mov dword [esp + 0x58], 0x204
movzx esi, byte [ebx + 1]
mov dword [esp + 0x54], 2
mov eax, dword [esp + 0x70]
test byte [eax + esi*8], 2
mov edx, dword [edi]
lea eax, [eax + esi*8]
mov dword [esp + 0x48], edx
je 0x10047b28
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10047b20
xor edi, edi
mov dword [esp + 0x4c], 1
mov dword [esp + 0xd8], edi
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
push esi
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0xe4]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, edi
call fcn.1009a090
mov edi, eax
add esp, 0x1c
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], 1
test edi, edi
je 0x100466fc
mov eax, dword [esp + 0x54]
cmp byte [eax + ebx], 3
jne 0x10047b9c
lea ecx, [eax + ebx + 1]
mov dword [esp + 0x38], ecx
jmp 0x1004de5b
add eax, ebx
jmp 0x1004dfae
movzx edx, byte [ebx + 1]
mov esi, dword [edi]
sub edi, 4
sub eax, 0x18
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x3c], edi
je 0x10047bd9
sub eax, 2
je 0x10047bcc
mov dword [esp + 0x58], 1
jmp 0x10047c03
mov dword [esp + 0x58], 2
jmp 0x10047cc7
mov dword [esp + 0x58], 2
jmp 0x10048156
movsx eax, byte [ebx + 1]
push eax
call sym.tcl85.dll_Tcl_DbNewLongObj
add esp, 4
inc dword [eax]
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], 2
mov esi, eax
mov bl, byte [ebx]
cmp bl, 0x20
je 0x10047c19
cmp bl, 0x1b
je 0x10047c19
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
xor edi, edi
jmp 0x10047c22
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
mov eax, dword [eax - 4]
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x170]
push ecx
push 1
push 1
push str.read
push 0x200
push edi
push eax
push edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0xffffffff
call fcn.100992b0
mov ebx, eax
add esp, 0x20
test ebx, ebx
je 0x10047c70
mov esi, dword [esp + 0x170]
xor eax, eax
test edi, edi
setne al
inc eax
mov dword [esp + 0x4c], eax
jmp 0x10048182
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push str._n_____reading_value_of_variable_to_increment_
push ecx
call sym.tcl85.dll_Tcl_AddObjErrorInfo
dec dword [esi]
add esp, 0xc
cmp dword [esi], 0
mov dword [esp + 0x44], 1
jg 0x1004e1bb
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004e1bb
movsx eax, byte [ebx + 2]
movzx edx, byte [ebx + 1]
push eax
mov dword [esp + 0x58], edx
call sym.tcl85.dll_Tcl_DbNewLongObj
add esp, 4
inc dword [eax]
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], 3
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
test byte [ecx + edx*8], 2
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
lea esi, [ecx + edx*8]
mov dword [esp + 0x50], 0
mov dword [esp + 0x170], esi
mov dword [esp + 0x4c], 1
je 0x10047d04
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x10047cf5
mov dword [esp + 0x170], esi
mov eax, dword [esp + 0x54]
mov ecx, dword [ebp + 8]
push eax
push 1
push 1
push str.read
push 0x200
push 0
push ecx
mov eax, esi
call fcn.10099a40
mov ebx, eax
add esp, 0x1c
test ebx, ebx
jne 0x10048182
mov eax, dword [esp + 0x48]
dec dword [eax]
cmp dword [eax], ebx
mov dword [esp + 0x44], 1
jg 0x1004e1bb
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004e1bb
movzx eax, byte [ebx + 1]
movsx esi, byte [ebx + 2]
mov edx, dword [esp + 0x70]
test byte [edx + eax*8], 2
lea ebx, [edx + eax*8]
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], 3
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ebx
je 0x10047d92
mov ebx, dword [ebx + 4]
test byte [ebx], 2
jne 0x10047d86
mov dword [esp + 0x50], ebx
test byte [ebx], 0x33
jne 0x1004811b
cmp dword [ebx + 4], 0
je 0x1004811b
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0xc]
cmp eax, 0x100d1604
jne 0x10047dcc
lea ecx, [edi + 0x10]
mov dword [esp + 0x168], 1
mov dword [esp + 0x180], ecx
jmp 0x10047e83
cmp eax, 0x100d1618
jne 0x10047ded
lea ecx, [edi + 0x10]
mov dword [esp + 0x168], 2
mov dword [esp + 0x180], ecx
jmp 0x10047fe7
cmp eax, 0x100d15f0
jne 0x10047e2b
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
lea esi, [edi + 0x10]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
mov ecx, esi
mov dword [esp + 0x168], eax
mov dword [esp + 0x180], ecx
jmp 0x10047e7a
test eax, eax
jne 0x10047e38
cmp dword [edi + 4], eax
je 0x1004808d
cmp dword [edi + 4], 0
je 0x10047e48
cmp dword [edi + 8], 0
je 0x1004808d
lea eax, [esp + 0x168]
push eax
lea ecx, [esp + 0x184]
push ecx
mov eax, edi
xor ecx, ecx
call fcn.100783c0
add esp, 8
test eax, eax
jne 0x1004808d
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x180]
cmp eax, 1
jne 0x10047fde
mov eax, dword [ecx]
mov ecx, dword [esp + 0x48]
lea esi, [eax + ecx]
mov edx, esi
xor edx, eax
jge 0x10047f4b
mov edx, eax
xor edx, ecx
jl 0x10047f4b
cdq
mov esi, eax
mov eax, dword [edi]
cmp eax, 1
mov dword [esp + 0x24c], edx
jle 0x10047ef4
dec eax
mov dword [edi], eax
mov eax, ecx
cdq
add eax, esi
adc edx, dword [esp + 0x24c]
push edx
push eax
call sym.tcl85.dll_Tcl_NewWideIntObj
mov edi, eax
add esp, 8
mov dword [esp + 0x40], edi
inc dword [edi]
mov dword [ebx + 4], edi
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x38]
cmp byte [eax + ecx], 3
jne 0x10048245
lea ecx, [eax + ecx + 1]
mov dword [esp + 0x38], ecx
jmp 0x1004de5b
mov eax, dword [edi + 4]
mov dword [esp + 0x40], edi
test eax, eax
je 0x10047f18
cmp eax, dword [0x100d15c4]
je 0x10047f11
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 4], 0
cmp dword [edi + 0xc], 0
je 0x10047f2e
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x10047f2e
push edi
call eax
add esp, 4
mov eax, dword [esp + 0x48]
cdq
add eax, esi
adc edx, dword [esp + 0x24c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov dword [edi + 0xc], 0x100d1618
jmp 0x10047ed5
mov eax, dword [edi]
cmp eax, 1
jle 0x10047f95
dec eax
cmp dword [0x100d3554], 0
mov dword [edi], eax
jne 0x10047f63
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d3554]
mov edx, dword [eax + 0x10]
mov edi, eax
add eax, 0x10
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], esi
mov dword [esp + 0x40], edi
mov dword [0x100d3554], edx
mov dword [edi + 0xc], 0x100d1604
jmp 0x10047ed0
mov eax, dword [edi + 4]
mov dword [esp + 0x40], edi
test eax, eax
je 0x10047fb9
cmp eax, dword [0x100d15c4]
je 0x10047fb2
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 4], 0
cmp dword [edi + 0xc], 0
je 0x10047fcf
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x10047fcf
push edi
call eax
add esp, 4
mov dword [edi + 0x10], esi
mov dword [edi + 0xc], 0x100d1604
jmp 0x10047ed5
cmp eax, 2
jne 0x1004808d
mov esi, dword [ecx]
mov ebx, dword [ecx + 4]
mov eax, dword [esp + 0x48]
cdq
mov ecx, esi
add ecx, eax
mov dword [esp + 0x24c], ebx
adc ebx, edx
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], edx
mov eax, ecx
xor eax, esi
mov edx, ebx
xor edx, dword [esp + 0x24c]
mov dword [esp + 0x390], eax
mov dword [esp + 0x394], edx
jg 0x10048053
jl 0x1004802f
test eax, eax
jae 0x10048053
mov eax, dword [esp + 0x24c]
xor esi, dword [esp + 0x2a8]
xor eax, dword [esp + 0x2ac]
mov dword [esp + 0xd4], eax
jg 0x1004808d
jl 0x10048053
test esi, esi
jae 0x1004808d
mov eax, dword [edi]
cmp eax, 1
push ebx
push ecx
jle 0x1004807b
dec eax
mov dword [edi], eax
call sym.tcl85.dll_Tcl_NewWideIntObj
mov edi, eax
mov eax, dword [esp + 0x58]
add esp, 8
inc dword [edi]
mov dword [esp + 0x40], edi
mov dword [eax + 4], edi
jmp 0x10047ed5
push edi
mov dword [esp + 0x4c], edi
call sym.tcl85.dll_Tcl_SetWideIntObj
add esp, 0xc
jmp 0x10047ed5
mov eax, dword [edi]
cmp eax, 1
jle 0x100480ab
dec eax
push edi
mov dword [edi], eax
call sym.tcl85.dll_Tcl_DuplicateObj
mov ecx, dword [esp + 0x54]
mov edi, eax
add esp, 4
inc dword [edi]
mov dword [ecx + 4], edi
cmp dword [0x100d3554], 0
mov dword [esp + 0x40], edi
jne 0x100480bd
call sym.tcl85.dll_TclAllocateFreeObjects
mov ebx, dword [0x100d3554]
mov edx, dword [ebx + 0x10]
mov ecx, dword [esp + 0x48]
lea eax, [ebx + 0x10]
mov dword [ebx], 0
mov dword [0x100d3554], edx
mov edx, dword [ebp + 8]
mov dword [ebx + 4], 0
push ebx
mov dword [eax], ecx
push edx
mov esi, edi
mov dword [ebx + 0xc], 0x100d1604
call fcn.10046190
dec dword [ebx]
add esp, 8
cmp dword [ebx], 0
mov esi, eax
mov dword [esp + 0x44], esi
jg 0x1004810e
push ebx
call sym.tcl85.dll_TclFreeObj
add esp, 4
test esi, esi
je 0x10047ed5
jmp 0x1004e1b4
cmp dword [0x100d3554], 0
jne 0x10048129
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d3554]
mov edx, dword [eax + 0x10]
lea ecx, [eax + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [ecx], esi
mov dword [eax + 0xc], 0x100d1604
inc dword [eax]
mov dword [esp + 0x48], eax
mov dword [0x100d3554], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
test byte [eax + ecx*8], 2
lea ebx, [eax + ecx*8]
je 0x1004816f
mov ebx, dword [ebx + 4]
test byte [ebx], 2
jne 0x10048167
xor esi, esi
mov dword [esp + 0x170], esi
xor edi, edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], esi
test byte [ebx], 0x33
jne 0x100481e5
cmp dword [ebx + 4], 0
je 0x100481e5
test esi, esi
je 0x10048196
test byte [esi], 0x30
jne 0x100481e5
mov edi, dword [ebx + 4]
mov eax, dword [edi]
cmp eax, 1
jle 0x100481b3
dec eax
push edi
mov dword [edi], eax
call sym.tcl85.dll_Tcl_DuplicateObj
mov edi, eax
add esp, 4
inc dword [edi]
mov dword [ebx + 4], edi
mov edx, dword [esp + 0x48]
mov eax, dword [ebp + 8]
push edx
push eax
mov esi, edi
mov dword [esp + 0x48], edi
call fcn.10046190
mov esi, eax
mov eax, dword [esp + 0x50]
dec dword [eax]
add esp, 8
cmp dword [eax], 0
mov dword [esp + 0x44], esi
jg 0x1004810e
push eax
jmp 0x10048106
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x54]
push eax
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
push ecx
push edi
push edx
mov edi, ebx
mov ebx, dword [ebp + 8]
push esi
call fcn.1009a460
mov edi, eax
mov eax, dword [esp + 0x5c]
dec dword [eax]
add esp, 0x14
cmp dword [eax], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], 1
jg 0x10048230
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
test edi, edi
jne 0x10047ed5
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
add eax, ecx
jmp 0x1004dfae
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x70]
shl edx, 8
or edx, eax
test byte [ecx + edx*8], 2
lea esi, [ecx + edx*8]
je 0x10048280
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x10048278
test byte [esi], 0x10
je 0x100482ea
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
push 0
push 0x10
mov dword [ecx + 0x10], eax
push esi
push 0
xor edi, edi
xor eax, eax
call fcn.10093540
add esp, 0x10
mov dword [esp + 0x5c], 1
cmp dword [esi + 4], edi
jne 0x100482f0
push edi
push esi
call sym.tcl85.dll_TclCleanupVar
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x74]
mov eax, dword [edx + eax*4 + 4]
add ecx, 4
mov dword [ecx], eax
inc dword [eax]
add dword [esp + 0x38], 5
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov edi, ecx
jmp 0x100466b0
cmp dword [esi + 4], 0
je 0x100482bd
mov eax, 1
jmp 0x100482bf
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
movzx edx, byte [ebx + 4]
mov edi, dword [edi]
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x70]
shl esi, 8
or esi, ecx
shl esi, 8
or esi, edx
test byte [eax + esi*8], 2
lea eax, [eax + esi*8]
mov dword [esp + 0xa0], eax
je 0x1004833f
lea esp, [esp]
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10048330
mov dword [esp + 0xa0], eax
mov ecx, dword [eax]
test cl, 1
je 0x1004836a
test cl, 0x10
jne 0x1004836a
mov eax, dword [eax + 4]
mov ecx, edi
call fcn.10045640
mov dword [esp + 0x48], eax
test eax, eax
je 0x100483fa
test byte [eax], 0x10
je 0x10048416
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xa0]
push esi
push 1
push 0
push str.access
push 0
push 0
push ecx
call fcn.10099a40
add esp, 0x1c
mov dword [esp + 0x48], eax
test eax, eax
je 0x100483fa
mov edx, eax
test byte [edx], 0x10
jne 0x100483a6
mov eax, dword [esp + 0xa0]
test byte [eax], 0x10
je 0x100483dd
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x48]
mov ebx, dword [ebp + 8]
push 0
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0xa4]
push 0x10
push eax
push ecx
mov edx, esi
xor eax, eax
call fcn.10093540
mov ebx, dword [esp + 0x48]
add esp, 0x10
mov dword [esp + 0x5c], 1
mov edx, dword [esp + 0x48]
cmp dword [edx + 4], 0
jne 0x10048416
mov eax, dword [esp + 0xa0]
push eax
mov ecx, edx
push ecx
call sym.tcl85.dll_TclCleanupVar
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x74]
mov edi, dword [ecx + eax*4 + 4]
inc dword [edi]
add ebx, 5
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov edx, dword [esp + 0x48]
cmp dword [edx + 4], 0
je 0x100483fa
mov eax, 1
jmp 0x100483fc
mov edx, dword [edi]
mov eax, dword [edi - 4]
mov dword [esp + 0x4c], 2
mov dword [esp + 0x50], edx
mov dword [esp + 0x68], eax
jmp 0x10048454
mov ecx, dword [edi]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0xa0]
push edx
push 1
push 0
push str.access
push 0
push eax
push ecx
push esi
call fcn.100992b0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x100484df
test byte [esi], 0x10
mov eax, dword [esp + 0xa0]
jne 0x10048495
test eax, eax
je 0x100484cf
test byte [eax], 0x10
je 0x100484cf
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x50]
mov ebx, dword [ebp + 8]
push 0
push 0x10
push esi
mov dword [ecx + 0x10], edx
push eax
mov eax, dword [esp + 0x78]
or edx, 0xffffffff
call fcn.10093540
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0xb0]
add esp, 0x10
mov dword [esp + 0x5c], 1
cmp dword [esi + 4], 0
jne 0x100484f7
push eax
push esi
call sym.tcl85.dll_TclCleanupVar
add esp, 8
mov edx, dword [esp + 0x74]
xor eax, eax
mov edi, dword [edx + eax*4 + 4]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004dfb4
mov edx, dword [esp + 0x74]
mov eax, 1
mov edi, dword [edx + eax*4 + 4]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004dfb4
mov ecx, dword [edi - 4]
lea eax, [esp + 0x2c8]
push eax
push ecx
push esi
call sym.tcl85.dll_TclObjGetFrame
add esp, 0xc
cmp eax, 0xffffffff
je 0x100466fc
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x64]
mov ecx, dword [esp + 0x2c8]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x6c]
push edx
push 1
push 1
push str.access
push 0x200
mov dword [eax + 0x64], ecx
mov ecx, dword [edi]
push 0
push ecx
push eax
call fcn.100992b0
mov edx, dword [esp + 0x84]
mov esi, eax
mov eax, dword [ebp + 8]
add esp, 0x20
mov dword [eax + 0x64], edx
test esi, esi
je 0x100466fc
mov dword [esp + 0x44], 0
jmp 0x10048645
mov edx, dword [edi]
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x6c]
push ecx
push 1
push 1
push str.access
push 0x202
push 0
push edx
push eax
call fcn.100992b0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x100466fc
mov eax, dword [esi]
test al, al
js 0x100485cb
or eax, 0x80
mov dword [esi], eax
test al, 4
je 0x100485cb
inc dword [esi + 8]
mov dword [esp + 0x44], 0
jmp 0x10048645
mov edx, dword [edi - 4]
lea ecx, [esp + 0x2f8]
push ecx
push edx
push esi
call sym.tcl85.dll_TclGetNamespaceFromObj
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100466fc
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x64]
mov edx, dword [eax]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x2f8]
mov dword [eax], edx
mov edx, dword [edi]
lea eax, [esp + 0x6c]
push eax
push 1
push 1
push str.access
push 0x202
push 0
push edx
push ecx
call fcn.100992b0
mov edx, dword [esp + 0x84]
mov esi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
add esp, 0x20
mov dword [ecx], edx
test esi, esi
je 0x100466fc
movsx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x70]
shl eax, 8
or eax, ecx
lea edi, [edx + eax*8]
cmp edi, esi
je 0x100486cf
mov edx, dword [edi]
test edx, 0x870
jne 0x100486cf
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x100486a8
test dl, 2
je 0x100486cf
test ecx, ecx
je 0x100486a8
mov eax, ecx
cmp eax, esi
je 0x100486ec
test byte [eax], 4
je 0x100486a8
dec dword [eax + 8]
cmp dword [eax + 4], 0
jne 0x100486a8
push 0
push eax
call sym.tcl85.dll_TclCleanupVar
add esp, 8
mov eax, dword [edi]
and eax, 0xfffffffe
or eax, 2
mov dword [edi], eax
mov dword [edi + 4], esi
test byte [esi], 4
je 0x100486ec
inc dword [esi + 8]
add dword [esp + 0x38], 5
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
jmp 0x1004ef8a
mov ebx, dword [ebp + 8]
push eax
push 0
push 0
push esi
call fcn.1009c270
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004e1b4
add dword [esp + 0x38], 5
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
jmp 0x1004ef8a
movsx ecx, byte [ebx + 1]
add ebx, ecx
mov dword [esp + 0x38], ebx
jmp 0x100466b0
movsx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
add ebx, edx
mov dword [esp + 0x38], ebx
jmp 0x100466b0
movsx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], 5
jmp 0x100487c4
movsx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
mov dword [esp + 0x190], 5
or eax, ecx
jmp 0x100487bd
movsx edx, byte [ebx + 1]
mov dword [esp + 0x190], edx
mov dword [esp + 0x194], 2
jmp 0x100487c4
movsx eax, byte [ebx + 1]
mov dword [esp + 0x190], 2
mov dword [esp + 0x194], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x100d1604
je 0x1004880e
cmp ecx, 0x100d15dc
je 0x1004880e
lea ecx, [esp + 0x22c]
push ecx
push eax
push esi
call sym.tcl85.dll_Tcl_GetBooleanFromObj
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004e1b4
mov eax, dword [esp + 0x22c]
add ebx, dword [esp + eax*4 + 0x190]
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
xor edx, edx
cmp dword [eax + 0x10], edx
mov dword [esp + 0x44], 0
setne dl
mov eax, edx
add ebx, dword [esp + eax*4 + 0x190]
mov dword [esp + 0x22c], edx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
movsx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0xc]
shl ecx, 8
or ecx, edx
mov edx, dword [eax + 0x54]
mov eax, dword [edi]
mov esi, dword [edx + ecx*8 + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004886d
mov eax, ecx
jmp 0x10048876
push eax
call sym.tcl85.dll_Tcl_GetString
add esp, 4
push eax
mov eax, dword [esi + 0x2c]
push esi
call eax
add esp, 8
test eax, eax
je 0x10048890
add ebx, dword [eax + 0xc]
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov esi, dword [edi]
mov edi, dword [edi - 4]
mov eax, dword [edi + 0xc]
cmp eax, 0x100d1604
je 0x100488f3
cmp eax, 0x100d15dc
je 0x100488f3
lea ecx, [esp + 0x218]
push ecx
push edi
push 0
call sym.tcl85.dll_Tcl_GetBooleanFromObj
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
je 0x10048906
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x10], eax
mov ecx, edi
mov eax, dword [esp + 0x38]
mov ebx, dword [ebp + 8]
call fcn.1004f610
mov dword [esp + 0x5c], 1
jmp 0x1004e1b4
xor edx, edx
cmp dword [edi + 0x10], edx
setne dl
mov edi, edx
mov dword [esp + 0x218], edi
jmp 0x1004890d
mov edi, dword [esp + 0x218]
mov eax, dword [esi + 0xc]
cmp eax, 0x100d1604
je 0x10048948
cmp eax, 0x100d15dc
je 0x10048948
lea edx, [esp + 0x240]
push edx
push esi
push 0
call sym.tcl85.dll_Tcl_GetBooleanFromObj
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
je 0x10048961
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov ecx, esi
jmp 0x100488da
xor eax, eax
cmp dword [esi + 0x10], eax
mov dword [esp + 0x44], 0
setne al
mov dword [esp + 0x240], eax
jmp 0x10048968
mov eax, dword [esp + 0x240]
cmp byte [ebx], 0x28
jne 0x1004897c
test edi, edi
jne 0x10048975
test eax, eax
je 0x1004898b
mov eax, 1
jmp 0x1004898d
test edi, edi
je 0x1004898b
test eax, eax
je 0x1004898b
mov eax, 1
jmp 0x1004898d
xor eax, eax
mov edx, dword [esp + 0x74]
mov edi, dword [edx + eax*4 + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
movzx edx, byte [ebx + 4]
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov ecx, dword [esp + 0x3c]
shl esi, 8
or esi, edx
lea eax, [esi*4]
sub ecx, eax
add ecx, 4
push ecx
push esi
call sym.tcl85.dll_Tcl_NewListObj
add esp, 8
mov edi, eax
add ebx, 5
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], esi
jmp 0x1004dfb4
mov edi, dword [edi]
cmp dword [edi + 0xc], 0x100d1740
jne 0x10048a16
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x220], eax
mov dword [esp + 0x44], 0
jmp 0x10048a34
lea ecx, [esp + 0x220]
push ecx
push edi
push esi
call sym.tcl85.dll_Tcl_ListObjLength
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004e1b4
cmp dword [0x100d3554], 0
jne 0x10048a42
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x220]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], ecx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [0x100d3554], edx
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov eax, dword [edi - 4]
cmp dword [eax + 0xc], 0x100d1740
mov esi, dword [edi]
mov dword [esp + 0x6c], eax
jne 0x10048ab4
mov eax, dword [eax + 0x10]
lea edx, [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x18c], edx
mov dword [esp + 0xe8], eax
mov dword [esp + 0x44], 0
jmp 0x10048ae1
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x18c]
push ecx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0xec]
push edx
push eax
push ecx
call sym.tcl85.dll_Tcl_ListObjGetElements
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x10048b98
mov eax, dword [esi + 0xc]
cmp eax, 0x100d1740
je 0x10048b98
cmp eax, 0x100d1604
jne 0x10048b02
mov edx, dword [esi + 0x10]
mov dword [esp + 0x144], edx
jmp 0x10048b22
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0x144]
push eax
dec ecx
push ecx
push esi
push 0
call sym.tcl85.dll_TclGetIntForIndex
add esp, 0x10
test eax, eax
jne 0x10048b98
dec dword [esi]
cmp dword [esi], 0
jg 0x10048b84
cmp dword [esi + 0xc], 0
je 0x10048b55
mov edx, dword [esi + 0xc]
cmp dword [edx + 4], 0
je 0x10048b55
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
add edi, 0xfffffffc
mov dword [esp + 0x3c], edi
mov dword [esp + 0x6c], 1
jmp 0x10048c5b
mov eax, dword [esi + 4]
test eax, eax
je 0x10048b6e
cmp eax, dword [0x100d15c4]
je 0x10048b6e
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d3554]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], ecx
mov dword [0x100d3554], esi
add edi, 0xfffffffc
mov dword [esp + 0x3c], edi
mov dword [esp + 0x6c], 1
jmp 0x10048c5b
mov eax, dword [esp + 0x6c]
mov ebx, dword [ebp + 8]
push esi
call fcn.1006b3e0
mov edi, eax
add esp, 4
mov dword [esp + 0x40], edi
test edi, edi
je 0x100466fc
inc dword [esp + 0x38]
jmp 0x1004e567
movsx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
mov edi, dword [edi]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
cmp dword [edi + 0xc], 0x100d1740
mov dword [esp + 0x6c], 5
jne 0x10048c12
mov edi, dword [edi + 0x10]
mov eax, dword [edi + 8]
lea edx, [edi + 0x10]
mov dword [esp + 0x18c], edx
mov dword [esp + 0xe8], eax
mov dword [esp + 0x44], 0
jmp 0x10048c3b
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x18c]
push ecx
lea edx, [esp + 0xec]
push edx
push edi
push eax
call sym.tcl85.dll_Tcl_ListObjGetElements
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004e1b4
cmp esi, 0xffffffff
jge 0x10048c54
mov ecx, dword [esp + 0xe8]
lea edx, [esi + ecx + 1]
mov dword [esp + 0x144], edx
jmp 0x10048c5b
mov dword [esp + 0x144], esi
mov eax, dword [esp + 0x144]
test eax, eax
jl 0x10048c8c
cmp eax, dword [esp + 0xe8]
jge 0x10048c8c
mov ecx, dword [esp + 0x18c]
mov edi, dword [ecx + eax*4]
inc dword [edi]
add ebx, dword [esp + 0x6c]
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
cmp dword [0x100d3554], 0
jne 0x10048c9a
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x100d15c4]
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
inc dword [edi]
add ebx, dword [esp + 0x6c]
mov dword [0x100d3554], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x3c]
shl esi, 8
or esi, ecx
lea ecx, [esi - 1]
lea edx, [ecx*4]
sub eax, edx
lea edx, [eax + 4]
mov eax, dword [eax]
push edx
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.1006b4b0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x40], edi
test edi, edi
je 0x100466fc
add ebx, 5
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], esi
jmp 0x1004dfb6
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
dec dword [edi]
shl esi, 8
or esi, ecx
sub eax, 4
sub esi, 2
cmp dword [edi], 0
mov dword [esp + 0x3c], eax
jg 0x10048d6e
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
test esi, esi
jne 0x10048d7c
inc dword [eax]
jmp 0x10048d99
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebp + 8]
push eax
lea eax, [esi*4]
sub ecx, eax
push ecx
push esi
push edi
push edx
call fcn.1006b710
add esp, 0x14
mov edi, eax
mov dword [esp + 0x40], edi
test eax, eax
je 0x100466fc
add ebx, 5
inc esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], esi
jmp 0x1004dfb6
mov esi, dword [edi]
dec dword [esi]
sub edi, 4
cmp dword [esi], 0
mov dword [esp + 0x3c], edi
jg 0x10048dd1
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
mov ecx, dword [ecx - 4]
push ecx
mov ecx, dword [ebp + 8]
push esi
push ecx
call fcn.1006b620
mov edi, eax
add esp, 0xc
mov dword [esp + 0x40], edi
test edi, edi
je 0x100466fc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
movsx edi, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
movzx edx, byte [ebx + 3]
movsx esi, byte [ebx + 5]
shl edi, 8
or edi, ecx
movzx ecx, byte [ebx + 4]
shl edi, 8
or edi, edx
movzx edx, byte [ebx + 6]
shl esi, 8
or esi, edx
movzx edx, byte [ebx + 8]
shl edi, 8
or edi, ecx
movzx ecx, byte [ebx + 7]
shl esi, 8
or esi, ecx
shl esi, 8
or esi, edx
cmp dword [eax + 0xc], 0x100d1740
jne 0x10048e6e
mov eax, dword [eax + 0x10]
lea ecx, [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x228], ecx
mov dword [esp + 0x244], eax
mov dword [esp + 0x44], 0
jmp 0x10048e9e
lea edx, [esp + 0x228]
push edx
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x248]
push ecx
push eax
push edx
call sym.tcl85.dll_Tcl_ListObjGetElements
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004e1b4
mov eax, dword [esp + 0x244]
cmp byte [ebx + 9], 3
jne 0x10048eb4
mov edi, dword [esp + 0x3c]
add ebx, 0xa
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
cmp edi, 0xffffffff
jge 0x10048ec7
lea edi, [edi + eax + 1]
cmp edi, 0xffffffff
jge 0x10048ecd
or edi, 0xffffffff
jmp 0x10048ecd
cmp edi, eax
jle 0x10048ecd
mov edi, eax
cmp esi, 0xffffffff
jge 0x10048ee0
lea esi, [esi + eax + 1]
cmp esi, 0xffffffff
jge 0x10048ee6
or esi, 0xffffffff
jmp 0x10048ee6
cmp esi, eax
jle 0x10048ee6
mov esi, eax
cmp edi, esi
jg 0x10048f2a
cmp edi, eax
jge 0x10048f2a
test esi, esi
jl 0x10048f2a
test edi, edi
jge 0x10048ef8
xor edi, edi
cmp esi, eax
jl 0x10048eff
lea esi, [eax - 1]
mov eax, dword [esp + 0x228]
lea ecx, [eax + edi*4]
sub esi, edi
push ecx
inc esi
push esi
call sym.tcl85.dll_Tcl_NewListObj
mov edi, eax
inc dword [edi]
add esp, 8
add ebx, 9
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
cmp dword [0x100d3554], 0
jne 0x10048f38
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x100d15c4]
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
inc dword [edi]
add ebx, 9
mov dword [0x100d3554], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov eax, dword [edi - 4]
cmp dword [eax + 4], 0
mov ecx, dword [edi]
mov dword [esp + 0x50], ecx
je 0x10048f8a
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x230], edx
jmp 0x10048f9f
lea ecx, [esp + 0x230]
push ecx
push eax
call sym.tcl85.dll_Tcl_GetStringFromObj
mov ecx, dword [esp + 0x58]
add esp, 8
cmp dword [ecx + 0xc], 0x100d1740
mov dword [esp + 0x6c], eax
jne 0x10048fc3
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x44], 0
jmp 0x10048fe5
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x1c4]
push ecx
push edx
push esi
call sym.tcl85.dll_Tcl_ListObjLength
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004e1b4
xor ecx, ecx
cmp dword [esp + 0x1c4], ecx
mov dword [esp + 0x68], ecx
jle 0x100490be
xor esi, esi
mov dword [esp + 0x100], esi
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x2c4]
push eax
push esi
push ecx
push 0
call sym.tcl85.dll_Tcl_ListObjIndex
mov eax, dword [esp + 0x2d4]
add esp, 0x10
test eax, eax
je 0x1004904c
cmp dword [eax + 4], 0
je 0x10049039
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x254], edx
jmp 0x10049051
lea ecx, [esp + 0x254]
push ecx
push eax
call sym.tcl85.dll_Tcl_GetStringFromObj
add esp, 8
jmp 0x10049051
mov eax, 0x100bb739
mov edx, dword [esp + 0x254]
cmp dword [esp + 0x230], edx
jne 0x1004909e
mov esi, eax
mov eax, dword [esp + 0x6c]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10049087
test cl, cl
je 0x10049083
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10049087
add eax, 2
add esi, 2
test cl, cl
jne 0x10049067
xor eax, eax
jmp 0x1004908c
sbb eax, eax
sbb eax, 0xffffffff
mov esi, dword [esp + 0x100]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x68], ecx
inc esi
cmp esi, dword [esp + 0x1c4]
mov dword [esp + 0x100], esi
jge 0x100490ba
cmp dword [esp + 0x68], 0
je 0x10049001
mov ecx, dword [esp + 0x68]
cmp byte [ebx], 0x6b
jne 0x100490cc
xor edx, edx
test ecx, ecx
sete dl
mov ecx, edx
movzx eax, byte [ebx + 1]
inc ebx
add eax, 0xffffffdc
mov dword [esp + 0x38], ebx
cmp eax, 3
ja case.default.0x100490e1
jmp dword [eax*4 + 0x1004f46c]
mov eax, 2
test ecx, ecx
jne 0x100490fb
jmp 0x100490f7
test ecx, ecx
je 0x10049136
movsx eax, byte [ebx + 1]
add ebx, eax
mov dword [esp + 0x38], ebx
mov esi, dword [edi]
dec dword [esi]
sub edi, 4
cmp dword [esi], 0
jg 0x1004ef8a
cmp dword [esi + 0xc], 0
je 0x1004ef5a
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004ef5a
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ef8a
mov eax, 2
jmp 0x100490fb
test ecx, ecx
je 0x100492dc
mov eax, 5
jmp 0x100490fb
test ecx, ecx
je 0x10049145
movsx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
shl eax, 8
or eax, edx
movzx edx, byte [ebx + 4]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x100490fb
mov eax, dword [esp + 0x74]
mov edi, dword [eax + ecx*4 + 4]
inc dword [edi]
mov dword [esp + 0x40], edi
jmp 0x1004e56b
mov esi, dword [edi]
mov eax, dword [edi - 4]
cmp eax, esi
jne 0x10049197
xor eax, eax
cmp cl, 0x49
jmp 0x1004928e
cmp dword [eax + 4], 0
je 0x100491b0
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov dword [esp + 0x238], ecx
mov dword [esp + 0x50], edx
jmp 0x100491c5
lea ecx, [esp + 0x238]
push ecx
push eax
call sym.tcl85.dll_Tcl_GetStringFromObj
add esp, 8
mov dword [esp + 0x50], eax
cmp dword [esi + 4], 0
je 0x100491da
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 0x20c], edx
jmp 0x100491eb
lea eax, [esp + 0x20c]
push eax
push esi
call sym.tcl85.dll_Tcl_GetStringFromObj
add esp, 8
mov ecx, dword [esp + 0x20c]
cmp dword [esp + 0x238], ecx
jne 0x10049289
cmp byte [ebx], 0x4a
mov esi, eax
mov eax, dword [esp + 0x50]
jne 0x10049250
lea ebx, [ebx]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10049239
test cl, cl
je 0x1004922c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10049239
add eax, 2
add esi, 2
test cl, cl
jne 0x10049210
xor eax, eax
xor edx, edx
test eax, eax
setne dl
mov eax, edx
jmp 0x10049291
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
test eax, eax
setne dl
mov eax, edx
jmp 0x10049291
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10049279
test cl, cl
je 0x1004926c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10049279
add eax, 2
add esi, 2
test cl, cl
jne 0x10049250
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x10049291
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x10049291
xor eax, eax
cmp byte [ebx], 0x4a
sete al
movzx ecx, byte [ebx + 1]
inc ebx
add ecx, 0xffffffdc
mov dword [esp + 0x38], ebx
cmp ecx, 3
ja case.default.0x100492a2
jmp dword [ecx*4 + 0x1004f47c]
test eax, eax
mov eax, 2
jne 0x100490fb
jmp 0x100490f7
test eax, eax
jmp 0x100490f5
test eax, eax
je 0x10049150
mov eax, 5
jmp 0x100490fb
test eax, eax
je 0x10049145
movsx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x100490fb
mov edx, dword [esp + 0x74]
mov edi, dword [edx + eax*4 + 4]
inc dword [edi]
mov dword [esp + 0x40], edi
jmp 0x1004e56b
mov eax, dword [edi]
mov esi, dword [edi - 4]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov dword [esp + 0x64], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x4c], ecx
cmp eax, 0x100d1604
jne 0x1004934e
lea ecx, [esi + 0x10]
mov dword [esp + 0x108], 1
mov dword [esp + 0xec], ecx
jmp 0x100493fa
cmp eax, 0x100d1618
jne 0x1004936f
lea edx, [esi + 0x10]
mov dword [esp + 0x108], 2
mov dword [esp + 0xec], edx
jmp 0x100493fa
cmp eax, 0x100d15f0
jne 0x100493ab
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
lea ecx, [esi + 0x10]
mov dword [esp + 0x108], eax
mov dword [esp + 0xec], ecx
jmp 0x100493f1
cmp eax, ecx
jne 0x100493b8
cmp dword [esi + 4], ecx
je case.0x100467a2.75
cmp dword [esi + 4], ecx
je 0x100493c6
cmp dword [esi + 8], ecx
je case.0x100467a2.75
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0xf0]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.100783c0
add esp, 8
test eax, eax
jne case.0x100467a2.75
mov eax, dword [esp + 0x108]
cmp eax, 5
je 0x10049b16
mov ecx, dword [esp + 0x48]
cmp esi, ecx
je 0x10049b27
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d1604
jne 0x10049442
mov esi, 1
mov edi, dword [esp + 0x48]
add edi, 0x10
mov dword [esp + 0x148], esi
mov dword [esp + 0x14c], edi
mov eax, dword [esp + 0x108]
dec eax
cmp eax, 3
ja case.default.0x10049b8d
jmp dword [eax*4 + 0x1004f48c]
cmp eax, 0x100d1618
jne 0x10049450
mov esi, 2
jmp 0x10049415
cmp eax, 0x100d15f0
jne 0x10049495
mov edi, dword [esp + 0x48]
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
add edi, 0x10
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], ecx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
mov esi, eax
neg esi
sbb esi, esi
neg esi
add esi, 4
mov dword [esp + 0x148], esi
mov dword [esp + 0x14c], edi
jmp 0x10049b5c
test eax, eax
jne 0x100494a2
cmp dword [ecx + 4], eax
je case.0x100467a2.75
mov ecx, dword [esp + 0x48]
cmp dword [ecx + 4], 0
je 0x100494ae
cmp dword [ecx + 8], 0
je case.0x100467a2.75
lea edx, [esp + 0x148]
push edx
lea eax, [esp + 0x150]
push eax
mov eax, dword [esp + 0x50]
xor ecx, ecx
call fcn.100783c0
add esp, 8
test eax, eax
je 0x10049b4e
mov eax, dword [edi]
mov esi, dword [edi - 4]
mov dword [esp + 0x50], eax
cmp esi, eax
jne 0x100494f6
xor eax, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], eax
jmp 0x100496df
mov ecx, dword [esi + 0xc]
cmp ecx, 0x100d2b14
jne 0x100495b7
cmp dword [eax + 0xc], 0x100d2b14
jne 0x100495b7
lea ecx, [esp + 0xac]
push ecx
push esi
call sym.tcl85.dll_Tcl_GetByteArrayFromObj
lea edx, [esp + 0xb8]
mov esi, eax
mov eax, dword [esp + 0x58]
push edx
push eax
call sym.tcl85.dll_Tcl_GetByteArrayFromObj
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
add esp, 0x10
cmp edx, ecx
jge 0x1004954b
mov ecx, edx
mov edx, eax
cmp ecx, 4
jb 0x10049566
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x1004956a
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x10049552
test ecx, ecx
je 0x100495b0
movzx edi, byte [edx]
movzx eax, byte [esi]
sub eax, edi
jne 0x100495a5
cmp ecx, 1
jbe 0x100495b0
movzx eax, byte [esi + 1]
movzx edi, byte [edx + 1]
sub eax, edi
jne 0x100495a5
cmp ecx, 2
jbe 0x100495b0
movzx eax, byte [esi + 2]
movzx edi, byte [edx + 2]
sub eax, edi
jne 0x100495a5
cmp ecx, 3
jbe 0x100495b0
movzx eax, byte [esi + 3]
movzx ecx, byte [edx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x100496d4
xor eax, eax
jmp 0x100496d4
cmp ecx, 0x100d0a5c
jne 0x1004965f
cmp dword [eax + 0xc], 0x100d0a5c
jne 0x1004965f
push esi
call sym.tcl85.dll_Tcl_GetCharLength
mov edi, dword [esp + 0x54]
add esp, 4
push edi
mov dword [esp + 0xb0], eax
call sym.tcl85.dll_Tcl_GetCharLength
mov ecx, dword [esp + 0xb0]
add esp, 4
mov dword [esp + 0xb0], eax
cmp ecx, dword [esi + 8]
jne 0x1004963d
cmp eax, dword [edi + 8]
jne 0x1004963d
cmp ecx, eax
jl 0x1004960b
mov ecx, eax
mov edx, dword [edi + 4]
mov esi, dword [esi + 4]
cmp ecx, 4
jb 0x10049566
lea ebx, [ebx]
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x1004956a
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x10049620
jmp 0x10049566
cmp ecx, eax
jge 0x10049643
mov eax, ecx
push eax
push edi
call sym.tcl85.dll_Tcl_GetUnicode
add esp, 4
push eax
push esi
call sym.tcl85.dll_Tcl_GetUnicode
add esp, 4
push eax
call sym.tcl85.dll_Tcl_UniCharNcmp
jmp 0x100496d1
cmp dword [esi + 4], 0
je 0x10049674
mov edi, dword [esi + 8]
mov esi, dword [esi + 4]
mov dword [esp + 0xac], edi
jmp 0x10049692
lea edx, [esp + 0xac]
push edx
push esi
call sym.tcl85.dll_Tcl_GetStringFromObj
mov edi, dword [esp + 0xb4]
mov esi, eax
mov eax, dword [esp + 0x58]
add esp, 8
cmp dword [eax + 4], 0
je 0x100496a7
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0xb0], ecx
jmp 0x100496c3
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0xb0]
push eax
push ecx
call sym.tcl85.dll_Tcl_GetStringFromObj
mov ecx, dword [esp + 0xb8]
add esp, 8
cmp edi, ecx
jge 0x100496c9
mov ecx, edi
push ecx
push eax
push esi
call sym.tcl85.dll_TclpUtfNcmp2
add esp, 0xc
test eax, eax
jne 0x100496e6
mov eax, dword [esp + 0xac]
sub eax, dword [esp + 0xb0]
mov cl, byte [ebx]
cmp cl, 0x4b
je case.default.0x100496f8
movzx ecx, cl
add ecx, 0xffffffd3
cmp ecx, 5
ja case.default.0x100496f8
jmp dword [ecx*4 + 0x1004f49c]
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp case.default.0x100496f8
xor ecx, ecx
test eax, eax
setne cl
jmp 0x10049739
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp case.default.0x100496f8
xor ecx, ecx
test eax, eax
setg cl
jmp 0x10049739
xor edx, edx
test eax, eax
setle dl
mov eax, edx
jmp case.default.0x100496f8
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
test eax, eax
jl 0x1004acee
mov edx, dword [esp + 0x74]
xor ecx, ecx
test eax, eax
setg cl
mov edi, dword [edx + ecx*4 + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov edi, dword [edi]
cmp dword [edi + 0xc], 0x100d2b14
jne 0x10049780
lea eax, [esp + 0x27c]
push eax
push edi
call sym.tcl85.dll_Tcl_GetByteArrayFromObj
add esp, 8
jmp 0x10049790
push edi
call sym.tcl85.dll_Tcl_GetCharLength
add esp, 4
mov dword [esp + 0x27c], eax
mov edi, dword [0x100d3554]
test edi, edi
jne 0x100497a5
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x27c]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], edx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [0x100d3554], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov eax, dword [edi]
mov edi, dword [edi - 4]
cmp dword [edi + 0xc], 0x100d2b14
mov dword [esp + 0x6c], 0
mov dword [esp + 0x64], eax
jne 0x10049816
lea ecx, [esp + 0x178]
push ecx
push edi
call sym.tcl85.dll_Tcl_GetByteArrayFromObj
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x180]
add esp, 8
jmp 0x10049826
push edi
call sym.tcl85.dll_Tcl_GetCharLength
add esp, 4
mov dword [esp + 0x178], eax
mov ecx, dword [esp + 0x64]
cmp dword [ecx + 0xc], 0x100d1604
jne 0x10049847
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x44], 0
jmp 0x10049875
lea edx, [esp + 0x210]
push edx
dec eax
push eax
push ecx
push esi
call sym.tcl85.dll_TclGetIntForIndex
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004e1b4
mov ecx, dword [esp + 0x210]
mov eax, dword [esp + 0x178]
test ecx, ecx
jl 0x10049923
cmp ecx, eax
jge 0x10049923
cmp dword [edi + 0xc], 0x100d2b14
jne 0x100498b1
mov eax, dword [esp + 0x6c]
add ecx, eax
push 1
push ecx
call sym.tcl85.dll_Tcl_NewByteArrayObj
mov edi, eax
inc dword [edi]
add esp, 8
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp dword [edi + 4], 0
je 0x100498de
cmp eax, dword [edi + 8]
jne 0x100498de
mov edx, dword [edi + 4]
add edx, ecx
push 1
push edx
call sym.tcl85.dll_Tcl_NewStringObj
mov edi, eax
inc dword [edi]
add esp, 8
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
lea eax, [esp + 0x294]
push eax
push ecx
push edi
call sym.tcl85.dll_Tcl_GetUniChar
movzx ecx, ax
add esp, 8
push ecx
call sym.tcl85.dll_Tcl_UniCharToUtf
push eax
lea edx, [esp + 0x2a0]
push edx
mov dword [esp + 0x188], eax
call sym.tcl85.dll_Tcl_NewStringObj
mov edi, eax
inc dword [edi]
add esp, 0x10
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov edi, dword [0x100d3554]
test edi, edi
jne 0x10049938
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov eax, dword [edi + 0x10]
mov ecx, dword [0x100d15c4]
mov dword [0x100d3554], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov esi, dword [edi]
movsx ecx, byte [ebx + 1]
mov eax, dword [esi + 0xc]
mov edi, dword [edi - 4]
mov dword [esp + 0x6c], ecx
cmp eax, 0x100d0a5c
je 0x10049a6d
cmp dword [edi + 0xc], 0x100d0a5c
je 0x10049a6d
cmp eax, 0x100d2b14
jne 0x100499ed
test ecx, ecx
jne 0x100499ed
lea edx, [esp + 0x2e4]
push edx
push esi
call sym.tcl85.dll_Tcl_GetByteArrayFromObj
mov esi, eax
lea eax, [esp + 0x2e4]
push eax
push edi
call sym.tcl85.dll_Tcl_GetByteArrayFromObj
mov ecx, dword [esp + 0x2ec]
mov edx, dword [esp + 0x2f4]
push 0
push ecx
push eax
push edx
push esi
call fcn.10097540
mov ecx, dword [esp + 0x98]
mov edi, dword [ecx + eax*4 + 4]
inc dword [edi]
add esp, 0x24
add ebx, 2
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp dword [edi + 4], 0
je 0x100499f8
mov edi, dword [edi + 4]
jmp 0x10049a03
push edi
call sym.tcl85.dll_Tcl_GetString
add esp, 4
mov edi, eax
cmp dword [esi + 4], 0
je 0x10049a38
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + 4]
push ecx
push edi
push eax
call sym.tcl85.dll_Tcl_StringCaseMatch
mov ecx, dword [esp + 0x80]
mov edi, dword [ecx + eax*4 + 4]
inc dword [edi]
add esp, 0xc
add ebx, 2
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
push esi
call sym.tcl85.dll_Tcl_GetString
mov ecx, dword [esp + 0x70]
add esp, 4
push ecx
push edi
push eax
call sym.tcl85.dll_Tcl_StringCaseMatch
mov ecx, dword [esp + 0x80]
mov edi, dword [ecx + eax*4 + 4]
inc dword [edi]
add esp, 0xc
add ebx, 2
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
lea edx, [esp + 0x2fc]
push edx
push esi
call sym.tcl85.dll_Tcl_GetUnicodeFromObj
mov esi, eax
lea eax, [esp + 0x2fc]
push eax
push edi
call sym.tcl85.dll_Tcl_GetUnicodeFromObj
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x304]
push ecx
push edx
push eax
mov eax, dword [esp + 0x318]
push eax
push esi
call sym.tcl85.dll_TclUniCharMatch
mov ecx, dword [esp + 0x98]
mov edi, dword [ecx + eax*4 + 4]
inc dword [edi]
add esp, 0x24
add ebx, 2
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
movsx eax, byte [ebx + 1]
mov edx, dword [edi]
mov edi, dword [edi - 4]
push eax
push edi
push esi
mov dword [esp + 0x70], edx
call sym.tcl85.dll_Tcl_GetRegExpFromObj
add esp, 0xc
test eax, eax
je 0x10049b34
mov ecx, dword [esp + 0x64]
push 0
push 0
push 0
push ecx
push eax
push esi
call sym.tcl85.dll_Tcl_RegExpExecObj
add esp, 0x18
test eax, eax
jl 0x10049b34
mov edx, dword [esp + 0x74]
mov edi, dword [edx + eax*4 + 4]
inc dword [edi]
add ebx, 2
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
xor eax, eax
cmp byte [ebx], 0x2e
sete al
mov dword [esp + 0x54], eax
jmp case.default.0x1004a1ad
mov dword [esp + 0x4c], 0
jmp case.default.0x10049b8d
push esi
call sym.tcl85.dll_Tcl_GetObjResult
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
mov esi, dword [esp + 0x148]
mov edi, dword [esp + 0x14c]
cmp esi, 5
jne 0x1004942a
xor ecx, ecx
cmp byte [ebx], 0x2e
sete cl
mov dword [esp + 0x54], ecx
jmp case.default.0x1004a1ad
mov edx, dword [esp + 0xec]
mov eax, dword [edx]
dec esi
mov dword [esp + 0x64], eax
cmp esi, 3
ja case.default.0x10049b8d
jmp dword [esi*4 + 0x1004f4b4]
mov edi, dword [edi]
cmp eax, edi
jge 0x10049ba7
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x10049b8d
xor ecx, ecx
cmp eax, edi
setg cl
mov dword [esp + 0x4c], ecx
jmp case.default.0x10049b8d
mov esi, dword [edi]
mov edi, dword [edi + 4]
cdq
mov ecx, edx
jmp 0x10049e97
fild dword [esp + 0x64]
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0xc8], edx
fstp qword [esp + 0xf0]
mov dword [esp + 0xcc], eax
jmp 0x1004a0f5
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x1c8]
push ecx
push edx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
lea eax, [esp + 0x1c8]
push 0
push eax
call sym.tcl85.dll_TclBN_mp_cmp_d
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
lea edx, [esp + 0x1d0]
push edx
lea ecx, [ecx + ecx - 1]
mov dword [esp + 0x58], ecx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 0xc
jmp case.default.0x10049b8d
mov eax, dword [esp + 0xec]
mov ecx, dword [eax]
mov dword [esp + 0x110], ecx
mov ecx, dword [eax + 4]
dec esi
mov dword [esp + 0x114], ecx
cmp esi, 3
ja case.default.0x10049b8d
jmp dword [esi*4 + 0x1004f4c4]
mov esi, dword [edi]
mov edi, dword [edi + 4]
jmp 0x10049e9e
mov eax, dword [edi]
cdq
mov esi, eax
mov edi, edx
jmp 0x10049e9e
fild qword [esp + 0x110]
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov dword [esp + 0xc8], esi
fstp qword [esp + 0xf0]
mov dword [esp + 0xcc], edi
fld qword [esp + 0xf0]
call fcn.100b2576
cmp dword [esp + 0x110], eax
jne 0x10049cb6
cmp dword [esp + 0x114], edx
je 0x1004a0f5
lea edx, [esp + 0x2e8]
push edx
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
call dword [sym.imp.MSVCR90.dll_modf]
fcomp qword [0x100c8218]
add esp, 0xc
fnstsw ax
test ah, 0x44
jp 0x1004a0f5
fld qword [0x100c82b0]
fld qword [esp + 0xc8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10049d09
fstp st(0)
mov dword [esp + 0x4c], 1
jmp case.default.0x10049b8d
fld qword [0x100c82a8]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x10049d27
fstp st(0)
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x10049b8d
call fcn.100b2576
mov ecx, dword [esp + 0x114]
mov esi, eax
mov edi, edx
jmp 0x10049e9e
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x1c8]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
push 0
lea edx, [esp + 0x1cc]
push edx
call sym.tcl85.dll_TclBN_mp_cmp_d
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
push edx
lea ecx, [ecx + ecx - 1]
mov dword [esp + 0x58], ecx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 0xc
jmp case.default.0x10049b8d
mov eax, dword [esp + 0xec]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
dec esi
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edx
cmp esi, 3
ja case.default.0x10049b8d
jmp dword [esi*4 + 0x1004f4d4]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
jmp 0x1004a0f5
fild dword [edi]
fstp qword [esp + 0xc8]
jmp 0x1004a0f5
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov dword [esp + 0x388], esi
mov dword [esp + 0x38c], edi
fild qword [esp + 0x388]
fstp qword [esp + 0xc8]
fld qword [esp + 0xc8]
call fcn.100b2576
cmp esi, eax
jne 0x10049e0a
cmp edi, edx
je 0x1004a0f5
mov ecx, dword [esp + 0xf0]
lea edx, [esp + 0x2e8]
push edx
mov edx, dword [esp + 0xf8]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll_modf]
fcomp qword [0x100c8218]
add esp, 0xc
fnstsw ax
test ah, 0x44
jp 0x1004a0f5
fld qword [0x100c82b0]
fld qword [esp + 0xf0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10049e6b
fstp st(0)
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x10049b8d
fld qword [0x100c82a8]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x10049e89
fstp st(0)
mov dword [esp + 0x4c], 1
jmp case.default.0x10049b8d
call fcn.100b2576
mov dword [esp + 0x114], edx
mov ecx, edx
mov dword [esp + 0x110], eax
cmp ecx, edi
jg 0x10049ed1
jl 0x10049ead
cmp dword [esp + 0x110], esi
jae 0x10049eba
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x10049b8d
cmp ecx, edi
jl 0x10049b27
jg 0x10049ed1
cmp dword [esp + 0x110], esi
jbe 0x10049b27
mov dword [esp + 0x4c], 1
jmp case.default.0x10049b8d
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xf4]
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
call dword [sym.imp.MSVCR90.dll__finite]
add esp, 8
test eax, eax
jne 0x10049f24
fldz
fcomp qword [esp + 0xf0]
fnstsw ax
test ah, 5
jp 0x10049b9a
mov dword [esp + 0x4c], 1
jmp case.default.0x10049b8d
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x1c8]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
fld qword [0x100c8278]
fld qword [esp + 0xfc]
add esp, 0xc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x10049f65
fcomp qword [0x100c8290]
fnstsw ax
test ah, 0x41
jne 0x10049f67
jmp 0x10049d53
fstp st(0)
lea eax, [esp + 0x2e8]
push eax
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
call dword [sym.imp.MSVCR90.dll_modf]
fcomp qword [0x100c8218]
add esp, 0xc
fnstsw ax
test ah, 0x44
jnp 0x10049fb3
lea ecx, [esp + 0x1c8]
push ecx
call fcn.1008eeb0
fstp qword [esp + 0xcc]
add esp, 4
lea edx, [esp + 0x1c8]
push edx
jmp 0x1004a0ed
lea eax, [esp + 0x284]
push eax
sub esp, 8
mov eax, esp
mov dword [eax], esi
push 0
mov dword [eax + 4], edi
call sym.tcl85.dll_Tcl_InitBignumFromDouble
add esp, 0x10
jmp 0x1004a169
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x284]
push ecx
push edx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
dec esi
add esp, 0xc
cmp esi, 3
ja case.default.0x10049b8d
jmp dword [esi*4 + 0x1004f4e4]
lea eax, [esp + 0x284]
push 0
push eax
call sym.tcl85.dll_TclBN_mp_cmp_d
lea ecx, [esp + 0x28c]
push ecx
mov dword [esp + 0x58], eax
call sym.tcl85.dll_TclBN_mp_clear
add esp, 0xc
jmp case.default.0x10049b8d
mov esi, dword [edi]
mov edi, dword [edi + 4]
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], edi
mov dword [eax + 4], edi
call dword [sym.imp.MSVCR90.dll__finite]
add esp, 8
test eax, eax
jne 0x1004a07a
fldz
mov dword [esp + 0x4c], 0xffffffff
fcomp qword [esp + 0xc8]
fnstsw ax
test ah, 5
jnp 0x1004a06e
mov dword [esp + 0x4c], 1
lea edx, [esp + 0x284]
jmp 0x1004a199
fld qword [0x100c8278]
fld qword [esp + 0xc8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1004a0a4
fcomp qword [0x100c8290]
fnstsw ax
test ah, 0x41
jne 0x1004a0a6
jmp case.0x10049ff5.1
fstp st(0)
lea edx, [esp + 0x2e8]
push edx
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
call dword [sym.imp.MSVCR90.dll_modf]
fcomp qword [0x100c8218]
add esp, 0xc
fnstsw ax
test ah, 0x44
jnp 0x1004a134
lea eax, [esp + 0x284]
push eax
call fcn.1008eeb0
fstp qword [esp + 0xf4]
add esp, 4
lea ecx, [esp + 0x284]
push ecx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
fld qword [esp + 0xc8]
fld qword [esp + 0xf0]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1004a11d
fstp st(0)
mov dword [esp + 0x4c], 0xffffffff
fstp st(0)
jmp case.default.0x10049b8d
fcompp
fnstsw ax
test ah, 0x41
jne 0x10049b27
mov dword [esp + 0x4c], 1
jmp case.default.0x10049b8d
lea edx, [esp + 0x1c8]
push edx
sub esp, 8
mov eax, esp
mov dword [eax], esi
push 0
mov dword [eax + 4], edi
call sym.tcl85.dll_Tcl_InitBignumFromDouble
add esp, 0x10
jmp 0x1004a169
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x1c8]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
lea edx, [esp + 0x1c8]
push edx
lea eax, [esp + 0x288]
push eax
call sym.tcl85.dll_TclBN_mp_cmp
lea ecx, [esp + 0x28c]
push ecx
mov dword [esp + 0x58], eax
call sym.tcl85.dll_TclBN_mp_clear
add esp, 0xc
lea edx, [esp + 0x1c8]
push edx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
movzx eax, byte [ebx]
add eax, 0xffffffd3
cmp eax, 5
ja case.default.0x1004a1ad
jmp dword [eax*4 + 0x1004f4f4]
xor eax, eax
cmp dword [esp + 0x4c], eax
sete al
mov dword [esp + 0x54], eax
jmp case.default.0x1004a1ad
xor ecx, ecx
cmp dword [esp + 0x4c], ecx
setne cl
mov dword [esp + 0x54], ecx
jmp case.default.0x1004a1ad
xor edx, edx
cmp dword [esp + 0x4c], 0xffffffff
sete dl
jmp 0x1004a208
xor eax, eax
cmp dword [esp + 0x4c], 1
sete al
mov dword [esp + 0x54], eax
jmp case.default.0x1004a1ad
xor ecx, ecx
cmp dword [esp + 0x4c], 1
setne cl
mov dword [esp + 0x54], ecx
jmp case.default.0x1004a1ad
xor edx, edx
cmp dword [esp + 0x4c], 0xffffffff
setne dl
mov dword [esp + 0x54], edx
movzx eax, byte [ebx + 1]
inc ebx
add eax, 0xffffffdc
mov dword [esp + 0x38], ebx
cmp eax, 3
ja case.default.0x1004a221
jmp dword [eax*4 + 0x1004f50c]
cmp dword [esp + 0x54], 0
mov eax, 2
jne 0x1004a238
movsx eax, byte [ebx + 1]
mov edi, dword [esp + 0x3c]
jmp 0x100490fb
cmp dword [esp + 0x54], 0
je 0x1004a255
movsx eax, byte [ebx + 1]
mov edi, dword [esp + 0x3c]
jmp 0x100490fb
mov edi, dword [esp + 0x3c]
mov eax, 2
jmp 0x100490fb
cmp dword [esp + 0x54], 0
je 0x1004a278
mov edi, dword [esp + 0x3c]
mov eax, 5
jmp 0x100490fb
movsx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx + 3]
mov edi, dword [esp + 0x3c]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x100490fb
cmp dword [esp + 0x54], 0
je 0x1004a2cf
movsx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
mov edi, dword [esp + 0x3c]
shl eax, 8
or eax, edx
movzx edx, byte [ebx + 4]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
jmp 0x100490fb
mov edi, dword [esp + 0x3c]
mov eax, 5
jmp 0x100490fb
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x54]
mov edi, dword [eax + ecx*4 + 4]
inc dword [edi]
mov dword [esp + 0x40], edi
jmp 0x1004e56b
mov esi, dword [edi - 4]
mov eax, dword [esi + 0xc]
mov edx, dword [edi]
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], esi
cmp eax, 0x100d1604
jne 0x1004a325
add esi, 0x10
mov dword [esp + 0x104], 1
mov dword [esp + 0xc4], esi
jmp 0x1004a3dc
cmp eax, 0x100d1618
jne 0x1004a346
add esi, 0x10
mov dword [esp + 0x104], 2
mov dword [esp + 0xc4], esi
jmp 0x1004a3dc
cmp eax, 0x100d15f0
jne 0x1004a382
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
lea ecx, [esi + 0x10]
mov dword [esp + 0x104], eax
mov dword [esp + 0xc4], ecx
jmp 0x1004a3ca
test eax, eax
jne 0x1004a38f
cmp dword [esi + 4], eax
je 0x1004d1a5
cmp dword [esi + 4], 0
je 0x1004a39f
cmp dword [esi + 8], 0
je 0x1004d1a5
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0xc8]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.100783c0
add esp, 8
test eax, eax
jne 0x1004d1a5
mov eax, dword [esp + 0x104]
cmp eax, 4
je 0x1004d1a5
cmp eax, 5
je 0x1004d1a5
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d1604
jne 0x1004a40f
mov edx, ecx
mov esi, 1
add edx, 0x10
mov dword [esp + 0x154], esi
mov dword [esp + 0xa4], edx
mov dword [esp + 0x44], 0
jmp 0x1004a4ee
cmp eax, 0x100d1618
jne 0x1004a43d
mov eax, dword [esp + 0x54]
mov esi, 2
add eax, 0x10
mov dword [esp + 0x154], esi
mov dword [esp + 0xa4], eax
mov dword [esp + 0x44], 0
jmp 0x1004a4ee
cmp eax, 0x100d15f0
jne 0x1004a48e
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
add eax, 0x10
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
mov esi, eax
mov eax, dword [esp + 0x5c]
add esp, 8
neg esi
sbb esi, esi
neg esi
add esi, 4
add eax, 0x10
mov dword [esp + 0x154], esi
mov dword [esp + 0xa4], eax
mov dword [esp + 0x44], 0
jmp 0x1004a4dc
test eax, eax
jne 0x1004a49b
cmp dword [ecx + 4], eax
je 0x1004af5c
cmp dword [ecx + 4], 0
je 0x1004a4ab
cmp dword [ecx + 8], 0
je 0x1004af5c
lea eax, [esp + 0x154]
push eax
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xa8]
push ecx
xor ecx, ecx
call fcn.100783c0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004af5c
mov esi, dword [esp + 0x154]
cmp esi, 4
je 0x1004af5c
cmp esi, 5
je 0x1004af5c
cmp byte [ebx], 0x39
jne 0x1004a9f3
xor ecx, ecx
cmp esi, 1
jne 0x1004a533
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx]
test ecx, ecx
je 0x1004effe
cmp ecx, esi
je 0x1004a518
cmp ecx, 0xffffffff
jne 0x1004a52f
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x104]
cmp eax, 1
jne 0x1004a6d1
mov edx, dword [esp + 0xc4]
mov edi, dword [edx]
test edi, edi
jne 0x1004a567
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp esi, 1
jne 0x1004a5de
mov eax, edi
cdq
idiv ecx
test eax, eax
jl 0x1004a587
jne 0x1004a591
test edi, edi
jge 0x1004a581
test ecx, ecx
jg 0x1004a587
test edi, edi
jle 0x1004a591
test ecx, ecx
jge 0x1004a591
mov edx, eax
imul edx, ecx
cmp edx, edi
je 0x1004a591
dec eax
imul eax, ecx
sub edi, eax
mov esi, edi
cmp dword [0x100d3554], 0
jne 0x1004a5a6
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [0x100d3554], ecx
mov dword [eax], esi
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp esi, 2
jne 0x1004a634
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 4]
mov esi, dword [eax]
test ecx, ecx
jl 0x1004a600
jg 0x1004a5f9
test esi, esi
jbe 0x1004a600
mov eax, 1
jmp 0x1004a602
xor eax, eax
xor edx, edx
test edi, edi
setg dl
xor edx, eax
je 0x1004a6c3
mov eax, edi
cdq
add eax, esi
adc edx, ecx
push edx
push eax
call sym.tcl85.dll_Tcl_NewWideIntObj
mov edi, eax
inc dword [edi]
add esp, 8
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x350]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
xor edx, edx
add esp, 0xc
cmp dword [esp + 0x358], edx
sete dl
xor eax, eax
test edi, edi
setg al
xor edx, eax
je 0x1004a6b3
mov eax, edi
lea edi, [esp + 0x3f0]
call fcn.10090ce0
lea ecx, [esp + 0x350]
push ecx
mov edx, edi
push edx
mov eax, ecx
push eax
call sym.tcl85.dll_TclBN_mp_add
mov ecx, edi
add esp, 0xc
push ecx
call sym.tcl85.dll_TclBN_mp_clear
lea edx, [esp + 0x354]
add esp, 4
push edx
call sym.tcl85.dll_Tcl_NewBignumObj
mov edi, eax
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
lea eax, [esp + 0x350]
push eax
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
mov edi, dword [esp + 0x3c]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
cmp eax, 2
jne 0x1004a8ac
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x25c], ecx
cmp esi, 3
je 0x1004a7f6
lea edx, [esp + 0x130]
push edx
push eax
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x268]
add esp, 0xc
push ecx
push edx
push eax
push edi
call fcn.100b2490
mov esi, edx
mov dword [esp + 0x1d8], eax
test esi, esi
jl 0x1004a790
jg 0x1004a73e
test eax, eax
jb 0x1004a790
mov ecx, dword [esp + 0x1d8]
or ecx, esi
jne 0x1004a7c6
mov eax, dword [esp + 0x25c]
test eax, eax
jg 0x1004a77a
jl 0x1004a75a
test edi, edi
jae 0x1004a770
cmp dword [esp + 0x134], 0
jg 0x1004a790
jl 0x1004a770
cmp dword [esp + 0x130], 0
ja 0x1004a790
test eax, eax
jl 0x1004a7c6
jg 0x1004a77a
test edi, edi
jbe 0x1004a7c6
cmp dword [esp + 0x134], 0
jg 0x1004a7c6
jl 0x1004a790
cmp dword [esp + 0x130], 0
jae 0x1004a7c6
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x1d8]
push edx
push eax
push esi
push ecx
call fcn.100b2450
cmp eax, edi
jne 0x1004a7bb
cmp edx, dword [esp + 0x25c]
je 0x1004a7c6
add dword [esp + 0x1d8], 0xffffffff
adc esi, 0xffffffff
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x1d8]
push edx
push eax
push esi
push ecx
call fcn.100b2450
sub edi, eax
mov eax, dword [esp + 0x25c]
sbb eax, edx
push eax
push edi
jmp 0x1004a61a
lea edx, [esp + 0x360]
push edx
push eax
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
mov esi, dword [esp + 0x268]
add esp, 0xc
test esi, esi
jl 0x1004a821
jg 0x1004a81a
test edi, edi
jbe 0x1004a821
mov eax, 1
jmp 0x1004a823
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x368], ecx
sete cl
xor ecx, eax
je 0x1004a88e
push esi
push edi
lea eax, [esp + 0x428]
call fcn.10090d40
lea edx, [esp + 0x368]
push edx
lea eax, [esp + 0x42c]
push eax
mov ecx, edx
push ecx
call sym.tcl85.dll_TclBN_mp_add
lea edx, [esp + 0x434]
add esp, 0x14
push edx
call sym.tcl85.dll_TclBN_mp_clear
lea eax, [esp + 0x364]
add esp, 4
push eax
call sym.tcl85.dll_Tcl_NewBignumObj
mov edi, eax
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
lea ecx, [esp + 0x360]
push ecx
call sym.tcl85.dll_TclBN_mp_clear
mov edi, dword [esp + 0x40]
add esp, 4
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov esi, dword [esp + 0x48]
lea edx, [esp + 0x400]
push edx
push esi
push 0
call sym.tcl85.dll_Tcl_GetBignumFromObj
mov ecx, dword [esp + 0x60]
add esp, 0xc
lea eax, [esp + 0x3b0]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_GetBignumFromObj
lea edx, [esp + 0x30c]
add esp, 0xc
push edx
call sym.tcl85.dll_TclBN_mp_init
lea eax, [esp + 0x2b8]
add esp, 4
push eax
call sym.tcl85.dll_TclBN_mp_init
add esp, 4
lea ecx, [esp + 0x2b4]
push ecx
lea edx, [esp + 0x304]
push edx
lea eax, [esp + 0x3b8]
push eax
lea ecx, [esp + 0x40c]
push ecx
call sym.tcl85.dll_TclBN_mp_div
add esp, 0x10
cmp dword [esp + 0x2b4], 0
je 0x1004a96c
mov edx, dword [esp + 0x2bc]
cmp edx, dword [esp + 0x3b8]
je 0x1004a96c
lea eax, [esp + 0x300]
push eax
mov ecx, eax
push 1
push ecx
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0xc
lea edx, [esp + 0x2b4]
push edx
lea eax, [esp + 0x3b4]
push eax
mov ecx, edx
push ecx
call sym.tcl85.dll_TclBN_mp_add
add esp, 0xc
lea edx, [esp + 0x300]
push edx
lea eax, [esp + 0x2b8]
push eax
call sym.tcl85.dll_TclBN_mp_copy
lea ecx, [esp + 0x2bc]
push ecx
call sym.tcl85.dll_TclBN_mp_clear
lea edx, [esp + 0x40c]
add esp, 0xc
push edx
call sym.tcl85.dll_TclBN_mp_clear
lea eax, [esp + 0x3b4]
add esp, 4
push eax
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
cmp dword [esi], 1
jle 0x1004a9d8
lea ecx, [esp + 0x300]
push ecx
call sym.tcl85.dll_Tcl_NewBignumObj
mov edi, eax
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
lea edx, [esp + 0x300]
push edx
push esi
call sym.tcl85.dll_Tcl_SetBignumObj
add esp, 8
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov eax, esi
sub eax, 1
je 0x1004aa66
sub eax, 1
je 0x1004aa50
sub eax, 1
jne 0x1004aa9e
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x410]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
push 0
lea edx, [esp + 0x414]
push edx
call sym.tcl85.dll_TclBN_mp_cmp_d
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
push edx
mov dword [esp + 0x70], ecx
call sym.tcl85.dll_TclBN_mp_clear
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
add esp, 0xc
jmp 0x1004aa74
mov edx, dword [esp + 0xa4]
cmp dword [edx + 4], 0
jl 0x1004aa78
jg 0x1004aaa5
cmp dword [edx], 0
jb 0x1004aa78
jmp 0x1004aaa5
mov edx, dword [esp + 0xa4]
xor eax, eax
cmp dword [edx], eax
setl al
test eax, eax
je 0x1004aaa5
push 0xffffffffffffffff
push str.negative_shift_argument
call sym.tcl85.dll_Tcl_NewStringObj
push eax
mov eax, dword [ebp + 8]
push eax
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 0x10
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0xc4]
cmp eax, 1
jne 0x1004aad4
cmp dword [ecx], 0
jne 0x1004aad4
mov ecx, dword [esp + 0x74]
mov edi, dword [ecx + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp byte [ebx], 0x33
jne 0x1004ac7b
cmp esi, 1
jne 0x1004ac55
mov esi, dword [edx]
cmp esi, 0x7fffffff
jg 0x1004ac55
cmp eax, 1
jne 0x1004ab6a
cmp esi, 0x20
jae 0x1004ab73
mov eax, dword [ecx]
mov dword [esp + 0x50], eax
test eax, eax
je 0x1004ab73
jg 0x1004ab0c
not eax
mov ecx, 0x1f
sub ecx, esi
or edx, 0xffffffff
shl edx, cl
test eax, edx
jne 0x1004ab73
cmp dword [0x100d3554], 0
jne 0x1004ab2a
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x50]
lea eax, [edi + 0x10]
mov dword [0x100d3554], ecx
mov ecx, esi
shl edx, cl
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [esp + 0x40], edi
mov dword [eax], edx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp eax, 3
je 0x1004ae55
cmp esi, 0x40
jae 0x1004ae55
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x100d1618
jne 0x1004aba1
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], eax
jmp 0x1004abd8
cmp ecx, 0x100d1604
jne 0x1004abc1
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
jmp 0x1004abe6
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x138]
push edx
push eax
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
add esp, 0xc
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x138]
test edx, edx
jl 0x1004ac00
jg 0x1004abf0
test eax, eax
jbe 0x1004ac00
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], edx
jmp 0x1004ac14
not eax
mov dword [esp + 0x270], eax
mov eax, edx
not eax
mov dword [esp + 0x274], eax
or eax, 0xffffffff
mov ecx, 0x3f
sub ecx, esi
or edx, eax
call fcn.100b25f0
and eax, dword [esp + 0x270]
and edx, dword [esp + 0x274]
or eax, edx
jne 0x1004ae55
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x13c]
mov ecx, esi
call fcn.100b25f0
jmp 0x1004a618
push 0xffffffffffffffff
push str.integer_value_too_large_to_represent
call sym.tcl85.dll_Tcl_NewStringObj
mov ecx, dword [ebp + 8]
push eax
push ecx
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 0x10
mov dword [esp + 0x44], 1
jmp 0x1004e1bb
cmp esi, 1
jne 0x1004ac8e
mov esi, dword [edx]
cmp esi, 0x7fffffff
jle 0x1004ad4a
sub eax, 1
je 0x1004ad26
sub eax, 1
je 0x1004ace1
sub eax, 1
jne 0x1004acee
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x430]
push edx
push eax
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
lea ecx, [esp + 0x430]
push 0
push ecx
call sym.tcl85.dll_TclBN_mp_cmp_d
mov esi, eax
dec esi
neg esi
lea edx, [esp + 0x438]
sbb esi, esi
push edx
inc esi
call sym.tcl85.dll_TclBN_mp_clear
add esp, 0xc
jmp 0x1004ad2f
cmp dword [ecx + 4], 0
jg 0x1004ad33
jl 0x1004acee
cmp dword [ecx], 0
ja 0x1004ad33
cmp dword [0x100d3554], 0
jne 0x1004acfc
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov edx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d3554], edx
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], 0xffffffff
jmp 0x1004a5c7
xor eax, eax
cmp dword [ecx], eax
setg al
mov esi, eax
test esi, esi
je 0x1004acee
mov ecx, dword [esp + 0x74]
mov edi, dword [ecx + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp eax, 1
jne 0x1004ae11
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
cmp esi, 0x20
jb 0x1004adc3
test ecx, ecx
jl 0x1004ad79
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp dword [0x100d3554], 0
jne 0x1004ad87
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], 0xffffffff
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [0x100d3554], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp dword [0x100d3554], 0
jne 0x1004add1
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov edx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d3554], edx
mov edx, dword [esp + 0x50]
mov ecx, esi
sar edx, cl
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [esp + 0x40], edi
mov dword [eax], edx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp eax, 2
jne 0x1004ae55
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp esi, 0x40
jb 0x1004ae49
test edx, edx
jl 0x1004be82
jg 0x1004ae32
test eax, eax
jb 0x1004be82
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov ecx, esi
call fcn.100b2850
jmp 0x1004a618
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x3e0]
push edx
push eax
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
lea ecx, [esp + 0x31c]
add esp, 0xc
push ecx
call sym.tcl85.dll_TclBN_mp_init
add esp, 4
cmp byte [ebx], 0x33
jne 0x1004ae9c
lea edx, [esp + 0x310]
push edx
lea eax, [esp + 0x3e4]
push esi
push eax
call sym.tcl85.dll_TclBN_mp_mul_2d
add esp, 0xc
jmp 0x1004af06
lea ecx, [esp + 0x3d0]
push ecx
call sym.tcl85.dll_TclBN_mp_init
add esp, 4
lea edx, [esp + 0x3d0]
push edx
lea eax, [esp + 0x314]
push eax
lea ecx, [esp + 0x3e8]
push esi
push ecx
call sym.tcl85.dll_TclBN_mp_div_2d
push 0
lea edx, [esp + 0x3e4]
push edx
call sym.tcl85.dll_TclBN_mp_cmp_d
add esp, 0x18
cmp eax, 0xffffffff
jne 0x1004aef6
lea eax, [esp + 0x310]
push eax
mov ecx, eax
push 1
push ecx
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0xc
lea edx, [esp + 0x3d0]
push edx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
lea eax, [esp + 0x3e0]
push eax
call sym.tcl85.dll_TclBN_mp_clear
mov eax, dword [esp + 0x4c]
add esp, 4
cmp dword [eax], 1
jg 0x1004af3a
lea ecx, [esp + 0x310]
push ecx
push eax
call sym.tcl85.dll_Tcl_SetBignumObj
add esp, 8
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
lea edx, [esp + 0x310]
push edx
call sym.tcl85.dll_Tcl_NewBignumObj
mov edi, eax
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x44], 1
mov eax, dword [esp + 0x38]
mov ebx, dword [ebp + 8]
call fcn.1004f610
mov dword [esp + 0x5c], 1
jmp 0x1004e1bb
mov esi, dword [edi - 4]
mov eax, dword [esi + 0xc]
mov ecx, dword [edi]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], esi
cmp eax, 0x100d1604
jne 0x1004afbe
mov edi, 1
lea edx, [esi + 0x10]
mov dword [esp + 0x15c], edi
mov dword [esp + 0x17c], edx
jmp 0x1004b078
cmp eax, 0x100d1618
jne 0x1004afe0
mov edi, 2
lea eax, [esi + 0x10]
mov dword [esp + 0x15c], edi
mov dword [esp + 0x17c], eax
jmp 0x1004b078
cmp eax, 0x100d15f0
jne 0x1004b01e
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
mov edi, eax
add esp, 8
neg edi
sbb edi, edi
neg edi
add edi, 4
lea eax, [esi + 0x10]
mov dword [esp + 0x15c], edi
mov dword [esp + 0x17c], eax
jmp 0x1004b066
test eax, eax
jne 0x1004b02b
cmp dword [esi + 4], eax
je 0x1004d1a5
cmp dword [esi + 4], 0
je 0x1004b03b
cmp dword [esi + 8], 0
je 0x1004d1a5
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x180]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.100783c0
add esp, 8
test eax, eax
jne 0x1004d1a5
mov edi, dword [esp + 0x15c]
cmp edi, 5
je 0x1004d1a5
cmp edi, 4
je 0x1004d1a5
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d1604
jne 0x1004b0a9
mov eax, 1
add ecx, 0x10
mov dword [esp + 0x174], eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0x44], 0
jmp 0x1004b166
cmp eax, 0x100d1618
jne 0x1004b0b7
mov eax, 2
jmp 0x1004b08b
cmp eax, 0x100d15f0
jne 0x1004b106
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
add eax, 0x10
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], ecx
call dword [sym.imp.MSVCR90.dll__isnan]
mov ecx, dword [esp + 0x50]
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
add ecx, 0x10
mov dword [esp + 0x174], eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0x44], 0
jmp 0x1004b154
test eax, eax
jne 0x1004b113
cmp dword [ecx + 4], eax
je 0x1004b6ef
cmp dword [ecx + 4], 0
je 0x1004b123
cmp dword [ecx + 8], 0
je 0x1004b6ef
lea edx, [esp + 0x174]
push edx
lea eax, [esp + 0x188]
push eax
mov eax, dword [esp + 0x50]
xor ecx, ecx
call fcn.100783c0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004b6ef
mov eax, dword [esp + 0x174]
cmp eax, 5
je 0x1004b6ef
cmp eax, 4
je 0x1004b6ef
cmp edi, 3
je 0x1004b174
cmp eax, 3
jne 0x1004b4f0
lea ecx, [esp + 0x3c0]
push ecx
push esi
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
mov eax, dword [esp + 0x54]
add esp, 0xc
lea edx, [esp + 0x378]
push edx
push eax
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
lea ecx, [esp + 0x3c0]
push 0
push ecx
call sym.tcl85.dll_TclBN_mp_cmp_d
add esp, 8
push 0
lea edx, [esp + 0x37c]
push edx
cmp eax, 0xffffffff
je 0x1004b1db
call sym.tcl85.dll_TclBN_mp_cmp_d
xor ecx, ecx
add esp, 8
cmp eax, 0xffffffff
setne cl
lea edi, [esp + 0x3c0]
mov esi, edx
inc ecx
jmp 0x1004b1f9
lea edi, [esp + 0x380]
lea esi, [esp + 0x3c8]
call sym.tcl85.dll_TclBN_mp_cmp_d
xor ecx, ecx
add esp, 8
cmp eax, 0xffffffff
setne cl
lea edx, [esp + 0xb4]
push edx
mov dword [esp + 0x54], ecx
call sym.tcl85.dll_TclBN_mp_init
movzx eax, byte [ebx]
add esp, 4
sub eax, 0x2a
je 0x1004b3a3
sub eax, 1
je 0x1004b2f1
sub eax, 1
jne 0x1004b486
mov eax, dword [esp + 0x50]
sub eax, 0
je 0x1004b297
sub eax, 1
je 0x1004b259
sub eax, 1
jne 0x1004b486
lea eax, [esp + 0xb4]
push eax
push esi
push edi
call sym.tcl85.dll_TclBN_mp_and
add esp, 0xc
jmp 0x1004b486
push esi
push esi
call sym.tcl85.dll_TclBN_mp_neg
push esi
push 1
push esi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
lea ecx, [esp + 0xb4]
push ecx
push esi
push edi
call sym.tcl85.dll_TclBN_mp_xor
add esp, 0xc
lea edx, [esp + 0xb4]
push edx
mov eax, edx
push eax
push edi
call sym.tcl85.dll_TclBN_mp_and
add esp, 0xc
jmp 0x1004b486
push edi
push edi
call sym.tcl85.dll_TclBN_mp_neg
push edi
push 1
push edi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
push esi
push esi
call sym.tcl85.dll_TclBN_mp_neg
push esi
push 1
push esi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
lea ecx, [esp + 0xb4]
push ecx
push esi
push edi
call sym.tcl85.dll_TclBN_mp_or
add esp, 0xc
lea edx, [esp + 0xb4]
push edx
mov eax, edx
push eax
call sym.tcl85.dll_TclBN_mp_neg
lea ecx, [esp + 0xbc]
push ecx
push 1
mov edx, ecx
push edx
jmp 0x1004b47e
mov eax, dword [esp + 0x50]
sub eax, 0
je 0x1004b366
sub eax, 1
je 0x1004b31f
sub eax, 1
jne 0x1004b486
lea eax, [esp + 0xb4]
push eax
push esi
push edi
call sym.tcl85.dll_TclBN_mp_xor
add esp, 0xc
jmp 0x1004b486
push esi
push esi
call sym.tcl85.dll_TclBN_mp_neg
push esi
push 1
push esi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
lea ecx, [esp + 0xb4]
push ecx
push esi
push edi
call sym.tcl85.dll_TclBN_mp_xor
add esp, 0xc
lea edx, [esp + 0xb4]
push edx
mov eax, edx
push eax
call sym.tcl85.dll_TclBN_mp_neg
lea ecx, [esp + 0xbc]
push ecx
push 1
mov edx, ecx
push edx
jmp 0x1004b47e
push edi
push edi
call sym.tcl85.dll_TclBN_mp_neg
push edi
push 1
push edi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
push esi
push esi
call sym.tcl85.dll_TclBN_mp_neg
push esi
push 1
push esi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
lea eax, [esp + 0xb4]
push eax
push esi
push edi
call sym.tcl85.dll_TclBN_mp_xor
add esp, 0xc
jmp 0x1004b486
mov eax, dword [esp + 0x50]
sub eax, 0
je 0x1004b429
sub eax, 1
je 0x1004b3d1
sub eax, 1
jne 0x1004b486
lea ecx, [esp + 0xb4]
push ecx
push esi
push edi
call sym.tcl85.dll_TclBN_mp_or
add esp, 0xc
jmp 0x1004b486
push esi
push esi
call sym.tcl85.dll_TclBN_mp_neg
push esi
push 1
push esi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
lea edx, [esp + 0xb4]
push edx
push esi
push edi
call sym.tcl85.dll_TclBN_mp_xor
add esp, 0xc
lea eax, [esp + 0xb4]
push eax
mov ecx, eax
push ecx
push esi
call sym.tcl85.dll_TclBN_mp_and
add esp, 0xc
lea edx, [esp + 0xb4]
push edx
mov eax, edx
push eax
call sym.tcl85.dll_TclBN_mp_neg
lea ecx, [esp + 0xbc]
push ecx
push 1
mov edx, ecx
push edx
jmp 0x1004b47e
push edi
push edi
call sym.tcl85.dll_TclBN_mp_neg
push edi
push 1
push edi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
push esi
push esi
call sym.tcl85.dll_TclBN_mp_neg
push esi
push 1
push esi
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
lea eax, [esp + 0xb4]
push eax
push esi
push edi
call sym.tcl85.dll_TclBN_mp_and
add esp, 0xc
lea ecx, [esp + 0xb4]
push ecx
mov edx, ecx
push edx
call sym.tcl85.dll_TclBN_mp_neg
lea eax, [esp + 0xbc]
push eax
push 1
mov ecx, eax
push ecx
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
lea edx, [esp + 0x3c0]
push edx
call sym.tcl85.dll_TclBN_mp_clear
lea eax, [esp + 0x37c]
add esp, 4
push eax
call sym.tcl85.dll_TclBN_mp_clear
mov eax, dword [esp + 0x68]
add esp, 4
cmp dword [eax], 1
jle 0x1004b4d1
lea ecx, [esp + 0xb4]
push ecx
call sym.tcl85.dll_Tcl_NewBignumObj
mov edi, eax
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
lea edx, [esp + 0xb4]
push edx
push eax
call sym.tcl85.dll_Tcl_SetBignumObj
mov edi, dword [esp + 0x44]
add esp, 8
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
cmp edi, 2
je 0x1004b4fe
cmp eax, 2
jne 0x1004b612
mov eax, dword [esi + 0xc]
cmp eax, 0x100d1618
jne 0x1004b51e
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edi
jmp 0x1004b555
cmp eax, 0x100d1604
jne 0x1004b53b
mov eax, dword [esi + 0x10]
cdq
mov edi, edx
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edi
jmp 0x1004b555
lea ecx, [esp + 0x198]
push ecx
push esi
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
mov edi, dword [esp + 0x1a8]
add esp, 0xc
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d1618
jne 0x1004b579
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
jmp 0x1004b5b9
cmp eax, 0x100d1604
jne 0x1004b594
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
jmp 0x1004b5b9
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x1e8]
push edx
push eax
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
mov edx, dword [esp + 0x1f8]
mov eax, dword [esp + 0x1f4]
add esp, 0xc
movzx ecx, byte [ebx]
sub ecx, 0x2a
je 0x1004b5e7
sub ecx, 1
je 0x1004b5dc
sub ecx, 1
je 0x1004b5d1
xor eax, eax
xor edx, edx
jmp 0x1004b5f0
and eax, dword [esp + 0x198]
and edx, edi
jmp 0x1004b5f0
xor eax, dword [esp + 0x198]
xor edx, edi
jmp 0x1004b5f0
or eax, dword [esp + 0x198]
or edx, edi
cmp dword [esi], 1
push edx
push eax
jg 0x1004a61a
push esi
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov ecx, dword [esp + 0x17c]
mov edx, dword [ecx]
movzx ecx, byte [ebx]
sub ecx, 0x2a
mov eax, dword [esp + 0x184]
mov eax, dword [eax]
je 0x1004b648
sub ecx, 1
je 0x1004b644
sub ecx, 1
je 0x1004b640
mov dword [esp + 0x48], 0
jmp 0x1004b64e
and eax, edx
jmp 0x1004b64a
xor eax, edx
jmp 0x1004b64a
or eax, edx
mov dword [esp + 0x48], eax
cmp dword [esi], 1
jle 0x1004b69d
cmp dword [0x100d3554], 0
jne 0x1004b661
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x48]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], edx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [0x100d3554], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov eax, dword [esi + 4]
test eax, eax
je 0x1004b6bd
cmp eax, dword [0x100d15c4]
je 0x1004b6b6
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [esi + 4], 0
cmp dword [esi + 0xc], 0
je 0x1004b6d3
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x1004b6d3
push esi
call eax
add esp, 4
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
inc ebx
mov dword [esi + 0x10], edx
mov dword [esi + 0xc], 0x100d1604
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x48]
jmp 0x1004af6b
mov eax, dword [esp + 0x3c]
mov edi, dword [eax - 4]
mov esi, dword [eax]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], edi
cmp eax, 0x100d1604
jne 0x1004b738
lea ecx, [edi + 0x10]
mov dword [esp + 0x88], 1
mov dword [esp + 0x10c], ecx
jmp 0x1004b7ea
cmp eax, 0x100d1618
jne 0x1004b759
lea edx, [edi + 0x10]
mov dword [esp + 0x88], 2
mov dword [esp + 0x10c], edx
jmp 0x1004b7ea
cmp eax, 0x100d15f0
jne 0x1004b799
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
lea esi, [edi + 0x10]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
mov dword [esp + 0x10c], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x88], eax
jmp 0x1004b7e1
test eax, eax
jne 0x1004b7a6
cmp dword [edi + 4], eax
je 0x1004ca7b
cmp dword [edi + 4], 0
je 0x1004b7b6
cmp dword [edi + 8], 0
je 0x1004ca7b
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x110]
push ecx
mov eax, edi
xor ecx, ecx
call fcn.100783c0
add esp, 8
test eax, eax
jne 0x1004ca7b
mov eax, dword [esp + 0x88]
cmp eax, 5
je 0x1004ca7b
mov eax, dword [esi + 0xc]
cmp eax, 0x100d1604
jne 0x1004b81b
mov esi, 1
mov ecx, dword [esp + 0x54]
add ecx, 0x10
mov dword [esp + 0xdc], esi
mov dword [esp + 0x188], ecx
mov dword [esp + 0x44], 0
jmp 0x1004b8d6
cmp eax, 0x100d1618
jne 0x1004b829
mov esi, 2
jmp 0x1004b7f9
cmp eax, 0x100d15f0
jne 0x1004b87a
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
add eax, 0x10
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], ecx
call dword [sym.imp.MSVCR90.dll__isnan]
mov ecx, dword [esp + 0x5c]
add esp, 8
mov esi, eax
neg esi
sbb esi, esi
neg esi
add esi, 4
add ecx, 0x10
mov dword [esp + 0xdc], esi
mov dword [esp + 0x188], ecx
mov dword [esp + 0x44], 0
jmp 0x1004b8cd
test eax, eax
jne 0x1004b887
cmp dword [esi + 4], eax
je 0x1004ca6b
cmp dword [esi + 4], 0
je 0x1004b897
cmp dword [esi + 8], 0
je 0x1004ca6b
lea edx, [esp + 0xdc]
push edx
lea eax, [esp + 0x18c]
push eax
mov eax, esi
xor ecx, ecx
call fcn.100783c0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004ca6b
mov esi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x188]
cmp esi, 5
je 0x1004ca6b
mov edx, dword [esp + 0x88]
cmp edx, 4
je 0x1004b8eb
cmp esi, 4
jne 0x1004bb63
lea ecx, [esp + 0x1b0]
push ecx
push edi
xor esi, esi
push esi
call sym.tcl85.dll_Tcl_GetDoubleFromObj
mov eax, dword [esp + 0x60]
add esp, 0xc
lea edx, [esp + 0x1a8]
push edx
push eax
push esi
call sym.tcl85.dll_Tcl_GetDoubleFromObj
movzx eax, byte [ebx]
add eax, 0xffffffcb
add esp, 0xc
cmp eax, 0x2e
ja case.0x1004b92b.57
movzx ecx, byte [eax + 0x1004f534]
jmp dword [ecx*4 + 0x1004f51c]
fld qword [esp + 0x1a8]
fadd qword [esp + 0x1b0]
fstp qword [esp + 0x120]
jmp 0x1004ba56
fld qword [esp + 0x1b0]
fsub qword [esp + 0x1a8]
fstp qword [esp + 0x120]
jmp 0x1004ba56
fld qword [esp + 0x1a8]
fmul qword [esp + 0x1b0]
fstp qword [esp + 0x120]
jmp 0x1004ba56
fld qword [esp + 0x1b0]
fdiv qword [esp + 0x1a8]
fstp qword [esp + 0x120]
jmp 0x1004ba56
fldz
fcom qword [esp + 0x1b0]
fnstsw ax
test ah, 0x44
jp 0x1004ba05
fcomp qword [esp + 0x1a8]
fnstsw ax
test ah, 0x41
jne 0x1004ba07
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
push 0xffffffffffffffff
push str.exponentiation_of_zero_by_negative_power
mov dword [edx + 0x10], ecx
call sym.tcl85.dll_Tcl_NewStringObj
mov esi, dword [ebp + 8]
push eax
push esi
call sym.tcl85.dll_Tcl_SetObjResult
push 0
push str.exponentiation_of_zero_by_negative_power
push str.DOMAIN
push str.ARITH
push esi
call sym.tcl85.dll_Tcl_SetErrorCode
mov eax, 1
add esp, 0x24
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], eax
jmp 0x1004e1bb
fstp st(0)
mov edx, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x1b8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1bc]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], ecx
call sub.MSVCR90.dll_pow
fstp qword [esp + 0x130]
add esp, 0x10
jmp 0x1004ba56
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], esi
mov esi, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
test eax, eax
je 0x1004bab5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x124]
mov dword [ecx + 0x10], eax
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
push eax
call sym.tcl85.dll_TclExprFloatError
mov eax, 1
add esp, 0xc
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], eax
jmp 0x1004e1bb
cmp dword [edi], 1
jle 0x1004bb0b
mov edi, dword [0x100d3554]
test edi, edi
jne 0x1004bacf
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x124]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], esi
mov dword [eax + 4], edx
mov dword [edi + 0xc], 0x100d15f0
inc dword [edi]
inc ebx
mov dword [0x100d3554], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov eax, dword [edi + 4]
test eax, eax
je 0x1004bb2b
cmp eax, dword [0x100d15c4]
je 0x1004bb24
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 4], 0
cmp dword [edi + 0xc], 0
je 0x1004bb41
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x1004bb41
push edi
call eax
add esp, 4
mov edx, dword [esp + 0x124]
mov dword [edi + 0x10], esi
inc ebx
mov dword [edi + 0x14], edx
mov dword [edi + 0xc], 0x100d15f0
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov al, byte [ebx]
cmp al, 0x37
jne 0x1004bc6b
cmp edx, 1
jne 0x1004bc6b
cmp esi, edx
jne 0x1004bc6b
mov eax, dword [edi + 0xc]
cmp eax, 0x100d1618
jne 0x1004bb9e
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], ecx
jmp 0x1004bbcc
cmp eax, 0x100d1604
jne 0x1004bbb9
mov eax, dword [edi + 0x10]
cdq
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], edx
jmp 0x1004bbcc
lea edx, [esp + 0x1f0]
push edx
push edi
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
add esp, 0xc
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x100d1618
jne 0x1004bbf1
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], edx
jmp 0x1004bc24
cmp ecx, 0x100d1604
jne 0x1004bc0d
mov eax, dword [eax + 0x10]
cdq
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], edx
jmp 0x1004bc24
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x1e0]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
add esp, 0xc
mov edx, dword [esp + 0x1f4]
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1e4]
push edx
mov edx, dword [esp + 0x1e4]
push eax
push ecx
push edx
call fcn.100b2450
cmp dword [edi], 1
push edx
push eax
jg 0x1004a61a
push edi
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
cmp al, 0x63
jne 0x1004c4a8
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], eax
cmp esi, 1
jne 0x1004bcbe
mov edx, dword [ecx]
mov dword [esp + 0x4c], edx
test edx, edx
jne 0x1004bcab
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 8]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp edx, 1
jne 0x1004bcbe
mov edi, dword [esp + 0x3c]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov edx, esi
sub edx, 1
je 0x1004bdd8
sub edx, 1
je 0x1004bda5
sub edx, 1
jne 0x1004bd42
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x340]
push ecx
push edx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
lea eax, [esp + 0x340]
push 0
push eax
call sym.tcl85.dll_TclBN_mp_cmp_d
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
lea edx, [esp + 0x348]
push edx
mov eax, edx
push 1
push eax
mov dword [esp + 0x7c], ecx
call sym.tcl85.dll_TclBN_mp_mod_2d
xor ecx, ecx
add esp, 0x14
cmp dword [esp + 0x340], ecx
lea edx, [esp + 0x340]
setne cl
push edx
mov dword [esp + 0x4c], ecx
call sym.tcl85.dll_TclBN_mp_clear
mov eax, dword [esp + 0x54]
add esp, 4
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x88], 1
jne 0x1004bd5d
mov eax, dword [esp + 0x10c]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
cmp dword [esp + 0x68], 0
je 0x1004be35
cmp dword [esp + 0x88], 1
jne 0x1004aabd
cmp eax, 0xffffffff
je 0x1004bdf5
test eax, eax
je 0x1004b9b8
cmp dword [esp + 0x50], 1
je 0x1004bc94
mov ecx, dword [esp + 0x74]
mov edi, dword [ecx + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp dword [ecx + 4], 0
mov edx, dword [ecx]
jg 0x1004bdc4
jl 0x1004bdb3
test edx, edx
jae 0x1004bdc4
and edx, 1
mov dword [esp + 0x68], 1
mov dword [esp + 0x48], edx
jmp 0x1004bd46
and edx, 1
mov dword [esp + 0x68], 0
mov dword [esp + 0x48], edx
jmp 0x1004bd46
mov edx, dword [esp + 0x4c]
xor ecx, ecx
cmp dword [esp + 0x4c], ecx
setl cl
and edx, 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x68], ecx
jmp 0x1004bd46
test edx, edx
je 0x1004be1e
cmp dword [0x100d3554], 0
jne 0x1004be07
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d3554], ecx
jmp 0x1004ad0e
mov edx, dword [esp + 0x74]
mov edi, dword [edx + 8]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov ecx, dword [esp + 0x88]
cmp ecx, 1
jne 0x1004be52
cmp eax, 0xffffffff
je 0x1004be7e
test eax, eax
je 0x1004be67
cmp eax, ecx
je 0x1004bc94
cmp esi, 1
je 0x1004bee3
push 0xffffffffffffffff
push str.exponent_too_large
jmp 0x1004aa7f
mov edx, dword [esp + 0x74]
mov edi, dword [edx + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
test edx, edx
je 0x1004becc
cmp dword [0x100d3554], 0
jne 0x1004be90
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], 0xffffffff
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [0x100d3554], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov edx, dword [esp + 0x74]
mov edi, dword [edx + 8]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp ecx, 1
jne 0x1004c19f
cmp eax, 2
jne 0x1004bf69
mov eax, dword [esp + 0x4c]
cmp eax, 0x1f
jae 0x1004bf4b
cmp dword [0x100d3554], 0
jne 0x1004bf08
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d3554], ecx
mov ecx, dword [esp + 0x4c]
mov edx, 1
shl edx, cl
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [esp + 0x40], edi
mov dword [eax], edx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp eax, 0x3f
jae 0x1004c7ee
mov ecx, dword [esp + 0x4c]
mov eax, 1
xor edx, edx
call fcn.100b25f0
jmp 0x1004a618
cmp eax, 0xfffffffe
jne 0x1004c00a
xor eax, eax
test edx, edx
sete al
lea eax, [eax + eax - 1]
mov esi, eax
mov eax, dword [esp + 0x4c]
cmp eax, 0x1f
jae 0x1004bfdc
cmp dword [0x100d3554], 0
jne 0x1004bf96
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d3554], ecx
mov ecx, dword [esp + 0x4c]
mov edx, 1
shl edx, cl
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [esp + 0x40], edi
imul edx, esi
mov dword [eax], edx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
cmp eax, 0x3f
jae 0x1004c7ee
mov ecx, dword [esp + 0x4c]
mov eax, 1
xor edx, edx
call fcn.100b25f0
mov ecx, eax
mov edi, edx
mov eax, esi
cdq
push edx
push eax
push edi
push ecx
call fcn.100b2450
jmp 0x1004a618
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffffe
cmp ecx, 7
jge 0x1004c088
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffffe
mov ecx, dword [ecx*4 + 0x100b7d7c]
cmp eax, ecx
jg 0x1004c088
neg ecx
cmp eax, ecx
jl 0x1004c088
mov ecx, dword [esp + 0x4c]
mov esi, eax
add ecx, 0xfffffffd
imul esi, eax
cmp ecx, 5
ja case.default.0x1004c03f
jmp dword [ecx*4 + 0x1004f564]
imul esi, eax
jmp case.default.0x1004c03f
imul esi, eax
jmp case.0x1004c03f.4
imul esi, eax
mov ecx, esi
imul ecx, esi
imul ecx, eax
mov esi, ecx
jmp case.default.0x1004c03f
imul esi, esi
mov edx, esi
imul esi, edx
cmp dword [edi], 1
jg 0x1004a598
push esi
push edi
call sym.tcl85.dll_Tcl_SetLongObj
mov edi, dword [esp + 0x44]
add esp, 8
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
lea ecx, [eax - 3]
test ecx, ecx
jl 0x1004c11f
lea esi, [eax - 2]
cmp esi, 9
jge 0x1004c11f
mov esi, dword [esp + 0x4c]
add esi, 0xfffffffe
cmp esi, 0x28
jge 0x1004c11f
mov cx, word [ecx*2 + 0x100b7e74]
add cx, word [esp + 0x4c]
sub cx, 9
movzx esi, cx
lea ecx, [eax - 2]
cmp si, word [ecx*2 + 0x100b7e74]
jae 0x1004c11f
cmp dword [edi], 1
jle 0x1004c10f
cmp dword [0x100d3554], 0
jne 0x1004c0df
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov edx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [edi], 0
movzx ecx, si
mov dword [edi + 4], 0
mov dword [0x100d3554], edx
mov edx, dword [ecx*4 + 0x100b7e90]
mov dword [eax], edx
jmp 0x1004a5c7
movzx eax, si
mov ecx, dword [eax*4 + 0x100b7e90]
push ecx
jmp 0x1004c071
mov ecx, 0xfffffffd
sub ecx, eax
js 0x1004c194
mov ecx, 0xfffffffe
sub ecx, eax
cmp ecx, 9
jge 0x1004c194
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffffe
cmp ecx, 0x28
jge 0x1004c194
lea ecx, [eax + eax + 6]
mov esi, 0x100b7e74
sub esi, ecx
mov cx, word [esi]
add cx, word [esp + 0x4c]
lea eax, [eax + eax + 4]
sub cx, 9
movzx ecx, cx
mov esi, 0x100b7e74
sub esi, eax
cmp cx, word [esi]
jae 0x1004c194
test edx, edx
je 0x1004c17c
movzx ecx, cx
mov esi, dword [ecx*4 + 0x100b7e90]
neg esi
jmp 0x1004c186
movzx edx, cx
mov esi, dword [edx*4 + 0x100b7e90]
cmp dword [edi], 1
jle 0x1004c070
jmp 0x1004a598
mov eax, dword [esp + 0x50]
cdq
mov edi, eax
mov ebx, edx
jmp 0x1004c1b4
cmp ecx, 2
jne 0x1004c7ee
mov eax, dword [esp + 0x10c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov esi, dword [esp + 0x4c]
lea edx, [esi - 2]
cmp edx, 0xf
jge 0x1004c306
mov eax, dword [edx*8 + 0x100b7f1c]
cmp ebx, eax
mov ecx, dword [edx*8 + 0x100b7f18]
jg 0x1004c306
jl 0x1004c1e4
cmp edi, ecx
ja 0x1004c306
neg ecx
adc eax, 0
neg eax
cmp ebx, eax
jl 0x1004c306
jg 0x1004c1fd
cmp edi, ecx
jb 0x1004c306
push ebx
push edi
push ebx
push edi
call fcn.100b2450
mov ecx, eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffffd
mov esi, edx
cmp eax, 0xd
ja case.default.0x1004c21a
jmp dword [eax*4 + 0x1004f57c]
mov eax, dword [esp + 0x50]
push esi
cdq
push ecx
jmp 0x1004c2e0
push esi
push ecx
push esi
push ecx
jmp 0x1004c2e2
push esi
push ecx
push esi
push ecx
call fcn.100b2450
push ebx
push edi
jmp 0x1004c2e0
push ebx
push edi
push esi
push ecx
jmp 0x1004c2d9
push ebx
push edi
push esi
push ecx
call fcn.100b2450
push edx
push eax
push edx
push eax
call fcn.100b2450
push ebx
push edi
jmp 0x1004c2e0
push esi
push ecx
push esi
push ecx
jmp 0x1004c2d9
push esi
push ecx
jmp 0x1004c251
push esi
push ecx
push esi
push ecx
call fcn.100b2450
push ebx
push edi
jmp 0x1004c2d7
push esi
push ecx
push esi
push ecx
call fcn.100b2450
push ebx
push edi
push edx
push eax
jmp 0x1004c253
push ebx
push edi
jmp 0x1004c2ce
push ebx
push edi
push esi
push ecx
call fcn.100b2450
push edx
push eax
push edx
push eax
jmp 0x1004c253
push ebx
push edi
push esi
push ecx
call fcn.100b2450
push edx
push eax
push edx
push eax
call fcn.100b2450
push ebx
push edi
jmp 0x1004c2d7
push ebx
push edi
push esi
push ecx
call fcn.100b2450
push edx
push eax
push edx
push eax
call fcn.100b2450
push ebx
push edi
push edx
push eax
jmp 0x1004c253
push esi
push ecx
push esi
push ecx
call fcn.100b2450
push edx
push eax
push edx
push eax
call fcn.100b2450
push edx
push eax
push edx
push eax
call fcn.100b2450
mov esi, edx
mov ecx, eax
push esi
push ecx
call sym.tcl85.dll_Tcl_NewWideIntObj
mov edi, eax
inc dword [edi]
add esp, 8
inc dword [esp + 0x38]
mov dword [esp + 0x40], edi
jmp 0x1004e567
mov eax, edi
sub eax, 3
mov ecx, ebx
sbb ecx, 0
mov dword [esp + 0xd4], ecx
js 0x1004c3cf
jg 0x1004c327
test eax, eax
jb 0x1004c3cf
mov ecx, edi
sub ecx, 2
mov eax, ebx
sbb eax, 0
test eax, eax
jg 0x1004c3cf
jl 0x1004c344
cmp ecx, 0xc
jae 0x1004c3cf
cmp edx, 0x5b
jge 0x1004c3cf
mov ax, word [edi*2 + 0x100b7f8a]
add ax, si
sub ax, 0x11
movzx ecx, ax
cmp cx, word [edi*2 + 0x100b7f8c]
jae 0x1004c3cf
mov eax, dword [esp + 0x58]
mov esi, 1
cmp dword [eax], esi
jle 0x1004c3a2
movzx eax, cx
mov ecx, dword [eax*8 + 0x100b7fb4]
mov edx, dword [eax*8 + 0x100b7fb0]
push ecx
push edx
call sym.tcl85.dll_Tcl_NewWideIntObj
mov edi, eax
add dword [edi], esi
add esp, 8
add dword [esp + 0x38], esi
mov dword [esp + 0x40], edi
jmp 0x1004e567
movzx ecx, cx
mov edx, dword [ecx*8 + 0x100b7fb4]
mov ecx, dword [ecx*8 + 0x100b7fb0]
push edx
push ecx
push eax
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
add dword [esp + 0x38], esi
mov ebx, dword [esp + 0x38]
jmp 0x1004ef8a
mov eax, 0xfffffffd
sub eax, edi
mov ecx, 0xffffffff
sbb ecx, ebx
mov dword [esp + 0xd4], ecx
js 0x1004c7ee
jg 0x1004c3f4
test eax, eax
jb 0x1004c7ee
mov ecx, 0xfffffffe
sub ecx, edi
mov eax, 0xffffffff
sbb eax, ebx
test eax, eax
jg 0x1004c7ee
jl 0x1004c415
cmp ecx, 0xc
jae 0x1004c7ee
cmp edx, 0x5b
jge 0x1004c7ee
lea edx, [edi + edi + 6]
mov eax, 0x100b7f90
sub eax, edx
mov cx, word [eax]
add cx, word [esp + 0x4c]
lea edx, [edi + edi + 4]
sub cx, 0x11
movzx eax, cx
mov ecx, 0x100b7f90
sub ecx, edx
cmp ax, word [ecx]
jae 0x1004c7ee
cmp dword [esp + 0x48], 0
movzx eax, ax
je 0x1004c46d
mov edx, dword [eax*8 + 0x100b7fb0]
mov eax, dword [eax*8 + 0x100b7fb4]
neg edx
adc eax, 0
neg eax
jmp 0x1004c47b
mov edx, dword [eax*8 + 0x100b7fb0]
mov eax, dword [eax*8 + 0x100b7fb4]
mov ecx, dword [esp + 0x58]
mov esi, 1
cmp dword [ecx], esi
push eax
push edx
jg 0x1004c389
push ecx
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
add dword [esp + 0x38], esi
mov ebx, dword [esp + 0x38]
jmp 0x1004ef8a
cmp al, 0x37
je 0x1004c7ee
cmp dword [esp + 0x88], 3
je 0x1004c7ee
cmp dword [esp + 0xdc], 3
je 0x1004c7ee
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x100d1618
jne 0x1004c4f1
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
jmp 0x1004c520
cmp ecx, 0x100d1604
jne 0x1004c50d
mov eax, dword [eax + 0x10]
cdq
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp 0x1004c520
lea ecx, [esp + 0x80]
push ecx
push eax
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d1618
jne 0x1004c544
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
jmp 0x1004c580
cmp eax, 0x100d1604
jne 0x1004c55f
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
jmp 0x1004c580
lea edx, [esp + 0x98]
push edx
push ecx
push 0
call sym.tcl85.dll_Tcl_GetWideIntFromObj
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
add esp, 0xc
movzx esi, byte [ebx]
sub esi, 0x35
je 0x1004c730
sub esi, 1
je 0x1004c6a7
sub esi, 2
je 0x1004c5a3
xor edi, edi
xor esi, esi
jmp 0x1004c7ae
mov ecx, eax
or ecx, edx
je 0x1004effe
cmp dword [esp + 0x80], 0
jne 0x1004c5cf
cmp dword [esp + 0x84], 0x80000000
jne 0x1004c5cf
and eax, edx
cmp eax, 0xffffffff
je 0x1004c7ee
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
call fcn.100b2490
mov esi, edx
mov edi, eax
test esi, esi
jl 0x1004c66f
jg 0x1004c602
test edi, edi
jb 0x1004c66f
mov eax, edi
or eax, esi
jne 0x1004c7ae
mov eax, dword [esp + 0x84]
test eax, eax
jg 0x1004c651
jl 0x1004c623
cmp dword [esp + 0x80], 0
jae 0x1004c639
cmp dword [esp + 0x9c], 0
jg 0x1004c66f
jl 0x1004c639
cmp dword [esp + 0x98], 0
ja 0x1004c66f
test eax, eax
jl 0x1004c7ae
jg 0x1004c651
cmp dword [esp + 0x80], 0
jbe 0x1004c7ae
cmp dword [esp + 0x9c], 0
jg 0x1004c7ae
jl 0x1004c66f
cmp dword [esp + 0x98], 0
jae 0x1004c7ae
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
push ecx
push edx
push esi
push edi
call fcn.100b2450
cmp eax, dword [esp + 0x80]
jne 0x1004c69c
cmp edx, dword [esp + 0x84]
je 0x1004c7ae
add edi, 0xffffffff
adc esi, 0xffffffff
jmp 0x1004c7ae
mov edi, dword [esp + 0x80]
sub edi, dword [esp + 0x98]
mov esi, dword [esp + 0x84]
sbb esi, dword [esp + 0x9c]
mov eax, 2
cmp dword [esp + 0x88], eax
je 0x1004c6de
cmp dword [esp + 0xdc], eax
jne 0x1004c7ae
mov eax, edi
xor eax, dword [esp + 0x80]
mov ecx, esi
xor ecx, dword [esp + 0x84]
mov dword [esp + 0xd4], ecx
jg 0x1004c7ae
jl 0x1004c707
test eax, eax
jae 0x1004c7ae
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
not ecx
xor ecx, dword [esp + 0x80]
not eax
xor eax, dword [esp + 0x84]
mov dword [esp + 0xd4], eax
jmp 0x1004c7a6
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x9c]
add edi, edx
mov esi, eax
adc esi, dword [esp + 0x84]
mov ecx, 2
cmp dword [esp + 0x88], ecx
je 0x1004c767
cmp dword [esp + 0xdc], ecx
jne 0x1004c7ae
mov ecx, edi
xor ecx, edx
mov edx, esi
xor edx, dword [esp + 0x84]
mov dword [esp + 0x370], ecx
mov dword [esp + 0x374], edx
jg 0x1004c7ae
jl 0x1004c78a
test ecx, ecx
jae 0x1004c7ae
mov ecx, dword [esp + 0x98]
xor ecx, dword [esp + 0x80]
xor eax, dword [esp + 0x84]
mov dword [esp + 0xd4], eax
jg 0x1004c7ee
jl 0x1004c7ae
test ecx, ecx
jae 0x1004c7ee
mov eax, dword [esp + 0x58]
cmp dword [eax], 1
push esi
push edi
jle 0x1004c7d3
call sym.tcl85.dll_Tcl_NewWideIntObj
mov edi, eax
inc dword [edi]
add esp, 8
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
mov ecx, dword [esp + 0x60]
push ecx
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov edi, dword [esp + 0x58]
lea edx, [esp + 0x298]
push edx
push edi
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
mov ecx, dword [esp + 0x60]
add esp, 0xc
lea eax, [esp + 0x1fc]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
lea edx, [esp + 0x26c]
add esp, 0xc
push edx
call sym.tcl85.dll_TclBN_mp_init
mov ebx, dword [esp + 0x3c]
movzx eax, byte [ebx]
add eax, 0xffffffcb
add esp, 4
cmp eax, 0x2e
ja case.0x1004c846.57
movzx eax, byte [eax + 0x1004f5cc]
jmp dword [eax*4 + 0x1004f5b4]
lea ecx, [esp + 0x260]
push ecx
lea edx, [esp + 0x200]
push edx
lea eax, [esp + 0x2a0]
push eax
call sym.tcl85.dll_TclBN_mp_add
jmp 0x1004ca02
lea ecx, [esp + 0x260]
push ecx
lea edx, [esp + 0x200]
push edx
lea eax, [esp + 0x2a0]
push eax
call sym.tcl85.dll_TclBN_mp_sub
jmp 0x1004ca02
lea ecx, [esp + 0x260]
push ecx
lea edx, [esp + 0x200]
push edx
lea eax, [esp + 0x2a0]
push eax
call sym.tcl85.dll_TclBN_mp_mul
jmp 0x1004ca02
cmp dword [esp + 0x1fc], 0
jne 0x1004c8f2
lea ecx, [esp + 0x298]
push ecx
call sym.tcl85.dll_TclBN_mp_clear
lea edx, [esp + 0x200]
add esp, 4
push edx
call sym.tcl85.dll_TclBN_mp_clear
lea eax, [esp + 0x264]
add esp, 4
push eax
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
jmp 0x1004effe
lea ecx, [esp + 0x330]
push ecx
call sym.tcl85.dll_TclBN_mp_init
add esp, 4
lea edx, [esp + 0x330]
push edx
lea eax, [esp + 0x264]
push eax
lea ecx, [esp + 0x204]
push ecx
lea edx, [esp + 0x2a4]
push edx
call sym.tcl85.dll_TclBN_mp_div
add esp, 0x10
cmp dword [esp + 0x330], 0
je 0x1004c974
mov eax, dword [esp + 0x338]
cmp eax, dword [esp + 0x204]
je 0x1004c974
lea ecx, [esp + 0x260]
push ecx
mov edx, ecx
push 1
push edx
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0xc
lea eax, [esp + 0x330]
push eax
lea ecx, [esp + 0x200]
push ecx
mov edx, eax
push edx
call sym.tcl85.dll_TclBN_mp_add
add esp, 0xc
lea eax, [esp + 0x330]
push eax
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
jmp case.0x1004c846.57
mov esi, 1
cmp dword [esp + 0x1fc], esi
jle 0x1004c9e3
push 0xffffffffffffffff
push str.exponent_too_large
call sym.tcl85.dll_Tcl_NewStringObj
mov ecx, dword [ebp + 8]
push eax
push ecx
call sym.tcl85.dll_Tcl_SetObjResult
lea edx, [esp + 0x2a8]
push edx
call sym.tcl85.dll_TclBN_mp_clear
lea eax, [esp + 0x210]
add esp, 0x14
push eax
call sym.tcl85.dll_TclBN_mp_clear
lea ecx, [esp + 0x264]
add esp, 4
push ecx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
mov dword [esp + 0x44], esi
jmp 0x1004e1bb
mov eax, dword [esp + 0x208]
mov ecx, dword [eax]
lea edx, [esp + 0x260]
push edx
push ecx
lea edx, [esp + 0x2a0]
push edx
call sym.tcl85.dll_TclBN_mp_expt_d
add esp, 0xc
lea eax, [esp + 0x298]
push eax
call sym.tcl85.dll_TclBN_mp_clear
lea ecx, [esp + 0x200]
add esp, 4
push ecx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
cmp dword [edi], 1
jle 0x1004ca4c
lea edx, [esp + 0x260]
push edx
call sym.tcl85.dll_Tcl_NewBignumObj
mov edi, eax
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e56b
lea eax, [esp + 0x260]
push eax
push edi
call sym.tcl85.dll_Tcl_SetBignumObj
mov edi, dword [esp + 0x44]
add esp, 8
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004ef8a
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x10], ecx
jmp 0x1004af67
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov ecx, edi
jmp 0x1004af6b
mov edi, dword [edi]
mov eax, dword [edi + 0xc]
cmp eax, 0x100d1604
je 0x1004cacb
cmp eax, 0x100d15dc
je 0x1004cacb
lea edx, [esp + 0x214]
push edx
push edi
push 0
call sym.tcl85.dll_Tcl_GetBooleanFromObj
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
je 0x1004cae2
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x10], ecx
jmp 0x100488d8
xor eax, eax
cmp dword [edi + 0x10], eax
mov dword [esp + 0x44], 0
setne al
mov dword [esp + 0x214], eax
mov ecx, dword [esp + 0x74]
xor eax, eax
cmp dword [esp + 0x214], eax
sete al
mov edi, dword [ecx + eax*4 + 4]
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, 0x100d1604
jne 0x1004cb34
lea ecx, [esi + 0x10]
mov dword [esp + 0x160], 1
mov dword [esp + 0x150], ecx
mov dword [esp + 0x44], 0
jmp 0x1004cc0f
cmp eax, 0x100d1618
jne 0x1004cb5d
lea ecx, [esi + 0x10]
mov dword [esp + 0x160], 2
mov dword [esp + 0x150], ecx
mov dword [esp + 0x44], 0
jmp 0x1004ccc1
cmp eax, 0x100d15f0
jne 0x1004cba1
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], ecx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 4
lea ecx, [esi + 0x10]
mov dword [esp + 0x160], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x44], 0
jmp 0x1004cbf4
test eax, eax
jne 0x1004cbae
cmp dword [esi + 4], eax
je 0x1004d1a5
cmp dword [esi + 4], 0
je 0x1004cbbe
cmp dword [esi + 8], 0
je 0x1004d1a5
lea edx, [esp + 0x160]
push edx
lea eax, [esp + 0x154]
push eax
mov eax, esi
xor ecx, ecx
call fcn.100783c0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004d1a5
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x150]
cmp eax, 5
je 0x1004d1a5
cmp eax, 4
je 0x1004d1a5
cmp eax, 1
jne 0x1004ccbc
cmp dword [esi], 1
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
jle 0x1004cc66
cmp dword [0x100d3554], 0
jne 0x1004cc28
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d3554], ecx
mov ecx, dword [esp + 0x50]
mov dword [edi], 0
mov dword [edi + 4], 0
not ecx
mov dword [eax], ecx
mov dword [edi + 0xc], 0x100d1604
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov eax, dword [esi + 4]
test eax, eax
je 0x1004cc8c
cmp eax, dword [0x100d15c4]
je 0x1004cc85
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
mov ecx, dword [esp + 0x54]
add esp, 4
mov dword [esi + 4], 0
cmp dword [esi + 0xc], 0
je 0x1004cca6
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je 0x1004cca6
push esi
call eax
mov ecx, dword [esp + 0x54]
add esp, 4
not ecx
inc ebx
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], 0x100d1604
mov dword [esp + 0x38], ebx
jmp 0x100466b0
cmp eax, 2
jne 0x1004ccfe
cmp dword [esi], 1
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not ecx
not eax
push ecx
push eax
jle 0x1004cceb
call sym.tcl85.dll_Tcl_NewWideIntObj
mov edi, eax
inc dword [edi]
add esp, 8
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
push esi
call sym.tcl85.dll_Tcl_SetWideIntObj
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x100466b0
lea ecx, [esp + 0x320]
push ecx
push esi
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
lea edx, [esp + 0x32c]
add esp, 0xc
push edx
mov eax, edx
push eax
call sym.tcl85.dll_TclBN_mp_neg
lea ecx, [esp + 0x328]
push ecx
mov edx, ecx
push 1
push edx
call sym.tcl85.dll_TclBN_mp_sub_d
add esp, 0x14
cmp dword [esi], 1
jle 0x1004cd5d
lea eax, [esp + 0x320]
push eax
call sym.tcl85.dll_Tcl_NewBignumObj
mov edi, eax
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
lea ecx, [esp + 0x320]
push ecx
push esi
call sym.tcl85.dll_Tcl_SetBignumObj
add esp, 8
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x100466b0
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, 0x100d1604
jne 0x1004cda7
mov ecx, 1
lea edi, [esi + 0x10]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x44], 0
jmp 0x1004ce57
cmp eax, 0x100d1618
jne 0x1004cdb5
mov ecx, 2
jmp 0x1004cd89
cmp eax, 0x100d15f0
jne 0x1004cdfb
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
lea edi, [esi + 0x10]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [sym.imp.MSVCR90.dll__isnan]
add esp, 8
mov ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 4
mov dword [esp + 0x164], ecx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x44], 0
jmp 0x1004ce4e
test eax, eax
jne 0x1004ce08
cmp dword [esi + 4], eax
je 0x1004d0c1
cmp dword [esi + 4], 0
je 0x1004ce18
cmp dword [esi + 8], 0
je 0x1004d0c1
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0x120]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.100783c0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004d0c1
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x11c]
cmp ecx, 5
je 0x1004d0c1
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x1004ce63
jmp dword [eax*4 + 0x1004f5fc]
cmp dword [esi], 1
jle 0x1004cec0
cmp dword [0x100d3554], 0
jne 0x1004ce7d
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x11c]
lea eax, [edi + 0x10]
mov dword [edi], 0
fld qword [ecx]
mov dword [edi + 4], 0
fchs
fstp qword [eax]
mov dword [edi + 0xc], 0x100d15f0
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [0x100d3554], edx
mov dword [esp + 0x38], ebx
jmp 0x1004e5c9
mov eax, dword [edi + 4]
mov edx, dword [edi]
mov dword [esp + 0x39c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x398], edx
test eax, eax
je 0x1004cef5
cmp eax, dword [0x100d15c4]
je 0x1004ceee
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [esi + 4], 0
cmp dword [esi + 0xc], 0
je 0x1004cf0b
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
test eax, eax
je 0x1004cf0b
push esi
call eax
add esp, 4
fld qword [esp + 0x398]
mov edi, dword [esp + 0x3c]
fchs
inc ebx
fstp qword [esi + 0x10]
mov dword [esi + 0xc], 0x100d15f0
mov dword [esp + 0x38], ebx
jmp 0x100466b0
mov eax, dword [edi]
mov dword [esp + 0x50], eax
cmp eax, 0x80000000
je case.0x1004ce63.2
cmp dword [esi], 1
jle 0x1004cf8e
cmp dword [0x100d3554], 0
jne 0x1004cf50
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d3554]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d3554], ecx
mov ecx, dword [esp + 0x50]
mov dword [edi], 0
mov dword [edi + 4], 0
neg ecx
mov dword [eax], ecx
mov dword [edi + 0xc], 0x100d1604
invalid