Function at 0x100472f0
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

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.100465f0
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 0x1004739e
mov edx, dword [ecx + 0x284]
mov edx, dword [edx + 4]
inc edx
jmp 0x100473a3
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 0x100474b0
mov edx, dword [esi + 0x320]
cmp dword [edx], 0
je 0x10047439
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 0x10047439
mov dword [esp + 0x44], 1
jmp 0x1004ef0b
cmp dword [esi + 0x210], 0
je 0x100474b0
inc dword [esi + 0x214]
test byte [esi + 0x210], 1
mov eax, dword [esi + 0x214]
je 0x10047469
mov ecx, dword [esi + 0x224]
cmp ecx, 1
je 0x1004748a
cdq
idiv ecx
test edx, edx
je 0x1004748a
test byte [esi + 0x210], 2
je 0x100474b0
mov ecx, dword [esi + 0x234]
cmp ecx, 1
je 0x1004748a
mov eax, dword [esi + 0x214]
cdq
idiv ecx
test edx, edx
jne 0x100474b0
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 0x100474b0
mov dword [esp + 0x44], eax
jmp 0x1004ef0b
mov cl, byte [ebx]
cmp cl, 0xa
je case.0x100474d2.10
cmp cl, 1
je case.0x100474d2.1
movzx eax, cl
cmp eax, 0x83
ja case.default.0x100474d2
jmp dword [eax*4 + 0x1004ffbc]
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.10086d60
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004753a
add ebx, 9
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov eax, dword [edi - 4]
push eax
push esi
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 8
cmp byte [ebx], 0x7d
jne 0x10047553
and dword [esi + 0x100], 0xfffffffb
mov ebx, 2
mov eax, dword [esp + 0x44]
cmp eax, 4
je 0x1004756a
cmp eax, 3
jne 0x1004ef04
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
call fcn.10050710
mov dword [esp + 0x6c], eax
test eax, eax
je 0x1004fec1
cmp dword [eax], 1
je 0x1004fe0d
test ebx, ebx
je 0x1004e01c
mov esi, dword [sym.imp.MSVCR90.dll_free]
lea ecx, [ecx]
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 0x1004e010
cmp dword [edi + 0xc], 0
je 0x1004dfe3
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], 0
je 0x1004dfe3
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004e010
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 0x1004760e
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 0x1004e719
mov ecx, eax
push ecx
push esi
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 8
mov ebx, 1
jmp 0x10047558
cmp edi, dword [esp + 0x8c]
jbe 0x1004feba
mov edx, dword [edi]
push edx
push esi
call sym.tcl85.dll_Tcl_SetObjResult
add esp, 8
jmp 0x1004ef04
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 0x10047656
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edi
jmp 0x100473e0
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 0x100473e0
mov esi, dword [edi]
dec dword [esi]
sub edi, 4
cmp dword [esi], 0
mov dword [esp + 0x3c], edi
jg 0x10047718
cmp dword [esi + 0xc], 0
je 0x100476e9
mov edx, dword [esi + 0xc]
cmp dword [edx + 4], 0
je 0x100476e9
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x10047718
mov eax, dword [esi + 4]
test eax, eax
je 0x10047702
cmp eax, dword [0x100d25c4]
je 0x10047702
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], ecx
mov dword [0x100d45d8], esi
inc ebx
cmp byte [ebx], 0x69
mov dword [esp + 0x38], ebx
jne 0x100473e0
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 0x10047783
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
cmp ecx, dword [esi + 0xf0]
jne 0x10047775
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x2cc]
cmp edx, dword [ecx + 0xe4]
je 0x1004777b
test byte [eax + 0x14], 1
je 0x1004778f
mov dword [esp + 0x5c], 0
add ebx, 9
mov dword [esp + 0x38], ebx
jmp 0x100473e0
lea edx, [esp + 0x2d4]
push edx
push eax
mov eax, ebx
call fcn.10050560
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 0x100477e1
xor ebx, ebx
cmp eax, 1
jne 0x10047558
or dword [esi + 0x100], 4
jmp 0x1004ef0b
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 [0x100d45d8]
add esp, 4
mov dword [esp + 0x40], edi
test eax, eax
jne 0x10047825
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d25c4]
mov dword [0x100d45d8], 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 0x1004ed06
mov eax, dword [edi]
jmp 0x1004e70a
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 0x10048226
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 0x100478d4
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 0x100478c2
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x100473e0
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 0x10047944
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10047917
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov eax, ecx
jmp 0x1004792c
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 0x1004793b
add edx, dword [esp + 0x90]
mov dword [esp + 0x50], edx
add esi, 4
test edx, edx
jge 0x100478fc
jmp 0x10047948
test edx, edx
jge 0x10047960
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 0x10047977
mov edx, dword [esp + 0x54]
add ebx, 2
dec edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], edx
jmp 0x1004ebb3
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 0x100479b2
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x68], ecx
jmp 0x100479cb
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 0x100479eb
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 [0x100d25c4]
je 0x10047a68
cmp dword [edi], 1
jg 0x10047a68
cmp dword [edi + 0xc], 0
je 0x10047a12
mov edx, dword [edi + 0xc]
mov eax, dword [edx + 4]
test eax, eax
je 0x10047a12
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 0x10047a4c
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x64]
add eax, edx
mov dword [esp + 0x48], eax
jmp 0x10047ab8
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 0x10047ab8
lea eax, [esi + 1]
push eax
call sym.tcl85.dll_Tcl_Alloc
mov edi, dword [0x100d45d8]
add esp, 4
mov dword [esp + 0x48], eax
test edi, edi
jne 0x10047a8d
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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 [0x100d45d8], ecx
cmp esi, dword [esp + 0x3c]
ja 0x10047b16
mov edi, edi
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10047ad7
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov eax, ecx
jmp 0x10047ae8
lea ecx, [esp + 0x90]
push ecx
push eax
call sym.tcl85.dll_Tcl_GetStringFromObj
add esp, 8
test eax, eax
je 0x10047b0d
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 0x10047ac0
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 0x1004ed04
cmp dword [0x100d45d8], 0
jne 0x10047b3f
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov edx, dword [eax + 0x10]
mov esi, dword [0x100d25c4]
lea ecx, [eax + 0x10]
mov dword [0x100d45d8], 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 0x100473e0
mov eax, dword [edi]
cmp dword [eax + 0xc], 0x100d2740
mov dword [esp + 0x50], eax
jne 0x10047ca2
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.100465f0
mov ecx, dword [esp + 0x130]
mov edx, 0xfffffffc
sub edx, ecx
add eax, edx
sar eax, 2
add esp, 8
test eax, eax
je 0x10047c52
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 0x10047c80
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 0x10047c66
mov dword [esp + 0x3c], edi
lea esp, [esp]
mov eax, dword [esp + 0x50]
dec dword [eax]
cmp dword [eax], 0
jg 0x10047c96
mov ecx, eax
push ecx
call sym.tcl85.dll_TclFreeObj
add esp, 4
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x100473e0
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 0x10047bb0
mov dword [esp + 0x44], 1
jmp 0x1004ef0b
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 0x10047d43
cmp dword [edi + 0xc], 0
je 0x10047d12
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], 0
je 0x10047d12
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x10047d43
mov eax, dword [edi + 4]
test eax, eax
je 0x10047d2d
cmp eax, dword [0x100d25c4]
je 0x10047d2d
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], edx
mov dword [0x100d45d8], edi
test esi, esi
je 0x10047d54
mov dword [esp + 0x48], 1
jmp 0x10047f1f
cmp dword [0x100d45d8], 0
jne 0x10047d62
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d25c4]
mov dword [0x100d45d8], 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 0x100473e0
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 0x10047f1f
movzx esi, byte [ebx + 1]
jmp 0x10047f17
movzx eax, byte [ebx + 1]
mov dword [esp + 0x6c], eax
test eax, eax
jl 0x10047de8
cmp eax, 0x19
jle 0x10047df6
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 + 0x100b8f78]
push 0xffffffffffffffff
push ecx
push esi
call sym.tcl85.dll_Tcl_AppendToObj
mov edx, dword [esp + 0x80]
mov eax, dword [edx*8 + 0x100b8f7c]
add esp, 0x14
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x10047e44
add edi, 4
mov dword [edi], esi
inc dword [esi]
mov esi, eax
mov dword [esp + 0x3c], edi
inc esi
jmp 0x10047f17
cmp dword [esp + 0x6c], 1
jne 0x10047e75
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 0x10047eb9
push eax
call sym.tcl85.dll_TclFreeObj
mov esi, dword [esp + 0x70]
add esp, 4
inc esi
jmp 0x10047f17
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 0x10047ea9
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
dec dword [edi]
cmp dword [edi], 0
jg 0x10047eb9
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov esi, dword [esp + 0x6c]
inc esi
jmp 0x10047f17
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 0x10047f08
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 0x10047f6e
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.10010090
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.1000ed70
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 8]
add esp, 0x18
test byte [eax + 0x100], 0x10
mov dword [esp + 0x5c], 1
je 0x10047fb9
mov ecx, dword [ebp + 0xc]
mov edx, ebx
sub edx, dword [ecx + 0x48]
push edx
push esi
push edi
push eax
call fcn.10010180
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 0x100480b1
push eax
call sym.tcl85.dll_Tcl_GetObjResult
mov edi, eax
mov eax, dword [0x100d45d8]
add esp, 4
mov dword [esp + 0x40], edi
test eax, eax
jne 0x10047ff8
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d25c4]
mov dword [0x100d45d8], 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 0x100480a0
dec dword [edi]
cmp dword [edi], ecx
jg 0x1004808b
cmp dword [edi + 0xc], ecx
je 0x1004805a
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], ecx
je 0x1004805a
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 0x1004ebab
mov eax, dword [edi + 4]
cmp eax, ecx
je 0x10048075
cmp eax, dword [0x100d25c4]
je 0x10048075
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], edx
mov dword [0x100d45d8], edi
mov eax, dword [esp + 0x48]
lea ecx, [eax + ebx + 1]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], esi
jmp 0x1004ebab
add eax, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], esi
mov ebx, eax
jmp 0x1004ed06
mov ebx, esi
jmp 0x10047558
mov eax, dword [edi]
mov edx, dword [esp + 0x60]
push 0
push 0
push eax
push esi
mov dword [edx + 0x10], edi
call fcn.10046ce0
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], 1
test eax, eax
jne 0x1004762b
mov esi, dword [ebp + 8]
push esi
call sym.tcl85.dll_Tcl_GetObjResult
mov edi, eax
mov eax, dword [0x100d45d8]
add esp, 4
mov dword [esp + 0x40], edi
test eax, eax
jne 0x10048108
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d25c4]
mov dword [0x100d45d8], 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 0x1004f31d
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 0x1004ef04
mov edi, dword [esp + 0x2d8]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
movzx esi, byte [ebx + 1]
mov eax, dword [esp + 0x70]
test byte [eax + esi*8], 2
lea eax, [eax + esi*8]
je 0x10048198
jmp 0x10048190
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10048190
test byte [eax], 0x13
jne 0x100481c1
cmp dword [eax + 4], 0
je 0x100481c1
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 0x100473e0
xor edi, edi
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0x50], edi
jmp 0x100483cc
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 0x10048218
jmp 0x10048210
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10048210
test byte [eax], 0x13
jne 0x10048241
cmp dword [eax + 4], 0
je 0x10048241
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 0x100473e0
xor edi, edi
mov dword [esp + 0x48], 5
mov dword [esp + 0x4c], edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0x50], edi
jmp 0x100483cc
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 0x10048294
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 0x100482c5
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x100482b6
mov dword [esp + 0xe0], eax
mov ecx, dword [eax]
test cl, 1
je 0x10048300
test cl, 0x10
jne 0x10048300
mov eax, dword [eax + 4]
mov ecx, edi
call fcn.10046370
test eax, eax
je 0x10048300
test byte [eax], 0x13
jne 0x10048300
cmp dword [eax + 4], 0
je 0x10048300
mov edi, dword [eax + 4]
inc dword [edi]
add ebx, dword [esp + 0x48]
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
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.1009ab60
add esp, 0x1c
test eax, eax
jne 0x10048335
mov dword [esp + 0x44], 1
jmp 0x1004ef0b
mov dword [esp + 0x4c], 1
jmp 0x100483cc
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x4c], 2
jmp 0x10048365
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.1009a3c0
add esp, 0x20
test eax, eax
je 0x1004742c
test byte [eax], 0x13
mov ecx, dword [esp + 0xe0]
jne 0x100483c1
cmp dword [eax + 4], 0
je 0x100483c1
test ecx, ecx
je 0x100483b0
test byte [ecx], 0x10
jne 0x100483c1
mov edi, dword [eax + 4]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004ed04
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.1009ae90
mov edi, eax
add esp, 0x14
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], 1
test edi, edi
je 0x1004742c
add ebx, dword [esp + 0x48]
mov dword [esp + 0x38], ebx
jmp 0x1004ed04
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 0x10048450
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 0x10048480
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10048471
mov dword [esp + 0xd8], eax
mov ecx, dword [eax]
test cl, 1
je 0x100484d1
test cl, 0x20
jne 0x100484d1
mov eax, dword [eax + 4]
mov ecx, edi
call fcn.10046370
mov dword [esp + 0x58], eax
test eax, eax
je 0x100484d1
test byte [eax], 0x2b
jne 0x100484d1
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 0x100484c1
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 0x10048539
mov dword [esp + 0x58], 0x200
jmp 0x10048774
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 0x10048513
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 0x10048530
mov ecx, dword [ecx + 4]
test byte [ecx], 2
jne 0x10048524
mov dword [esp + 0x58], ecx
test byte [ecx], 0x2b
jne 0x100485d2
mov esi, dword [ecx + 4]
test esi, esi
je 0x1004859a
dec dword [esi]
cmp dword [esi], 0
jg 0x1004859a
cmp dword [esi + 0xc], 0
je 0x10048565
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x10048565
push esi
call sym.tcl85.dll_TclFreeObj
mov ecx, dword [esp + 0x5c]
add esp, 4
jmp 0x1004859a
mov eax, dword [esi + 4]
test eax, eax
je 0x10048584
cmp eax, dword [0x100d25c4]
je 0x10048584
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
mov ecx, dword [esp + 0x5c]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
mov dword [0x100d45d8], 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 0x100485c3
lea eax, [ecx + ebx + 1]
sub edi, 4
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], eax
mov ebx, eax
jmp 0x100473e0
inc dword [eax]
add ecx, ebx
mov dword [esp + 0x38], ecx
mov ebx, ecx
jmp 0x100473e0
mov dword [esp + 0x58], 0x200
jmp 0x1004883d
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov dword [esp + 0x48], edx
mov dword [esp + 0x58], 0x20c
jmp 0x1004865e
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 0x10048660
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], 0x204
jmp 0x1004865e
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 0x10048660
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 0x10048660
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 0x100bd030
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.1009a3c0
add esp, 0x20
test eax, eax
je 0x1004742c
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 0x1004886d
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 0x10048744
mov dword [esp + 0x58], 0x20c
jmp 0x10048738
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 0x10048744
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 0x10048774
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10048765
mov dword [esp + 0xd8], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xd8]
push esi
push 1
push 1
push 0x100bd030
push 0x200
push 0
push ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 2
call fcn.1009ab60
add esp, 0x1c
test eax, eax
jne 0x1004886d
mov dword [esp + 0x44], 1
jmp 0x1004ef0b
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 0x1004883d
mov dword [esp + 0x58], 0x20c
jmp 0x10048831
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 0x1004883d
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 0x10048858
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10048850
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]
push esi
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0xe4]
push edi
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.1009b1b0
mov edi, eax
add esp, 0x20
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], 1
test edi, edi
je 0x1004742c
mov eax, dword [esp + 0x54]
cmp byte [eax + ebx], 3
jne 0x100488cb
lea ecx, [eax + ebx + 1]
mov dword [esp + 0x38], ecx
jmp 0x1004ebab
add eax, ebx
jmp 0x1004ecfe
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 0x10048908
sub eax, 2
je 0x100488fb
mov dword [esp + 0x58], 1
jmp 0x10048932
mov dword [esp + 0x58], 2
jmp 0x100489f6
mov dword [esp + 0x58], 2
jmp 0x10048e85
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 0x10048948
cmp bl, 0x1b
je 0x10048948
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
xor edi, edi
jmp 0x10048951
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.1009a3c0
mov ebx, eax
add esp, 0x20
test ebx, ebx
je 0x1004899f
mov esi, dword [esp + 0x170]
xor eax, eax
test edi, edi
setne al
inc eax
mov dword [esp + 0x4c], eax
jmp 0x10048eb1
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 0x1004ef0b
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ef0b
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 0x10048a33
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x10048a24
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.1009ab60
mov ebx, eax
add esp, 0x1c
test ebx, ebx
jne 0x10048eb1
mov eax, dword [esp + 0x48]
dec dword [eax]
cmp dword [eax], ebx
mov dword [esp + 0x44], 1
jg 0x1004ef0b
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ef0b
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 0x10048ac1
mov ebx, dword [ebx + 4]
test byte [ebx], 2
jne 0x10048ab5
mov dword [esp + 0x50], ebx
test byte [ebx], 0x33
jne 0x10048e4a
cmp dword [ebx + 4], 0
je 0x10048e4a
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0xc]
cmp eax, 0x100d2604
jne 0x10048afb
lea ecx, [edi + 0x10]
mov dword [esp + 0x168], 1
mov dword [esp + 0x180], ecx
jmp 0x10048bb2
cmp eax, 0x100d2618
jne 0x10048b1c
lea ecx, [edi + 0x10]
mov dword [esp + 0x168], 2
mov dword [esp + 0x180], ecx
jmp 0x10048d16
cmp eax, 0x100d25f0
jne 0x10048b5a
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 0x10048ba9
test eax, eax
jne 0x10048b67
cmp dword [edi + 4], eax
je 0x10048dbc
cmp dword [edi + 4], 0
je 0x10048b77
cmp dword [edi + 8], 0
je 0x10048dbc
lea eax, [esp + 0x168]
push eax
lea ecx, [esp + 0x184]
push ecx
mov eax, edi
xor ecx, ecx
call fcn.10079380
add esp, 8
test eax, eax
jne 0x10048dbc
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x180]
cmp eax, 1
jne 0x10048d0d
mov eax, dword [ecx]
mov ecx, dword [esp + 0x48]
lea esi, [eax + ecx]
mov edx, esi
xor edx, eax
jge 0x10048c7a
mov edx, eax
xor edx, ecx
jl 0x10048c7a
cdq
mov esi, eax
mov eax, dword [edi]
cmp eax, 1
mov dword [esp + 0x24c], edx
jle 0x10048c23
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 0x10048f74
lea ecx, [eax + ecx + 1]
mov dword [esp + 0x38], ecx
jmp 0x1004ebab
mov eax, dword [edi + 4]
mov dword [esp + 0x40], edi
test eax, eax
je 0x10048c47
cmp eax, dword [0x100d25c4]
je 0x10048c40
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 4], 0
cmp dword [edi + 0xc], 0
je 0x10048c5d
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x10048c5d
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], 0x100d2618
jmp 0x10048c04
mov eax, dword [edi]
cmp eax, 1
jle 0x10048cc4
dec eax
cmp dword [0x100d45d8], 0
mov dword [edi], eax
jne 0x10048c92
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
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 [0x100d45d8], edx
mov dword [edi + 0xc], 0x100d2604
jmp 0x10048bff
mov eax, dword [edi + 4]
mov dword [esp + 0x40], edi
test eax, eax
je 0x10048ce8
cmp eax, dword [0x100d25c4]
je 0x10048ce1
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 4], 0
cmp dword [edi + 0xc], 0
je 0x10048cfe
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x10048cfe
push edi
call eax
add esp, 4
mov dword [edi + 0x10], esi
mov dword [edi + 0xc], 0x100d2604
jmp 0x10048c04
cmp eax, 2
jne 0x10048dbc
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 0x10048d82
jl 0x10048d5e
test eax, eax
jae 0x10048d82
mov eax, dword [esp + 0x24c]
xor esi, dword [esp + 0x2a8]
xor eax, dword [esp + 0x2ac]
mov dword [esp + 0xd4], eax
jg 0x10048dbc
jl 0x10048d82
test esi, esi
jae 0x10048dbc
mov eax, dword [edi]
cmp eax, 1
push ebx
push ecx
jle 0x10048daa
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 0x10048c04
push edi
mov dword [esp + 0x4c], edi
call sym.tcl85.dll_Tcl_SetWideIntObj
add esp, 0xc
jmp 0x10048c04
mov eax, dword [edi]
cmp eax, 1
jle 0x10048dda
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 [0x100d45d8], 0
mov dword [esp + 0x40], edi
jne 0x10048dec
call sym.tcl85.dll_TclAllocateFreeObjects
mov ebx, dword [0x100d45d8]
mov edx, dword [ebx + 0x10]
mov ecx, dword [esp + 0x48]
lea eax, [ebx + 0x10]
mov dword [ebx], 0
mov dword [0x100d45d8], 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], 0x100d2604
call fcn.10046ec0
dec dword [ebx]
add esp, 8
cmp dword [ebx], 0
mov esi, eax
mov dword [esp + 0x44], esi
jg 0x10048e3d
push ebx
call sym.tcl85.dll_TclFreeObj
add esp, 4
test esi, esi
je 0x10048c04
jmp 0x1004ef04
cmp dword [0x100d45d8], 0
jne 0x10048e58
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
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], 0x100d2604
inc dword [eax]
mov dword [esp + 0x48], eax
mov dword [0x100d45d8], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
test byte [eax + ecx*8], 2
lea ebx, [eax + ecx*8]
je 0x10048e9e
mov ebx, dword [ebx + 4]
test byte [ebx], 2
jne 0x10048e96
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 0x10048f14
cmp dword [ebx + 4], 0
je 0x10048f14
test esi, esi
je 0x10048ec5
test byte [esi], 0x30
jne 0x10048f14
mov edi, dword [ebx + 4]
mov eax, dword [edi]
cmp eax, 1
jle 0x10048ee2
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.10046ec0
mov esi, eax
mov eax, dword [esp + 0x50]
dec dword [eax]
add esp, 8
cmp dword [eax], 0
mov dword [esp + 0x44], esi
jg 0x10048e3d
push eax
jmp 0x10048e35
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.1009b5a0
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 0x10048f5f
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
test edi, edi
jne 0x10048c04
mov dword [esp + 0x44], 1
jmp 0x1004ef0b
add eax, ecx
jmp 0x1004ecfe
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 0x10048faf
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x10048fa7
test byte [esi], 0x10
je 0x10049019
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.100945f0
add esp, 0x10
mov dword [esp + 0x5c], 1
cmp dword [esi + 4], edi
jne 0x1004901f
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 0x100473e0
cmp dword [esi + 4], 0
je 0x10048fec
mov eax, 1
jmp 0x10048fee
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 0x1004906f
jmp 0x10049060
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x10049060
mov dword [esp + 0xa0], eax
mov ecx, dword [eax]
test cl, 1
je 0x1004909a
test cl, 0x10
jne 0x1004909a
mov eax, dword [eax + 4]
mov ecx, edi
call fcn.10046370
mov dword [esp + 0x48], eax
test eax, eax
je 0x1004912a
test byte [eax], 0x10
je 0x10049146
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.1009ab60
add esp, 0x1c
mov dword [esp + 0x48], eax
test eax, eax
je 0x1004912a
mov edx, eax
test byte [edx], 0x10
jne 0x100490d6
mov eax, dword [esp + 0xa0]
test byte [eax], 0x10
je 0x1004910d
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.100945f0
mov ebx, dword [esp + 0x48]
add esp, 0x10
mov dword [esp + 0x5c], 1
mov edx, dword [esp + 0x48]
cmp dword [edx + 4], 0
jne 0x10049146
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 0x1004f31d
mov edx, dword [esp + 0x48]
cmp dword [edx + 4], 0
je 0x1004912a
mov eax, 1
jmp 0x1004912c
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 0x10049184
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.1009a3c0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x1004920f
test byte [esi], 0x10
mov eax, dword [esp + 0xa0]
jne 0x100491c5
test eax, eax
je 0x100491ff
test byte [eax], 0x10
je 0x100491ff
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.100945f0
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0xb0]
add esp, 0x10
mov dword [esp + 0x5c], 1
cmp dword [esi + 4], 0
jne 0x10049227
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 0x1004ed04
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 0x1004ed04
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 0x1004742c
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.1009a3c0
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 0x1004742c
mov dword [esp + 0x44], 0
jmp 0x10049375
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.1009a3c0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x1004742c
mov eax, dword [esi]
test al, al
js 0x100492fb
or eax, 0x80
mov dword [esi], eax
test al, 4
je 0x100492fb
inc dword [esi + 8]
mov dword [esp + 0x44], 0
jmp 0x10049375
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 0x1004742c
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.1009a3c0
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 0x1004742c
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 0x100493ff
mov edx, dword [edi]
test edx, 0x870
jne 0x100493ff
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x100493d8
test dl, 2
je 0x100493ff
test ecx, ecx
je 0x100493d8
mov eax, ecx
cmp eax, esi
je 0x1004941c
test byte [eax], 4
je 0x100493d8
dec dword [eax + 8]
cmp dword [eax + 4], 0
jne 0x100493d8
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 0x1004941c
inc dword [esi + 8]
add dword [esp + 0x38], 5
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
jmp 0x1004fcea
mov ebx, dword [ebp + 8]
push eax
push 0
push 0
push esi
call fcn.1009d3b0
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004ef04
add dword [esp + 0x38], 5
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
jmp 0x1004fcea
movsx ecx, byte [ebx + 1]
add ebx, ecx
mov dword [esp + 0x38], ebx
jmp 0x100473e0
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 0x100473e0
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 0x100494f4
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 0x100494ed
movsx edx, byte [ebx + 1]
mov dword [esp + 0x190], edx
mov dword [esp + 0x194], 2
jmp 0x100494f4
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, 0x100d2604
je 0x1004953e
cmp ecx, 0x100d25dc
je 0x1004953e
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 0x1004ef04
mov eax, dword [esp + 0x22c]
add ebx, dword [esp + eax*4 + 0x190]
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
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 0x1004fcea
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 0x1004959d
mov eax, ecx
jmp 0x100495a6
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 0x100495c0
add ebx, dword [eax + 0xc]
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov esi, dword [edi]
mov edi, dword [edi - 4]
mov eax, dword [edi + 0xc]
cmp eax, 0x100d2604
je 0x10049623
cmp eax, 0x100d25dc
je 0x10049623
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 0x10049636
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.10050370
mov dword [esp + 0x5c], 1
jmp 0x1004ef04
xor edx, edx
cmp dword [edi + 0x10], edx
setne dl
mov edi, edx
mov dword [esp + 0x218], edi
jmp 0x1004963d
mov edi, dword [esp + 0x218]
mov eax, dword [esi + 0xc]
cmp eax, 0x100d2604
je 0x10049678
cmp eax, 0x100d25dc
je 0x10049678
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 0x10049691
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov ecx, esi
jmp 0x1004960a
xor eax, eax
cmp dword [esi + 0x10], eax
mov dword [esp + 0x44], 0
setne al
mov dword [esp + 0x240], eax
jmp 0x10049698
mov eax, dword [esp + 0x240]
cmp byte [ebx], 0x28
jne 0x100496ac
test edi, edi
jne 0x100496a5
test eax, eax
je 0x100496bb
mov eax, 1
jmp 0x100496bd
test edi, edi
je 0x100496bb
test eax, eax
je 0x100496bb
mov eax, 1
jmp 0x100496bd
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 0x1004f2bf
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 0x1004ed04
mov edi, dword [edi]
cmp dword [edi + 0xc], 0x100d2740
jne 0x10049746
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x220], eax
mov dword [esp + 0x44], 0
jmp 0x10049764
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 0x1004ef04
cmp dword [0x100d45d8], 0
jne 0x10049772
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [0x100d45d8], edx
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
mov eax, dword [edi - 4]
cmp dword [eax + 0xc], 0x100d2740
mov esi, dword [edi]
mov dword [esp + 0x6c], eax
jne 0x100497e4
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 0x10049811
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 0x100498c8
mov eax, dword [esi + 0xc]
cmp eax, 0x100d2740
je 0x100498c8
cmp eax, 0x100d2604
jne 0x10049832
mov edx, dword [esi + 0x10]
mov dword [esp + 0x144], edx
jmp 0x10049852
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 0x100498c8
dec dword [esi]
cmp dword [esi], 0
jg 0x100498b4
cmp dword [esi + 0xc], 0
je 0x10049885
mov edx, dword [esi + 0xc]
cmp dword [edx + 4], 0
je 0x10049885
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
add edi, 0xfffffffc
mov dword [esp + 0x3c], edi
mov dword [esp + 0x6c], 1
jmp 0x1004998b
mov eax, dword [esi + 4]
test eax, eax
je 0x1004989e
cmp eax, dword [0x100d25c4]
je 0x1004989e
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], ecx
mov dword [0x100d45d8], esi
add edi, 0xfffffffc
mov dword [esp + 0x3c], edi
mov dword [esp + 0x6c], 1
jmp 0x1004998b
mov eax, dword [esp + 0x6c]
mov ebx, dword [ebp + 8]
push esi
call fcn.1006c290
mov edi, eax
add esp, 4
mov dword [esp + 0x40], edi
test edi, edi
je 0x1004742c
inc dword [esp + 0x38]
jmp 0x1004f2bb
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], 0x100d2740
mov dword [esp + 0x6c], 5
jne 0x10049942
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 0x1004996b
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 0x1004ef04
cmp esi, 0xffffffff
jge 0x10049984
mov ecx, dword [esp + 0xe8]
lea edx, [esi + ecx + 1]
mov dword [esp + 0x144], edx
jmp 0x1004998b
mov dword [esp + 0x144], esi
mov eax, dword [esp + 0x144]
test eax, eax
jl 0x100499bc
cmp eax, dword [esp + 0xe8]
jge 0x100499bc
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 0x1004f31d
cmp dword [0x100d45d8], 0
jne 0x100499ca
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x100d25c4]
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 [0x100d45d8], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
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.1006c370
mov edi, eax
add esp, 0xc
mov dword [esp + 0x40], edi
test edi, edi
je 0x1004742c
add ebx, 5
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], esi
jmp 0x1004ed06
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 0x10049a9e
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
test esi, esi
jne 0x10049aac
inc dword [eax]
jmp 0x10049ac9
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.1006c5e0
add esp, 0x14
mov edi, eax
mov dword [esp + 0x40], edi
test eax, eax
je 0x1004742c
add ebx, 5
inc esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], esi
jmp 0x1004ed06
mov esi, dword [edi]
dec dword [esi]
sub edi, 4
cmp dword [esi], 0
mov dword [esp + 0x3c], edi
jg 0x10049b01
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.1006c4e0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x40], edi
test edi, edi
je 0x1004742c
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
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], 0x100d2740
jne 0x10049b9e
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 0x10049bce
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 0x1004ef04
mov eax, dword [esp + 0x244]
cmp byte [ebx + 9], 3
jne 0x10049be4
mov edi, dword [esp + 0x3c]
add ebx, 0xa
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
cmp edi, 0xffffffff
jge 0x10049bf7
lea edi, [edi + eax + 1]
cmp edi, 0xffffffff
jge 0x10049bfd
or edi, 0xffffffff
jmp 0x10049bfd
cmp edi, eax
jle 0x10049bfd
mov edi, eax
cmp esi, 0xffffffff
jge 0x10049c10
lea esi, [esi + eax + 1]
cmp esi, 0xffffffff
jge 0x10049c16
or esi, 0xffffffff
jmp 0x10049c16
cmp esi, eax
jle 0x10049c16
mov esi, eax
cmp edi, esi
jg 0x10049c5a
cmp edi, eax
jge 0x10049c5a
test esi, esi
jl 0x10049c5a
test edi, edi
jge 0x10049c28
xor edi, edi
cmp esi, eax
jl 0x10049c2f
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 0x1004f31d
cmp dword [0x100d45d8], 0
jne 0x10049c68
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x100d25c4]
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 [0x100d45d8], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
mov eax, dword [edi - 4]
cmp dword [eax + 4], 0
mov ecx, dword [edi]
mov dword [esp + 0x50], ecx
je 0x10049cba
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x230], edx
jmp 0x10049ccf
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], 0x100d2740
mov dword [esp + 0x6c], eax
jne 0x10049cf3
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x44], 0
jmp 0x10049d15
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 0x1004ef04
xor ecx, ecx
cmp dword [esp + 0x1c4], ecx
mov dword [esp + 0x68], ecx
jle 0x10049dee
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 0x10049d7c
cmp dword [eax + 4], 0
je 0x10049d69
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x254], edx
jmp 0x10049d81
lea ecx, [esp + 0x254]
push ecx
push eax
call sym.tcl85.dll_Tcl_GetStringFromObj
add esp, 8
jmp 0x10049d81
mov eax, 0x100bc9f9
mov edx, dword [esp + 0x254]
cmp dword [esp + 0x230], edx
jne 0x10049dce
mov esi, eax
mov eax, dword [esp + 0x6c]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10049db7
test cl, cl
je 0x10049db3
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10049db7
add eax, 2
add esi, 2
test cl, cl
jne 0x10049d97
xor eax, eax
jmp 0x10049dbc
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 0x10049dea
cmp dword [esp + 0x68], 0
je 0x10049d31
mov ecx, dword [esp + 0x68]
cmp byte [ebx], 0x6b
jne 0x10049dfc
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.0x10049e11
jmp dword [eax*4 + 0x100501cc]
mov eax, 2
test ecx, ecx
jne 0x10049e2b
jmp 0x10049e27
test ecx, ecx
je 0x10049e66
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 0x1004fcea
cmp dword [esi + 0xc], 0
je 0x1004fcba
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004fcba
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004fcea
mov eax, 2
jmp 0x10049e2b
test ecx, ecx
je 0x1004a00c
mov eax, 5
jmp 0x10049e2b
test ecx, ecx
je 0x10049e75
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 0x10049e2b
mov eax, dword [esp + 0x74]
mov edi, dword [eax + ecx*4 + 4]
inc dword [edi]
mov dword [esp + 0x40], edi
jmp 0x1004f2bf
mov esi, dword [edi]
mov eax, dword [edi - 4]
cmp eax, esi
jne 0x10049ec7
xor eax, eax
cmp cl, 0x49
jmp 0x10049fbe
cmp dword [eax + 4], 0
je 0x10049ee0
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov dword [esp + 0x238], ecx
mov dword [esp + 0x50], edx
jmp 0x10049ef5
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 0x10049f0a
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 0x20c], edx
jmp 0x10049f1b
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 0x10049fb9
cmp byte [ebx], 0x4a
mov esi, eax
mov eax, dword [esp + 0x50]
jne 0x10049f80
lea ebx, [ebx]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10049f69
test cl, cl
je 0x10049f5c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10049f69
add eax, 2
add esi, 2
test cl, cl
jne 0x10049f40
xor eax, eax
xor edx, edx
test eax, eax
setne dl
mov eax, edx
jmp 0x10049fc1
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
test eax, eax
setne dl
mov eax, edx
jmp 0x10049fc1
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10049fa9
test cl, cl
je 0x10049f9c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10049fa9
add eax, 2
add esi, 2
test cl, cl
jne 0x10049f80
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x10049fc1
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x10049fc1
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.0x10049fd2
jmp dword [ecx*4 + 0x100501dc]
test eax, eax
mov eax, 2
jne 0x10049e2b
jmp 0x10049e27
test eax, eax
jmp 0x10049e25
test eax, eax
je 0x10049e80
mov eax, 5
jmp 0x10049e2b
test eax, eax
je 0x10049e75
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 0x10049e2b
mov edx, dword [esp + 0x74]
mov edi, dword [edx + eax*4 + 4]
inc dword [edi]
mov dword [esp + 0x40], edi
jmp 0x1004f2bf
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, 0x100d2604
jne 0x1004a07e
lea ecx, [esi + 0x10]
mov dword [esp + 0x108], 1
mov dword [esp + 0xec], ecx
jmp 0x1004a12a
cmp eax, 0x100d2618
jne 0x1004a09f
lea edx, [esi + 0x10]
mov dword [esp + 0x108], 2
mov dword [esp + 0xec], edx
jmp 0x1004a12a
cmp eax, 0x100d25f0
jne 0x1004a0db
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 0x1004a121
cmp eax, ecx
jne 0x1004a0e8
cmp dword [esi + 4], ecx
je case.0x100474d2.75
cmp dword [esi + 4], ecx
je 0x1004a0f6
cmp dword [esi + 8], ecx
je case.0x100474d2.75
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0xf0]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.10079380
add esp, 8
test eax, eax
jne case.0x100474d2.75
mov eax, dword [esp + 0x108]
cmp eax, 5
je 0x1004a868
mov ecx, dword [esp + 0x48]
cmp esi, ecx
je 0x1004a879
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d2604
jne 0x1004a172
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.0x1004a8df
jmp dword [eax*4 + 0x100501ec]
cmp eax, 0x100d2618
jne 0x1004a180
mov esi, 2
jmp 0x1004a145
cmp eax, 0x100d25f0
jne 0x1004a1c5
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 0x1004a8ae
test eax, eax
jne 0x1004a1d2
cmp dword [ecx + 4], eax
je case.0x100474d2.75
mov ecx, dword [esp + 0x48]
cmp dword [ecx + 4], 0
je 0x1004a1de
cmp dword [ecx + 8], 0
je case.0x100474d2.75
lea edx, [esp + 0x148]
push edx
lea eax, [esp + 0x150]
push eax
mov eax, dword [esp + 0x50]
xor ecx, ecx
call fcn.10079380
add esp, 8
test eax, eax
je 0x1004a8a0
mov eax, dword [edi]
mov esi, dword [edi - 4]
mov dword [esp + 0x50], eax
cmp esi, eax
jne 0x1004a226
xor eax, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], eax
jmp 0x1004a41f
mov ecx, dword [esi + 0xc]
cmp ecx, 0x100d3a90
jne 0x1004a2fb
cmp dword [esi + 4], 0
jne 0x1004a2fb
cmp dword [eax + 0xc], 0x100d3a90
jne 0x1004a2fb
cmp dword [eax + 4], 0
jne 0x1004a2fb
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 0x1004a28f
mov ecx, edx
mov edx, eax
cmp ecx, 4
jb 0x1004a2aa
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x1004a2ae
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x1004a296
test ecx, ecx
je 0x1004a2f4
movzx eax, byte [esi]
movzx edi, byte [edx]
sub eax, edi
jne 0x1004a2e9
cmp ecx, 1
jbe 0x1004a2f4
movzx eax, byte [esi + 1]
movzx edi, byte [edx + 1]
sub eax, edi
jne 0x1004a2e9
cmp ecx, 2
jbe 0x1004a2f4
movzx eax, byte [esi + 2]
movzx edi, byte [edx + 2]
sub eax, edi
jne 0x1004a2e9
cmp ecx, 3
jbe 0x1004a2f4
movzx eax, byte [esi + 3]
movzx ecx, byte [edx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x1004a414
xor eax, eax
jmp 0x1004a414
cmp ecx, 0x100d1a5c
jne 0x1004a39f
cmp dword [eax + 0xc], 0x100d1a5c
jne 0x1004a39f
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 0x1004a37d
cmp eax, dword [edi + 8]
jne 0x1004a37d
cmp ecx, eax
jl 0x1004a34f
mov ecx, eax
mov edx, dword [edi + 4]
mov esi, dword [esi + 4]
cmp ecx, 4
jb 0x1004a2aa
mov edi, edi
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x1004a2ae
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x1004a360
jmp 0x1004a2aa
cmp ecx, eax
jge 0x1004a383
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 0x1004a411
cmp dword [esi + 4], 0
je 0x1004a3b4
mov edi, dword [esi + 8]
mov esi, dword [esi + 4]
mov dword [esp + 0xac], edi
jmp 0x1004a3d2
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 0x1004a3e7
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0xb0], ecx
jmp 0x1004a403
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 0x1004a409
mov ecx, edi
push ecx
push eax
push esi
call sym.tcl85.dll_TclpUtfNcmp2
add esp, 0xc
test eax, eax
jne 0x1004a426
mov eax, dword [esp + 0xac]
sub eax, dword [esp + 0xb0]
mov cl, byte [ebx]
cmp cl, 0x4b
je case.default.0x1004a438
movzx ecx, cl
add ecx, 0xffffffd3
cmp ecx, 5
ja case.default.0x1004a438
jmp dword [ecx*4 + 0x100501fc]
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp case.default.0x1004a438
xor ecx, ecx
test eax, eax
setne cl
jmp 0x1004a479
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp case.default.0x1004a438
xor ecx, ecx
test eax, eax
setg cl
jmp 0x1004a479
xor edx, edx
test eax, eax
setle dl
mov eax, edx
jmp case.default.0x1004a438
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
test eax, eax
jl 0x1004ba40
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 0x1004f2bf
mov edi, dword [edi]
cmp dword [edi + 0xc], 0x100d3a90
jne 0x1004a4c0
lea eax, [esp + 0x27c]
push eax
push edi
call sym.tcl85.dll_Tcl_GetByteArrayFromObj
add esp, 8
jmp 0x1004a4d0
push edi
call sym.tcl85.dll_Tcl_GetCharLength
add esp, 4
mov dword [esp + 0x27c], eax
mov edi, dword [0x100d45d8]
test edi, edi
jne 0x1004a4e5
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [0x100d45d8], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
mov eax, dword [edi]
mov edi, dword [edi - 4]
cmp dword [edi + 0xc], 0x100d3a90
mov dword [esp + 0x6c], 0
mov dword [esp + 0x64], eax
jne 0x1004a55c
cmp dword [edi + 4], 0
jne 0x1004a55c
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 0x1004a56c
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], 0x100d2604
jne 0x1004a58d
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x44], 0
jmp 0x1004a5bb
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 0x1004ef04
mov ecx, dword [esp + 0x210]
mov eax, dword [esp + 0x178]
test ecx, ecx
jl 0x1004a66f
cmp ecx, eax
jge 0x1004a66f
cmp dword [edi + 0xc], 0x100d3a90
jne 0x1004a5fd
cmp dword [edi + 4], 0
jne 0x1004a603
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 0x1004f2bf
cmp dword [edi + 4], 0
je 0x1004a62a
cmp eax, dword [edi + 8]
jne 0x1004a62a
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 0x1004f2bf
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 0x1004f2bf
mov edi, dword [0x100d45d8]
test edi, edi
jne 0x1004a684
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov eax, dword [edi + 0x10]
mov ecx, dword [0x100d25c4]
mov dword [0x100d45d8], 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 0x1004f2bf
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, 0x100d1a5c
je 0x1004a7bf
cmp dword [edi + 0xc], 0x100d1a5c
je 0x1004a7bf
cmp eax, 0x100d3a90
jne 0x1004a73f
cmp dword [esi + 4], 0
jne 0x1004a73f
test ecx, ecx
jne 0x1004a73f
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.10098630
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 0x1004f2bf
cmp dword [edi + 4], 0
je 0x1004a74a
mov edi, dword [edi + 4]
jmp 0x1004a755
push edi
call sym.tcl85.dll_Tcl_GetString
add esp, 4
mov edi, eax
cmp dword [esi + 4], 0
je 0x1004a78a
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 0x1004f2bf
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 0x1004f2bf
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 0x1004f2bf
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 0x1004a886
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 0x1004a886
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 0x1004f2bf
xor eax, eax
cmp byte [ebx], 0x2e
sete al
mov dword [esp + 0x54], eax
jmp case.default.0x1004aeff
mov dword [esp + 0x4c], 0
jmp case.default.0x1004a8df
push esi
call sym.tcl85.dll_Tcl_GetObjResult
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 1
jmp 0x1004ef0b
mov esi, dword [esp + 0x148]
mov edi, dword [esp + 0x14c]
cmp esi, 5
jne 0x1004a15a
xor ecx, ecx
cmp byte [ebx], 0x2e
sete cl
mov dword [esp + 0x54], ecx
jmp case.default.0x1004aeff
mov edx, dword [esp + 0xec]
mov eax, dword [edx]
dec esi
mov dword [esp + 0x64], eax
cmp esi, 3
ja case.default.0x1004a8df
jmp dword [esi*4 + 0x10050214]
mov edi, dword [edi]
cmp eax, edi
jge 0x1004a8f9
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x1004a8df
xor ecx, ecx
cmp eax, edi
setg cl
mov dword [esp + 0x4c], ecx
jmp case.default.0x1004a8df
mov esi, dword [edi]
mov edi, dword [edi + 4]
cdq
mov ecx, edx
jmp 0x1004abe9
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 0x1004ae47
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.0x1004a8df
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.0x1004a8df
jmp dword [esi*4 + 0x10050224]
mov esi, dword [edi]
mov edi, dword [edi + 4]
jmp 0x1004abf0
mov eax, dword [edi]
cdq
mov esi, eax
mov edi, edx
jmp 0x1004abf0
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.100b3af6
cmp dword [esp + 0x110], eax
jne 0x1004aa08
cmp dword [esp + 0x114], edx
je 0x1004ae47
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 [0x100c9598]
add esp, 0xc
fnstsw ax
test ah, 0x44
jp 0x1004ae47
fld qword [0x100c9630]
fld qword [esp + 0xc8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1004aa5b
fstp st(0)
mov dword [esp + 0x4c], 1
jmp case.default.0x1004a8df
fld qword [0x100c9628]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x1004aa79
fstp st(0)
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x1004a8df
call fcn.100b3af6
mov ecx, dword [esp + 0x114]
mov esi, eax
mov edi, edx
jmp 0x1004abf0
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.0x1004a8df
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.0x1004a8df
jmp dword [esi*4 + 0x10050234]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
jmp 0x1004ae47
fild dword [edi]
fstp qword [esp + 0xc8]
jmp 0x1004ae47
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.100b3af6
cmp esi, eax
jne 0x1004ab5c
cmp edi, edx
je 0x1004ae47
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 [0x100c9598]
add esp, 0xc
fnstsw ax
test ah, 0x44
jp 0x1004ae47
fld qword [0x100c9630]
fld qword [esp + 0xf0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1004abbd
fstp st(0)
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x1004a8df
fld qword [0x100c9628]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x1004abdb
fstp st(0)
mov dword [esp + 0x4c], 1
jmp case.default.0x1004a8df
call fcn.100b3af6
mov dword [esp + 0x114], edx
mov ecx, edx
mov dword [esp + 0x110], eax
cmp ecx, edi
jg 0x1004ac23
jl 0x1004abff
cmp dword [esp + 0x110], esi
jae 0x1004ac0c
mov dword [esp + 0x4c], 0xffffffff
jmp case.default.0x1004a8df
cmp ecx, edi
jl 0x1004a879
jg 0x1004ac23
cmp dword [esp + 0x110], esi
jbe 0x1004a879
mov dword [esp + 0x4c], 1
jmp case.default.0x1004a8df
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 0x1004ac76
fldz
fcomp qword [esp + 0xf0]
fnstsw ax
test ah, 5
jp 0x1004a8ec
mov dword [esp + 0x4c], 1
jmp case.default.0x1004a8df
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x1c8]
push eax
push ecx
push 0
call sym.tcl85.dll_Tcl_TakeBignumFromObj
fld qword [0x100c95f8]
fld qword [esp + 0xfc]
add esp, 0xc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1004acb7
fcomp qword [0x100c9610]
fnstsw ax
test ah, 0x41
jne 0x1004acb9
jmp 0x1004aaa5
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 [0x100c9598]
add esp, 0xc
fnstsw ax
test ah, 0x44
jnp 0x1004ad05
lea ecx, [esp + 0x1c8]
push ecx
call fcn.1008ff50
fstp qword [esp + 0xcc]
add esp, 4
lea edx, [esp + 0x1c8]
push edx
jmp 0x1004ae3f
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 0x1004aebb
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.0x1004a8df
jmp dword [esi*4 + 0x10050244]
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.0x1004a8df
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 0x1004adcc
fldz
mov dword [esp + 0x4c], 0xffffffff
fcomp qword [esp + 0xc8]
fnstsw ax
test ah, 5
jnp 0x1004adc0
mov dword [esp + 0x4c], 1
lea edx, [esp + 0x284]
jmp 0x1004aeeb
fld qword [0x100c95f8]
fld qword [esp + 0xc8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1004adf6
fcomp qword [0x100c9610]
fnstsw ax
test ah, 0x41
jne 0x1004adf8
jmp case.0x1004ad47.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 [0x100c9598]
add esp, 0xc
fnstsw ax
test ah, 0x44
jnp 0x1004ae86
lea eax, [esp + 0x284]
push eax
call fcn.1008ff50
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 0x1004ae6f
fstp st(0)
mov dword [esp + 0x4c], 0xffffffff
fstp st(0)
jmp case.default.0x1004a8df
fcompp
fnstsw ax
test ah, 0x41
jne 0x1004a879
mov dword [esp + 0x4c], 1
jmp case.default.0x1004a8df
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 0x1004aebb
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.0x1004aeff
jmp dword [eax*4 + 0x10050254]
xor eax, eax
cmp dword [esp + 0x4c], eax
sete al
mov dword [esp + 0x54], eax
jmp case.default.0x1004aeff
xor ecx, ecx
cmp dword [esp + 0x4c], ecx
setne cl
mov dword [esp + 0x54], ecx
jmp case.default.0x1004aeff
xor edx, edx
cmp dword [esp + 0x4c], 0xffffffff
sete dl
jmp 0x1004af5a
xor eax, eax
cmp dword [esp + 0x4c], 1
sete al
mov dword [esp + 0x54], eax
jmp case.default.0x1004aeff
xor ecx, ecx
cmp dword [esp + 0x4c], 1
setne cl
mov dword [esp + 0x54], ecx
jmp case.default.0x1004aeff
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.0x1004af73
jmp dword [eax*4 + 0x1005026c]
cmp dword [esp + 0x54], 0
mov eax, 2
jne 0x1004af8a
movsx eax, byte [ebx + 1]
mov edi, dword [esp + 0x3c]
jmp 0x10049e2b
cmp dword [esp + 0x54], 0
je 0x1004afa7
movsx eax, byte [ebx + 1]
mov edi, dword [esp + 0x3c]
jmp 0x10049e2b
mov edi, dword [esp + 0x3c]
mov eax, 2
jmp 0x10049e2b
cmp dword [esp + 0x54], 0
je 0x1004afca
mov edi, dword [esp + 0x3c]
mov eax, 5
jmp 0x10049e2b
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 0x10049e2b
cmp dword [esp + 0x54], 0
je 0x1004b021
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 0x10049e2b
mov edi, dword [esp + 0x3c]
mov eax, 5
jmp 0x10049e2b
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 0x1004f2bf
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, 0x100d2604
jne 0x1004b077
add esi, 0x10
mov dword [esp + 0x104], 1
mov dword [esp + 0xc4], esi
jmp 0x1004b12e
cmp eax, 0x100d2618
jne 0x1004b098
add esi, 0x10
mov dword [esp + 0x104], 2
mov dword [esp + 0xc4], esi
jmp 0x1004b12e
cmp eax, 0x100d25f0
jne 0x1004b0d4
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 0x1004b11c
test eax, eax
jne 0x1004b0e1
cmp dword [esi + 4], eax
je 0x1004def7
cmp dword [esi + 4], 0
je 0x1004b0f1
cmp dword [esi + 8], 0
je 0x1004def7
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0xc8]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.10079380
add esp, 8
test eax, eax
jne 0x1004def7
mov eax, dword [esp + 0x104]
cmp eax, 4
je 0x1004def7
cmp eax, 5
je 0x1004def7
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d2604
jne 0x1004b161
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 0x1004b240
cmp eax, 0x100d2618
jne 0x1004b18f
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 0x1004b240
cmp eax, 0x100d25f0
jne 0x1004b1e0
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 0x1004b22e
test eax, eax
jne 0x1004b1ed
cmp dword [ecx + 4], eax
je 0x1004bcae
cmp dword [ecx + 4], 0
je 0x1004b1fd
cmp dword [ecx + 8], 0
je 0x1004bcae
lea eax, [esp + 0x154]
push eax
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xa8]
push ecx
xor ecx, ecx
call fcn.10079380
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004bcae
mov esi, dword [esp + 0x154]
cmp esi, 4
je 0x1004bcae
cmp esi, 5
je 0x1004bcae
cmp byte [ebx], 0x39
jne 0x1004b745
xor ecx, ecx
cmp esi, 1
jne 0x1004b285
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx]
test ecx, ecx
je 0x1004fd5e
cmp ecx, esi
je 0x1004b26a
cmp ecx, 0xffffffff
jne 0x1004b281
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 0x1004f2bf
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x104]
cmp eax, 1
jne 0x1004b423
mov edx, dword [esp + 0xc4]
mov edi, dword [edx]
test edi, edi
jne 0x1004b2b9
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 0x1004f2bf
cmp esi, 1
jne 0x1004b330
mov eax, edi
cdq
idiv ecx
test eax, eax
jl 0x1004b2d9
jne 0x1004b2e3
test edi, edi
jge 0x1004b2d3
test ecx, ecx
jg 0x1004b2d9
test edi, edi
jle 0x1004b2e3
test ecx, ecx
jge 0x1004b2e3
mov edx, eax
imul edx, ecx
cmp edx, edi
je 0x1004b2e3
dec eax
imul eax, ecx
sub edi, eax
mov esi, edi
cmp dword [0x100d45d8], 0
jne 0x1004b2f8
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [0x100d45d8], ecx
mov dword [eax], esi
mov dword [edi + 0xc], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
cmp esi, 2
jne 0x1004b386
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 4]
mov esi, dword [eax]
test ecx, ecx
jl 0x1004b352
jg 0x1004b34b
test esi, esi
jbe 0x1004b352
mov eax, 1
jmp 0x1004b354
xor eax, eax
xor edx, edx
test edi, edi
setg dl
xor edx, eax
je 0x1004b415
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 0x1004f2bf
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 0x1004b405
mov eax, edi
lea edi, [esp + 0x3f0]
call fcn.10091d90
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 0x1004f2bf
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 0x1004fcea
cmp eax, 2
jne 0x1004b5fe
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 0x1004b548
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.100b3a10
mov esi, edx
mov dword [esp + 0x1d8], eax
test esi, esi
jl 0x1004b4e2
jg 0x1004b490
test eax, eax
jb 0x1004b4e2
mov ecx, dword [esp + 0x1d8]
or ecx, esi
jne 0x1004b518
mov eax, dword [esp + 0x25c]
test eax, eax
jg 0x1004b4cc
jl 0x1004b4ac
test edi, edi
jae 0x1004b4c2
cmp dword [esp + 0x134], 0
jg 0x1004b4e2
jl 0x1004b4c2
cmp dword [esp + 0x130], 0
ja 0x1004b4e2
test eax, eax
jl 0x1004b518
jg 0x1004b4cc
test edi, edi
jbe 0x1004b518
cmp dword [esp + 0x134], 0
jg 0x1004b518
jl 0x1004b4e2
cmp dword [esp + 0x130], 0
jae 0x1004b518
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.100b39d0
cmp eax, edi
jne 0x1004b50d
cmp edx, dword [esp + 0x25c]
je 0x1004b518
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.100b39d0
sub edi, eax
mov eax, dword [esp + 0x25c]
sbb eax, edx
push eax
push edi
jmp 0x1004b36c
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 0x1004b573
jg 0x1004b56c
test edi, edi
jbe 0x1004b573
mov eax, 1
jmp 0x1004b575
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x368], ecx
sete cl
xor ecx, eax
je 0x1004b5e0
push esi
push edi
lea eax, [esp + 0x428]
call fcn.10091df0
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 0x1004f2bf
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 0x1004fcea
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 0x1004b6be
mov edx, dword [esp + 0x2bc]
cmp edx, dword [esp + 0x3b8]
je 0x1004b6be
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 0x1004b72a
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 0x1004f2bf
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 0x1004fcea
mov eax, esi
sub eax, 1
je 0x1004b7b8
sub eax, 1
je 0x1004b7a2
sub eax, 1
jne 0x1004b7f0
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 0x1004b7c6
mov edx, dword [esp + 0xa4]
cmp dword [edx + 4], 0
jl 0x1004b7ca
jg 0x1004b7f7
cmp dword [edx], 0
jb 0x1004b7ca
jmp 0x1004b7f7
mov edx, dword [esp + 0xa4]
xor eax, eax
cmp dword [edx], eax
setl al
test eax, eax
je 0x1004b7f7
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 0x1004ef0b
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0xc4]
cmp eax, 1
jne 0x1004b826
cmp dword [ecx], 0
jne 0x1004b826
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 0x1004f2bf
cmp byte [ebx], 0x33
jne 0x1004b9cd
cmp esi, 1
jne 0x1004b9a7
mov esi, dword [edx]
cmp esi, 0x7fffffff
jg 0x1004b9a7
cmp eax, 1
jne 0x1004b8bc
cmp esi, 0x20
jae 0x1004b8c5
mov eax, dword [ecx]
mov dword [esp + 0x50], eax
test eax, eax
je 0x1004b8c5
jg 0x1004b85e
not eax
mov ecx, 0x1f
sub ecx, esi
or edx, 0xffffffff
shl edx, cl
test eax, edx
jne 0x1004b8c5
cmp dword [0x100d45d8], 0
jne 0x1004b87c
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x50]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], 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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
cmp eax, 3
je 0x1004bba7
cmp esi, 0x40
jae 0x1004bba7
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x100d2618
jne 0x1004b8f3
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], eax
jmp 0x1004b92a
cmp ecx, 0x100d2604
jne 0x1004b913
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
jmp 0x1004b938
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 0x1004b952
jg 0x1004b942
test eax, eax
jbe 0x1004b952
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], edx
jmp 0x1004b966
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.100b3b70
and eax, dword [esp + 0x270]
and edx, dword [esp + 0x274]
or eax, edx
jne 0x1004bba7
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x13c]
mov ecx, esi
call fcn.100b3b70
jmp 0x1004b36a
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 0x1004ef0b
cmp esi, 1
jne 0x1004b9e0
mov esi, dword [edx]
cmp esi, 0x7fffffff
jle 0x1004ba9c
sub eax, 1
je 0x1004ba78
sub eax, 1
je 0x1004ba33
sub eax, 1
jne 0x1004ba40
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 0x1004ba81
cmp dword [ecx + 4], 0
jg 0x1004ba85
jl 0x1004ba40
cmp dword [ecx], 0
ja 0x1004ba85
cmp dword [0x100d45d8], 0
jne 0x1004ba4e
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov edx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], edx
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [eax], 0xffffffff
jmp 0x1004b319
xor eax, eax
cmp dword [ecx], eax
setg al
mov esi, eax
test esi, esi
je 0x1004ba40
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 0x1004f2bf
cmp eax, 1
jne 0x1004bb63
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
cmp esi, 0x20
jb 0x1004bb15
test ecx, ecx
jl 0x1004bacb
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 0x1004f2bf
cmp dword [0x100d45d8], 0
jne 0x1004bad9
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [0x100d45d8], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
cmp dword [0x100d45d8], 0
jne 0x1004bb23
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov edx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], 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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
cmp eax, 2
jne 0x1004bba7
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp esi, 0x40
jb 0x1004bb9b
test edx, edx
jl 0x1004cbd4
jg 0x1004bb84
test eax, eax
jb 0x1004cbd4
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 0x1004f2bf
mov ecx, esi
call fcn.100b3dd0
jmp 0x1004b36a
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 0x1004bbee
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 0x1004bc58
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 0x1004bc48
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 0x1004bc8c
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 0x1004fcea
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 0x1004f2bf
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.10050370
mov dword [esp + 0x5c], 1
jmp 0x1004ef0b
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, 0x100d2604
jne 0x1004bd10
mov edi, 1
lea edx, [esi + 0x10]
mov dword [esp + 0x15c], edi
mov dword [esp + 0x17c], edx
jmp 0x1004bdca
cmp eax, 0x100d2618
jne 0x1004bd32
mov edi, 2
lea eax, [esi + 0x10]
mov dword [esp + 0x15c], edi
mov dword [esp + 0x17c], eax
jmp 0x1004bdca
cmp eax, 0x100d25f0
jne 0x1004bd70
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 0x1004bdb8
test eax, eax
jne 0x1004bd7d
cmp dword [esi + 4], eax
je 0x1004def7
cmp dword [esi + 4], 0
je 0x1004bd8d
cmp dword [esi + 8], 0
je 0x1004def7
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x180]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.10079380
add esp, 8
test eax, eax
jne 0x1004def7
mov edi, dword [esp + 0x15c]
cmp edi, 5
je 0x1004def7
cmp edi, 4
je 0x1004def7
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0xc]
cmp eax, 0x100d2604
jne 0x1004bdfb
mov eax, 1
add ecx, 0x10
mov dword [esp + 0x174], eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0x44], 0
jmp 0x1004beb8
cmp eax, 0x100d2618
jne 0x1004be09
mov eax, 2
jmp 0x1004bddd
cmp eax, 0x100d25f0
jne 0x1004be58
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 0x1004bea6
test eax, eax
jne 0x1004be65
cmp dword [ecx + 4], eax
je 0x1004c441
cmp dword [ecx + 4], 0
je 0x1004be75
cmp dword [ecx + 8], 0
je 0x1004c441
lea edx, [esp + 0x174]
push edx
lea eax, [esp + 0x188]
push eax
mov eax, dword [esp + 0x50]
xor ecx, ecx
call fcn.10079380
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004c441
mov eax, dword [esp + 0x174]
cmp eax, 5
je 0x1004c441
cmp eax, 4
je 0x1004c441
cmp edi, 3
je 0x1004bec6
cmp eax, 3
jne 0x1004c242
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 0x1004bf2d
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 0x1004bf4b
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 0x1004c0f5
sub eax, 1
je 0x1004c043
sub eax, 1
jne 0x1004c1d8
mov eax, dword [esp + 0x50]
sub eax, 0
je 0x1004bfe9
sub eax, 1
je 0x1004bfab
sub eax, 1
jne 0x1004c1d8
lea eax, [esp + 0xb4]
push eax
push esi
push edi
call sym.tcl85.dll_TclBN_mp_and
add esp, 0xc
jmp 0x1004c1d8
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 0x1004c1d8
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 0x1004c1d0
mov eax, dword [esp + 0x50]
sub eax, 0
je 0x1004c0b8
sub eax, 1
je 0x1004c071
sub eax, 1
jne 0x1004c1d8
lea eax, [esp + 0xb4]
push eax
push esi
push edi
call sym.tcl85.dll_TclBN_mp_xor
add esp, 0xc
jmp 0x1004c1d8
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 0x1004c1d0
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 0x1004c1d8
mov eax, dword [esp + 0x50]
sub eax, 0
je 0x1004c17b
sub eax, 1
je 0x1004c123
sub eax, 1
jne 0x1004c1d8
lea ecx, [esp + 0xb4]
push ecx
push esi
push edi
call sym.tcl85.dll_TclBN_mp_or
add esp, 0xc
jmp 0x1004c1d8
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 0x1004c1d0
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 0x1004c223
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 0x1004f2bf
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 0x1004fcea
cmp edi, 2
je 0x1004c250
cmp eax, 2
jne 0x1004c364
mov eax, dword [esi + 0xc]
cmp eax, 0x100d2618
jne 0x1004c270
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edi
jmp 0x1004c2a7
cmp eax, 0x100d2604
jne 0x1004c28d
mov eax, dword [esi + 0x10]
cdq
mov edi, edx
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edi
jmp 0x1004c2a7
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, 0x100d2618
jne 0x1004c2cb
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
jmp 0x1004c30b
cmp eax, 0x100d2604
jne 0x1004c2e6
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
jmp 0x1004c30b
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 0x1004c339
sub ecx, 1
je 0x1004c32e
sub ecx, 1
je 0x1004c323
xor eax, eax
xor edx, edx
jmp 0x1004c342
and eax, dword [esp + 0x198]
and edx, edi
jmp 0x1004c342
xor eax, dword [esp + 0x198]
xor edx, edi
jmp 0x1004c342
or eax, dword [esp + 0x198]
or edx, edi
cmp dword [esi], 1
push edx
push eax
jg 0x1004b36c
push esi
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
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 0x1004c39a
sub ecx, 1
je 0x1004c396
sub ecx, 1
je 0x1004c392
mov dword [esp + 0x48], 0
jmp 0x1004c3a0
and eax, edx
jmp 0x1004c39c
xor eax, edx
jmp 0x1004c39c
or eax, edx
mov dword [esp + 0x48], eax
cmp dword [esi], 1
jle 0x1004c3ef
cmp dword [0x100d45d8], 0
jne 0x1004c3b3
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [0x100d45d8], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
mov eax, dword [esi + 4]
test eax, eax
je 0x1004c40f
cmp eax, dword [0x100d25c4]
je 0x1004c408
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [esi + 4], 0
cmp dword [esi + 0xc], 0
je 0x1004c425
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x1004c425
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], 0x100d2604
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x48]
jmp 0x1004bcbd
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, 0x100d2604
jne 0x1004c48a
lea ecx, [edi + 0x10]
mov dword [esp + 0x88], 1
mov dword [esp + 0x10c], ecx
jmp 0x1004c53c
cmp eax, 0x100d2618
jne 0x1004c4ab
lea edx, [edi + 0x10]
mov dword [esp + 0x88], 2
mov dword [esp + 0x10c], edx
jmp 0x1004c53c
cmp eax, 0x100d25f0
jne 0x1004c4eb
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 0x1004c533
test eax, eax
jne 0x1004c4f8
cmp dword [edi + 4], eax
je 0x1004d7cd
cmp dword [edi + 4], 0
je 0x1004c508
cmp dword [edi + 8], 0
je 0x1004d7cd
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x110]
push ecx
mov eax, edi
xor ecx, ecx
call fcn.10079380
add esp, 8
test eax, eax
jne 0x1004d7cd
mov eax, dword [esp + 0x88]
cmp eax, 5
je 0x1004d7cd
mov eax, dword [esi + 0xc]
cmp eax, 0x100d2604
jne 0x1004c56d
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 0x1004c628
cmp eax, 0x100d2618
jne 0x1004c57b
mov esi, 2
jmp 0x1004c54b
cmp eax, 0x100d25f0
jne 0x1004c5cc
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 0x1004c61f
test eax, eax
jne 0x1004c5d9
cmp dword [esi + 4], eax
je 0x1004d7bd
cmp dword [esi + 4], 0
je 0x1004c5e9
cmp dword [esi + 8], 0
je 0x1004d7bd
lea edx, [esp + 0xdc]
push edx
lea eax, [esp + 0x18c]
push eax
mov eax, esi
xor ecx, ecx
call fcn.10079380
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004d7bd
mov esi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x188]
cmp esi, 5
je 0x1004d7bd
mov edx, dword [esp + 0x88]
cmp edx, 4
je 0x1004c63d
cmp esi, 4
jne 0x1004c8b5
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.0x1004c67d.57
movzx ecx, byte [eax + 0x10050294]
jmp dword [ecx*4 + 0x1005027c]
fld qword [esp + 0x1a8]
fadd qword [esp + 0x1b0]
fstp qword [esp + 0x120]
jmp 0x1004c7a8
fld qword [esp + 0x1b0]
fsub qword [esp + 0x1a8]
fstp qword [esp + 0x120]
jmp 0x1004c7a8
fld qword [esp + 0x1a8]
fmul qword [esp + 0x1b0]
fstp qword [esp + 0x120]
jmp 0x1004c7a8
fld qword [esp + 0x1b0]
fdiv qword [esp + 0x1a8]
fstp qword [esp + 0x120]
jmp 0x1004c7a8
fldz
fcom qword [esp + 0x1b0]
fnstsw ax
test ah, 0x44
jp 0x1004c757
fcomp qword [esp + 0x1a8]
fnstsw ax
test ah, 0x41
jne 0x1004c759
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 0x1004ef0b
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 0x1004c7a8
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 0x1004c807
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 0x1004ef0b
cmp dword [edi], 1
jle 0x1004c85d
mov edi, dword [0x100d45d8]
test edi, edi
jne 0x1004c821
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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], 0x100d25f0
inc dword [edi]
inc ebx
mov dword [0x100d45d8], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
mov eax, dword [edi + 4]
test eax, eax
je 0x1004c87d
cmp eax, dword [0x100d25c4]
je 0x1004c876
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [edi + 4], 0
cmp dword [edi + 0xc], 0
je 0x1004c893
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x1004c893
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], 0x100d25f0
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov al, byte [ebx]
cmp al, 0x37
jne 0x1004c9bd
cmp edx, 1
jne 0x1004c9bd
cmp esi, edx
jne 0x1004c9bd
mov eax, dword [edi + 0xc]
cmp eax, 0x100d2618
jne 0x1004c8f0
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], ecx
jmp 0x1004c91e
cmp eax, 0x100d2604
jne 0x1004c90b
mov eax, dword [edi + 0x10]
cdq
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], edx
jmp 0x1004c91e
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, 0x100d2618
jne 0x1004c943
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], edx
jmp 0x1004c976
cmp ecx, 0x100d2604
jne 0x1004c95f
mov eax, dword [eax + 0x10]
cdq
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], edx
jmp 0x1004c976
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.100b39d0
cmp dword [edi], 1
push edx
push eax
jg 0x1004b36c
push edi
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
cmp al, 0x63
jne 0x1004d1fa
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 0x1004ca10
mov edx, dword [ecx]
mov dword [esp + 0x4c], edx
test edx, edx
jne 0x1004c9fd
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 0x1004f2bf
cmp edx, 1
jne 0x1004ca10
mov edi, dword [esp + 0x3c]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov edx, esi
sub edx, 1
je 0x1004cb2a
sub edx, 1
je 0x1004caf7
sub edx, 1
jne 0x1004ca94
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 0x1004caaf
mov eax, dword [esp + 0x10c]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
cmp dword [esp + 0x68], 0
je 0x1004cb87
cmp dword [esp + 0x88], 1
jne 0x1004b80f
cmp eax, 0xffffffff
je 0x1004cb47
test eax, eax
je 0x1004c70a
cmp dword [esp + 0x50], 1
je 0x1004c9e6
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 0x1004f2bf
cmp dword [ecx + 4], 0
mov edx, dword [ecx]
jg 0x1004cb16
jl 0x1004cb05
test edx, edx
jae 0x1004cb16
and edx, 1
mov dword [esp + 0x68], 1
mov dword [esp + 0x48], edx
jmp 0x1004ca98
and edx, 1
mov dword [esp + 0x68], 0
mov dword [esp + 0x48], edx
jmp 0x1004ca98
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 0x1004ca98
test edx, edx
je 0x1004cb70
cmp dword [0x100d45d8], 0
jne 0x1004cb59
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], ecx
jmp 0x1004ba60
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 0x1004f2bf
mov ecx, dword [esp + 0x88]
cmp ecx, 1
jne 0x1004cba4
cmp eax, 0xffffffff
je 0x1004cbd0
test eax, eax
je 0x1004cbb9
cmp eax, ecx
je 0x1004c9e6
cmp esi, 1
je 0x1004cc35
push 0xffffffffffffffff
push str.exponent_too_large
jmp 0x1004b7d1
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 0x1004f2bf
test edx, edx
je 0x1004cc1e
cmp dword [0x100d45d8], 0
jne 0x1004cbe2
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [0x100d45d8], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
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 0x1004f2bf
cmp ecx, 1
jne 0x1004cef1
cmp eax, 2
jne 0x1004ccbb
mov eax, dword [esp + 0x4c]
cmp eax, 0x1f
jae 0x1004cc9d
cmp dword [0x100d45d8], 0
jne 0x1004cc5a
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], 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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
cmp eax, 0x3f
jae 0x1004d540
mov ecx, dword [esp + 0x4c]
mov eax, 1
xor edx, edx
call fcn.100b3b70
jmp 0x1004b36a
cmp eax, 0xfffffffe
jne 0x1004cd5c
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 0x1004cd2e
cmp dword [0x100d45d8], 0
jne 0x1004cce8
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], 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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x1004f2bf
cmp eax, 0x3f
jae 0x1004d540
mov ecx, dword [esp + 0x4c]
mov eax, 1
xor edx, edx
call fcn.100b3b70
mov ecx, eax
mov edi, edx
mov eax, esi
cdq
push edx
push eax
push edi
push ecx
call fcn.100b39d0
jmp 0x1004b36a
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffffe
cmp ecx, 7
jge 0x1004cdda
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffffe
mov ecx, dword [ecx*4 + 0x100b8f04]
cmp eax, ecx
jg 0x1004cdda
neg ecx
cmp eax, ecx
jl 0x1004cdda
mov ecx, dword [esp + 0x4c]
mov esi, eax
add ecx, 0xfffffffd
imul esi, eax
cmp ecx, 5
ja case.default.0x1004cd91
jmp dword [ecx*4 + 0x100502c4]
imul esi, eax
jmp case.default.0x1004cd91
imul esi, eax
jmp case.0x1004cd91.4
imul esi, eax
mov ecx, esi
imul ecx, esi
imul ecx, eax
mov esi, ecx
jmp case.default.0x1004cd91
imul esi, esi
mov edx, esi
imul esi, edx
cmp dword [edi], 1
jg 0x1004b2ea
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 0x1004fcea
lea ecx, [eax - 3]
test ecx, ecx
jl 0x1004ce71
lea esi, [eax - 2]
cmp esi, 9
jge 0x1004ce71
mov esi, dword [esp + 0x4c]
add esi, 0xfffffffe
cmp esi, 0x28
jge 0x1004ce71
mov cx, word [ecx*2 + 0x100b9054]
add cx, word [esp + 0x4c]
sub cx, 9
movzx esi, cx
lea ecx, [eax - 2]
cmp si, word [ecx*2 + 0x100b9054]
jae 0x1004ce71
cmp dword [edi], 1
jle 0x1004ce61
cmp dword [0x100d45d8], 0
jne 0x1004ce31
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov edx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [edi], 0
movzx ecx, si
mov dword [edi + 4], 0
mov dword [0x100d45d8], edx
mov edx, dword [ecx*4 + 0x100b9070]
mov dword [eax], edx
jmp 0x1004b319
movzx eax, si
mov ecx, dword [eax*4 + 0x100b9070]
push ecx
jmp 0x1004cdc3
mov ecx, 0xfffffffd
sub ecx, eax
js 0x1004cee6
mov ecx, 0xfffffffe
sub ecx, eax
cmp ecx, 9
jge 0x1004cee6
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffffe
cmp ecx, 0x28
jge 0x1004cee6
lea ecx, [eax + eax + 6]
mov esi, 0x100b9054
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, 0x100b9054
sub esi, eax
cmp cx, word [esi]
jae 0x1004cee6
test edx, edx
je 0x1004cece
movzx ecx, cx
mov esi, dword [ecx*4 + 0x100b9070]
neg esi
jmp 0x1004ced8
movzx edx, cx
mov esi, dword [edx*4 + 0x100b9070]
cmp dword [edi], 1
jle 0x1004cdc2
jmp 0x1004b2ea
mov eax, dword [esp + 0x50]
cdq
mov edi, eax
mov ebx, edx
jmp 0x1004cf06
cmp ecx, 2
jne 0x1004d540
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 0x1004d058
mov eax, dword [edx*8 + 0x100b90fc]
cmp ebx, eax
mov ecx, dword [edx*8 + 0x100b90f8]
jg 0x1004d058
jl 0x1004cf36
cmp edi, ecx
ja 0x1004d058
neg ecx
adc eax, 0
neg eax
cmp ebx, eax
jl 0x1004d058
jg 0x1004cf4f
cmp edi, ecx
jb 0x1004d058
push ebx
push edi
push ebx
push edi
call fcn.100b39d0
mov ecx, eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffffd
mov esi, edx
cmp eax, 0xd
ja case.default.0x1004cf6c
jmp dword [eax*4 + 0x100502dc]
mov eax, dword [esp + 0x50]
push esi
cdq
push ecx
jmp 0x1004d032
push esi
push ecx
push esi
push ecx
jmp 0x1004d034
push esi
push ecx
push esi
push ecx
call fcn.100b39d0
push ebx
push edi
jmp 0x1004d032
push ebx
push edi
push esi
push ecx
jmp 0x1004d02b
push ebx
push edi
push esi
push ecx
call fcn.100b39d0
push edx
push eax
push edx
push eax
call fcn.100b39d0
push ebx
push edi
jmp 0x1004d032
push esi
push ecx
push esi
push ecx
jmp 0x1004d02b
push esi
push ecx
jmp 0x1004cfa3
push esi
push ecx
push esi
push ecx
call fcn.100b39d0
push ebx
push edi
jmp 0x1004d029
push esi
push ecx
push esi
push ecx
call fcn.100b39d0
push ebx
push edi
push edx
push eax
jmp 0x1004cfa5
push ebx
push edi
jmp 0x1004d020
push ebx
push edi
push esi
push ecx
call fcn.100b39d0
push edx
push eax
push edx
push eax
jmp 0x1004cfa5
push ebx
push edi
push esi
push ecx
call fcn.100b39d0
push edx
push eax
push edx
push eax
call fcn.100b39d0
push ebx
push edi
jmp 0x1004d029
push ebx
push edi
push esi
push ecx
call fcn.100b39d0
push edx
push eax
push edx
push eax
call fcn.100b39d0
push ebx
push edi
push edx
push eax
jmp 0x1004cfa5
push esi
push ecx
push esi
push ecx
call fcn.100b39d0
push edx
push eax
push edx
push eax
call fcn.100b39d0
push edx
push eax
push edx
push eax
call fcn.100b39d0
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 0x1004f2bb
mov eax, edi
sub eax, 3
mov ecx, ebx
sbb ecx, 0
mov dword [esp + 0xd4], ecx
js 0x1004d121
jg 0x1004d079
test eax, eax
jb 0x1004d121
mov ecx, edi
sub ecx, 2
mov eax, ebx
sbb eax, 0
test eax, eax
jg 0x1004d121
jl 0x1004d096
cmp ecx, 0xc
jae 0x1004d121
cmp edx, 0x5b
jge 0x1004d121
mov ax, word [edi*2 + 0x100b916a]
add ax, si
sub ax, 0x11
movzx ecx, ax
cmp cx, word [edi*2 + 0x100b916c]
jae 0x1004d121
mov eax, dword [esp + 0x58]
mov esi, 1
cmp dword [eax], esi
jle 0x1004d0f4
movzx eax, cx
mov ecx, dword [eax*8 + 0x100b9194]
mov edx, dword [eax*8 + 0x100b9190]
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 0x1004f2bb
movzx ecx, cx
mov edx, dword [ecx*8 + 0x100b9194]
mov ecx, dword [ecx*8 + 0x100b9190]
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 0x1004fcea
mov eax, 0xfffffffd
sub eax, edi
mov ecx, 0xffffffff
sbb ecx, ebx
mov dword [esp + 0xd4], ecx
js 0x1004d540
jg 0x1004d146
test eax, eax
jb 0x1004d540
mov ecx, 0xfffffffe
sub ecx, edi
mov eax, 0xffffffff
sbb eax, ebx
test eax, eax
jg 0x1004d540
jl 0x1004d167
cmp ecx, 0xc
jae 0x1004d540
cmp edx, 0x5b
jge 0x1004d540
lea edx, [edi + edi + 6]
mov eax, 0x100b9170
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, 0x100b9170
sub ecx, edx
cmp ax, word [ecx]
jae 0x1004d540
cmp dword [esp + 0x48], 0
movzx eax, ax
je 0x1004d1bf
mov edx, dword [eax*8 + 0x100b9190]
mov eax, dword [eax*8 + 0x100b9194]
neg edx
adc eax, 0
neg eax
jmp 0x1004d1cd
mov edx, dword [eax*8 + 0x100b9190]
mov eax, dword [eax*8 + 0x100b9194]
mov ecx, dword [esp + 0x58]
mov esi, 1
cmp dword [ecx], esi
push eax
push edx
jg 0x1004d0db
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 0x1004fcea
cmp al, 0x37
je 0x1004d540
cmp dword [esp + 0x88], 3
je 0x1004d540
cmp dword [esp + 0xdc], 3
je 0x1004d540
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x100d2618
jne 0x1004d243
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
jmp 0x1004d272
cmp ecx, 0x100d2604
jne 0x1004d25f
mov eax, dword [eax + 0x10]
cdq
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp 0x1004d272
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, 0x100d2618
jne 0x1004d296
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
jmp 0x1004d2d2
cmp eax, 0x100d2604
jne 0x1004d2b1
mov eax, dword [ecx + 0x10]
cdq
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
jmp 0x1004d2d2
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 0x1004d482
sub esi, 1
je 0x1004d3f9
sub esi, 2
je 0x1004d2f5
xor edi, edi
xor esi, esi
jmp 0x1004d500
mov ecx, eax
or ecx, edx
je 0x1004fd5e
cmp dword [esp + 0x80], 0
jne 0x1004d321
cmp dword [esp + 0x84], 0x80000000
jne 0x1004d321
and eax, edx
cmp eax, 0xffffffff
je 0x1004d540
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.100b3a10
mov esi, edx
mov edi, eax
test esi, esi
jl 0x1004d3c1
jg 0x1004d354
test edi, edi
jb 0x1004d3c1
mov eax, edi
or eax, esi
jne 0x1004d500
mov eax, dword [esp + 0x84]
test eax, eax
jg 0x1004d3a3
jl 0x1004d375
cmp dword [esp + 0x80], 0
jae 0x1004d38b
cmp dword [esp + 0x9c], 0
jg 0x1004d3c1
jl 0x1004d38b
cmp dword [esp + 0x98], 0
ja 0x1004d3c1
test eax, eax
jl 0x1004d500
jg 0x1004d3a3
cmp dword [esp + 0x80], 0
jbe 0x1004d500
cmp dword [esp + 0x9c], 0
jg 0x1004d500
jl 0x1004d3c1
cmp dword [esp + 0x98], 0
jae 0x1004d500
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
push ecx
push edx
push esi
push edi
call fcn.100b39d0
cmp eax, dword [esp + 0x80]
jne 0x1004d3ee
cmp edx, dword [esp + 0x84]
je 0x1004d500
add edi, 0xffffffff
adc esi, 0xffffffff
jmp 0x1004d500
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 0x1004d430
cmp dword [esp + 0xdc], eax
jne 0x1004d500
mov eax, edi
xor eax, dword [esp + 0x80]
mov ecx, esi
xor ecx, dword [esp + 0x84]
mov dword [esp + 0xd4], ecx
jg 0x1004d500
jl 0x1004d459
test eax, eax
jae 0x1004d500
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 0x1004d4f8
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 0x1004d4b9
cmp dword [esp + 0xdc], ecx
jne 0x1004d500
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 0x1004d500
jl 0x1004d4dc
test ecx, ecx
jae 0x1004d500
mov ecx, dword [esp + 0x98]
xor ecx, dword [esp + 0x80]
xor eax, dword [esp + 0x84]
mov dword [esp + 0xd4], eax
jg 0x1004d540
jl 0x1004d500
test ecx, ecx
jae 0x1004d540
mov eax, dword [esp + 0x58]
cmp dword [eax], 1
push esi
push edi
jle 0x1004d525
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 0x1004f2bf
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 0x1004fcea
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.0x1004d598.57
movzx eax, byte [eax + 0x1005032c]
jmp dword [eax*4 + 0x10050314]
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 0x1004d754
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 0x1004d754
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 0x1004d754
cmp dword [esp + 0x1fc], 0
jne 0x1004d644
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 0x1004fd5e
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 0x1004d6c6
mov eax, dword [esp + 0x338]
cmp eax, dword [esp + 0x204]
je 0x1004d6c6
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.0x1004d598.57
mov esi, 1
cmp dword [esp + 0x1fc], esi
jle 0x1004d735
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 0x1004ef0b
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 0x1004d79e
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 0x1004f2bf
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 0x1004fcea
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x10], ecx
jmp 0x1004bcb9
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov ecx, edi
jmp 0x1004bcbd
mov edi, dword [edi]
mov eax, dword [edi + 0xc]
cmp eax, 0x100d2604
je 0x1004d81d
cmp eax, 0x100d25dc
je 0x1004d81d
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 0x1004d834
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x10], ecx
jmp 0x10049608
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 0x1004f31d
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, 0x100d2604
jne 0x1004d886
lea ecx, [esi + 0x10]
mov dword [esp + 0x160], 1
mov dword [esp + 0x150], ecx
mov dword [esp + 0x44], 0
jmp 0x1004d961
cmp eax, 0x100d2618
jne 0x1004d8af
lea ecx, [esi + 0x10]
mov dword [esp + 0x160], 2
mov dword [esp + 0x150], ecx
mov dword [esp + 0x44], 0
jmp 0x1004da13
cmp eax, 0x100d25f0
jne 0x1004d8f3
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 0x1004d946
test eax, eax
jne 0x1004d900
cmp dword [esi + 4], eax
je 0x1004def7
cmp dword [esi + 4], 0
je 0x1004d910
cmp dword [esi + 8], 0
je 0x1004def7
lea edx, [esp + 0x160]
push edx
lea eax, [esp + 0x154]
push eax
mov eax, esi
xor ecx, ecx
call fcn.10079380
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004def7
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x150]
cmp eax, 5
je 0x1004def7
cmp eax, 4
je 0x1004def7
cmp eax, 1
jne 0x1004da0e
cmp dword [esi], 1
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
jle 0x1004d9b8
cmp dword [0x100d45d8], 0
jne 0x1004d97a
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], 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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
mov eax, dword [esi + 4]
test eax, eax
je 0x1004d9de
cmp eax, dword [0x100d25c4]
je 0x1004d9d7
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 0x1004d9f8
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je 0x1004d9f8
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], 0x100d2604
mov dword [esp + 0x38], ebx
jmp 0x100473e0
cmp eax, 2
jne 0x1004da50
cmp dword [esi], 1
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not ecx
not eax
push ecx
push eax
jle 0x1004da3d
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 0x1004f31d
push esi
call sym.tcl85.dll_Tcl_SetWideIntObj
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x100473e0
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 0x1004daaf
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 0x1004f31d
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 0x100473e0
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, 0x100d2604
jne 0x1004daf9
mov ecx, 1
lea edi, [esi + 0x10]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x44], 0
jmp 0x1004dba9
cmp eax, 0x100d2618
jne 0x1004db07
mov ecx, 2
jmp 0x1004dadb
cmp eax, 0x100d25f0
jne 0x1004db4d
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 0x1004dba0
test eax, eax
jne 0x1004db5a
cmp dword [esi + 4], eax
je 0x1004de13
cmp dword [esi + 4], 0
je 0x1004db6a
cmp dword [esi + 8], 0
je 0x1004de13
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0x120]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.10079380
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004de13
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x11c]
cmp ecx, 5
je 0x1004de13
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x1004dbb5
jmp dword [eax*4 + 0x1005035c]
cmp dword [esi], 1
jle 0x1004dc12
cmp dword [0x100d45d8], 0
jne 0x1004dbcf
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
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], 0x100d25f0
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [0x100d45d8], edx
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
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 0x1004dc47
cmp eax, dword [0x100d25c4]
je 0x1004dc40
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 0x1004dc5d
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
test eax, eax
je 0x1004dc5d
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], 0x100d25f0
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov eax, dword [edi]
mov dword [esp + 0x50], eax
cmp eax, 0x80000000
je case.0x1004dbb5.2
cmp dword [esi], 1
jle 0x1004dce0
cmp dword [0x100d45d8], 0
jne 0x1004dca2
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0x10]
mov dword [0x100d45d8], 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], 0x100d2604
inc dword [edi]
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1004dd06
cmp ecx, dword [0x100d25c4]
je 0x1004dcff
mov edx, ecx
push edx
call dword [sym.imp.MSVCR90.dll_free]
mov eax, dword [esp + 0x54]
add esp, 4
mov dword [esi + 4], 0
cmp dword [esi + 0xc], 0
je 0x1004dd20
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x1004dd20
push esi
call ecx
mov eax, dword [esp + 0x54]
add esp, 4
mov edi, dword [esp + 0x3c]
neg eax
inc ebx
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0x100d2604
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov eax, dword [edi]
cmp ecx, 1
jne 0x1004dd44
cdq
jmp 0x1004dd47
mov edx, dword [edi + 4]
test eax, eax
jne 0x1004dd53
cmp edx, 0x80000000
je case.0x1004dbb5.3
cmp dword [esi], 1
jle 0x1004dd66
neg eax
adc edx, 0
neg edx
push edx
push eax
jmp 0x1004da23
neg eax
adc edx, 0
neg edx
push edx
push eax
push esi
call sym.tcl85.dll_Tcl_SetWideIntObj
mov edi, dword [esp + 0x48]
add esp, 0xc
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x100473e0
sub ecx, 2
je 0x1004dda4
sub ecx, 1
jne 0x1004ddba
lea edx, [esp + 0x3a0]
push edx
push esi
push ecx
call sym.tcl85.dll_Tcl_TakeBignumFromObj
add esp, 0xc
jmp 0x1004ddba
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
push ecx
lea eax, [esp + 0x3a8]
call fcn.10091df0
add esp, 8
lea edx, [esp + 0x3a0]
push edx
mov eax, edx
push eax
call sym.tcl85.dll_TclBN_mp_neg
add esp, 8
cmp dword [esi], 1
jle 0x1004ddf4
lea ecx, [esp + 0x3a0]
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 0x1004f31d
lea edx, [esp + 0x3a0]
push edx
push esi
call sym.tcl85.dll_Tcl_SetBignumObj
add esp, 8
mov edi, dword [esp + 0x3c]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov ecx, esi
jmp 0x1004bcbd
mov edi, dword [esp + 0x3c]
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
cmp eax, 0x100d2604
jne 0x1004de5f
lea edx, [esi + 0x10]
mov dword [esp + 0x158], 1
mov dword [esp + 0x16c], edx
mov eax, dword [esi + 4]
test eax, eax
jne 0x1004df6e
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x100473e0
cmp eax, 0x100d2618
jne 0x1004de7d
lea eax, [esi + 0x10]
mov dword [esp + 0x158], 2
mov dword [esp + 0x16c], eax
jmp 0x1004de4a
cmp eax, 0x100d25f0
jne 0x1004deb9
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 + 0x158], eax
mov dword [esp + 0x16c], ecx
jmp 0x1004df17
test eax, eax
jne 0x1004dec2
cmp dword [esi + 4], eax
je 0x1004deee
cmp dword [esi + 4], 0
je 0x1004dece
cmp dword [esi + 8], 0
je 0x1004deee
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x170]
push ecx
mov eax, esi
xor ecx, ecx
call fcn.10079380
add esp, 8
test eax, eax
je 0x1004df09
cmp byte [ebx], 0x3a
jne 0x1004e719
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x10], edx
mov ecx, esi
jmp 0x1004bcbd
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x16c]
cmp eax, 5
jne 0x1004de4a
cmp byte [ebx], 0x3a
mov dword [esp + 0x44], 1
jne 0x1004df3f
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x10], ecx
mov ecx, esi
jmp 0x1004bcc5
mov eax, dword [esp + 0x60]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
sub esp, 8
mov dword [eax + 0x10], edi
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 8]
push edx
mov dword [eax + 4], ecx
call sym.tcl85.dll_TclExprFloatError
add esp, 0xc
mov dword [esp + 0x5c], 1
jmp 0x1004ef0b
cmp dword [esi], 1
jle 0x1004dfa0
push esi
mov dword [esp + 0x68], eax
mov dword [esi + 4], 0
call sym.tcl85.dll_Tcl_DuplicateObj
mov ecx, dword [esp + 0x68]
mov edi, eax
mov dword [esi + 4], ecx
inc dword [edi]
add esp, 4
inc ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], ebx
jmp 0x1004f31d
cmp eax, dword [0x100d25c4]
je 0x1004dfb4
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
inc ebx
mov dword [esi + 4], 0
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov dword [esp + 0x44], 3
xor ebx, ebx
jmp 0x1004756a
mov dword [esp + 0x44], 4
xor ebx, ebx
jmp 0x1004756a
mov eax, dword [edi + 4]
test eax, eax
je 0x1004dffa
cmp eax, dword [0x100d25c4]
je 0x1004dffa
mov ecx, eax
push ecx
call esi
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], edx
mov dword [0x100d45d8], edi
test ebx, ebx
jne 0x100475a0
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x44], 3
jne 0x1004e043
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + 0x48]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], eax
mov ebx, eax
jmp 0x100473e0
cmp dword [eax + 0x14], 0xffffffff
je 0x1004ef04
mov eax, dword [eax + 0x14]
mov edx, dword [ebp + 0xc]
add eax, dword [edx + 0x48]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], eax
mov ebx, eax
jmp 0x100473e0
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 + 0x54]
mov edx, dword [ecx + eax*8 + 4]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x70]
lea esi, [ecx + eax*8]
mov eax, dword [esi + 4]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x1004e0f5
mov eax, dword [0x100d45d8]
test eax, eax
jne 0x1004e0be
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov dword [esi + 4], eax
mov edx, dword [eax + 0x10]
mov dword [eax], 0
mov ecx, dword [esi + 4]
mov dword [ecx + 4], 0
mov dword [0x100d45d8], edx
mov edx, dword [esi + 4]
mov dword [edx + 0x10], 0xffffffff
mov eax, dword [esi + 4]
mov dword [eax + 0xc], 0x100d2604
mov esi, dword [esi + 4]
inc dword [esi]
jmp 0x1004e14c
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004e120
cmp ecx, dword [0x100d25c4]
je 0x1004e119
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.MSVCR90.dll_free]
mov eax, dword [esp + 0x54]
add esp, 4
mov dword [eax + 4], 0
cmp dword [eax + 0xc], 0
je 0x1004e13e
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x1004e13e
mov edx, dword [esp + 0x50]
push edx
call ecx
mov eax, dword [esp + 0x54]
add esp, 4
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0x100d2604
add ebx, 5
mov dword [esp + 0x38], ebx
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 + 0x54]
mov eax, dword [ecx + eax*8 + 4]
mov edx, dword [eax]
mov ecx, dword [eax + 8]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x70]
mov esi, dword [edx + ecx*8 + 4]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
inc ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x48], ecx
test edx, edx
je 0x1004e1c3
cmp edx, dword [0x100d25c4]
je 0x1004e1bc
mov eax, edx
push eax
call dword [sym.imp.MSVCR90.dll_free]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esi + 4], 0
cmp dword [esi + 0xc], 0
je 0x1004e1e1
mov edx, dword [esi + 0xc]
mov edx, dword [edx + 4]
test edx, edx
je 0x1004e1e1
push esi
call edx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esi + 0x10], ecx
xor ecx, ecx
cmp dword [esp + 0x6c], ecx
mov dword [esi + 0xc], 0x100d2604
mov eax, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ecx
jle 0x1004e521
mov ecx, dword [esp + 0x70]
lea edx, [ecx + eax*8 + 4]
mov eax, dword [esp + 0x68]
add eax, 0xc
mov dword [esp + 0x58], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x4c], eax
lea ecx, [ecx]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x58]
mov eax, dword [edx]
cmp dword [eax + 0xc], 0x100d2740
mov esi, dword [ecx]
jne 0x1004e24e
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x44], 0
jmp 0x1004e26f
lea edx, [esp + 0x12c]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call sym.tcl85.dll_Tcl_ListObjLength
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004ef04
imul esi, dword [esp + 0x48]
cmp dword [esp + 0x12c], esi
jle 0x1004e285
mov dword [esp + 0x54], 1
mov eax, dword [esp + 0x50]
add dword [esp + 0x58], 8
add dword [esp + 0x4c], 4
inc eax
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x50], eax
jl 0x1004e220
cmp dword [esp + 0x54], 0
je 0x1004e521
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x64]
lea eax, [edx + eax*8 + 4]
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x100], ecx
nop
mov edx, dword [esp + 0x100]
mov eax, dword [edx]
mov edi, dword [eax]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
push ecx
xor eax, eax
mov dword [esp + 0xd4], edi
call fcn.1006bb20
mov esi, eax
add esp, 4
cmp dword [esi + 0xc], 0x100d2740
mov dword [esp + 0x64], esi
jne 0x1004e31f
mov eax, dword [esi + 0x10]
lea edx, [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x21c], edx
mov dword [esp + 0x12c], eax
jmp 0x1004e33c
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x21c]
push ecx
lea edx, [esp + 0x130]
push edx
push esi
push eax
call sym.tcl85.dll_Tcl_ListObjGetElements
add esp, 0x10
mov eax, edi
imul eax, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov dword [esp + 0xfc], 0
test edi, edi
jle 0x1004e4ac
mov ecx, dword [esp + 0x58]
add ecx, 4
mov dword [esp + 0x58], ecx
jmp 0x1004e374
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x12c]
jl 0x1004e3af
cmp dword [0x100d45d8], 0
jne 0x1004e38b
call sym.tcl85.dll_TclAllocateFreeObjects
mov ebx, dword [0x100d45d8]
mov edx, dword [ebx + 0x10]
mov ecx, dword [0x100d25c4]
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov dword [0x100d45d8], edx
mov dword [ebx + 0xc], eax
jmp 0x1004e3bd
mov edx, dword [esp + 0x21c]
mov eax, dword [esp + 0x68]
mov ebx, dword [edx + eax*4]
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
mov edx, dword [esp + 0x70]
test byte [edx + eax*8], 2
lea edi, [edx + eax*8]
je 0x1004e3d8
mov edi, dword [edi + 4]
test byte [edi], 2
jne 0x1004e3d0
test byte [edi], 0x2b
jne 0x1004e44a
mov esi, dword [edi + 4]
cmp ebx, esi
je 0x1004e47f
test esi, esi
je 0x1004e443
dec dword [esi]
cmp dword [esi], 0
jg 0x1004e443
cmp dword [esi + 0xc], 0
je 0x1004e412
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x1004e412
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov dword [edi + 4], ebx
inc dword [ebx]
jmp 0x1004e47f
mov eax, dword [esi + 4]
test eax, eax
je 0x1004e42d
cmp eax, dword [0x100d25c4]
je 0x1004e42d
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
mov dword [0x100d45d8], esi
mov dword [edi + 4], ebx
inc dword [ebx]
jmp 0x1004e47f
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [ebp + 8]
push 0x200
push ebx
push 0
push 0
push 0
push edi
push eax
mov dword [edx + 0x10], ecx
mov dword [esp + 0x7c], 1
call fcn.1009b1b0
add esp, 0x20
test eax, eax
je 0x1004e548
mov eax, dword [esp + 0xfc]
inc dword [esp + 0x68]
add dword [esp + 0x58], 4
inc eax
cmp eax, dword [esp + 0xd0]
mov dword [esp + 0xfc], eax
jl 0x1004e370
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
dec dword [esi]
cmp dword [esi], 0
jg 0x1004e4fd
cmp dword [esi + 0xc], 0
je 0x1004e4cd
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004e4cd
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004e4fd
mov eax, dword [esi + 4]
test eax, eax
je 0x1004e4e8
cmp eax, dword [0x100d25c4]
je 0x1004e4e8
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
mov eax, dword [esp + 0x50]
add dword [esp + 0x4c], 8
add dword [esp + 0x100], 4
inc eax
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x50], eax
jl 0x1004e2d0
mov edi, dword [esp + 0x3c]
add ebx, 5
cmp byte [ebx], 0x26
jne 0x1004e5b1
cmp dword [esp + 0x54], 0
mov eax, 2
jne 0x1004e53d
movsx eax, byte [ebx + 1]
add ebx, eax
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov esi, dword [esp + 0x64]
dec dword [esi]
cmp dword [esi], 0
mov dword [esp + 0x44], 1
jg 0x1004ef0b
cmp dword [esi + 0xc], 0
je 0x1004e57c
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004e57c
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ef0b
mov eax, dword [esi + 4]
test eax, eax
je 0x1004e597
cmp eax, dword [0x100d25c4]
je 0x1004e597
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
jmp 0x1004ef0b
cmp dword [esp + 0x54], 0
je 0x1004e5c8
mov eax, 5
add ebx, eax
mov dword [esp + 0x38], ebx
jmp 0x100473e0
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
add ebx, eax
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov eax, dword [esp + 0x94]
mov edx, edi
sub edx, dword [esp + 0x8c]
add eax, 4
sar edx, 2
add ebx, 5
mov dword [esp + 0x94], eax
mov dword [eax], edx
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov eax, dword [esp + 0x60]
sub dword [esp + 0x94], 4
push esi
mov dword [eax + 0x10], edi
call sym.tcl85.dll_Tcl_ResetResult
add esp, 4
inc ebx
mov dword [esp + 0x5c], 1
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], ebx
jmp 0x100473e0
push esi
call sym.tcl85.dll_Tcl_GetObjResult
mov dword [esp + 0x44], eax
mov eax, dword [0x100d45d8]
add esp, 4
test eax, eax
jne 0x1004e66f
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d25c4]
mov dword [0x100d45d8], 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]
add edi, 4
mov dword [esi + 0x1e4], eax
mov eax, dword [esp + 0x40]
inc ebx
mov dword [esp + 0x3c], edi
mov dword [edi], eax
mov dword [esp + 0x38], ebx
jmp 0x100473e0
cmp dword [0x100d45d8], 0
jne 0x1004e6b8
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov edx, dword [eax + 0x10]
lea ecx, [eax + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [0x100d45d8], edx
mov edx, dword [esp + 0x44]
mov dword [ecx], edx
add edi, 4
mov dword [eax + 0xc], 0x100d2604
mov dword [edi], eax
inc dword [eax]
inc ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov eax, dword [esp + 0x44]
push eax
push esi
call sym.tcl85.dll_Tcl_GetReturnOptions
add esp, 8
add edi, 4
mov dword [edi], eax
inc dword [eax]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x100473e0
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
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
lea edx, [esi*4]
mov ecx, edi
sub ecx, edx
cmp esi, 1
mov eax, dword [ecx]
jle 0x1004e773
mov edx, dword [ebp + 8]
push 0
add ecx, 4
push ecx
lea ecx, [esi - 1]
push ecx
push eax
push edx
call sym.tcl85.dll_TclTraceDictPath
add esp, 0x14
test eax, eax
je 0x1004b7e3
mov edx, dword [edi]
lea ecx, [esp + 0x40]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call sym.tcl85.dll_Tcl_DictObjGet
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004ef04
mov edi, dword [esp + 0x40]
test edi, edi
je 0x1004e7ad
add ebx, 5
inc esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], esi
jmp 0x1004ed04
mov ecx, dword [esp + 0x60]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x3c]
push esi
mov dword [ecx + 0x10], edi
call sym.tcl85.dll_Tcl_ResetResult
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
add esp, 4
test eax, eax
jne 0x1004e7d6
push ecx
call sym.tcl85.dll_Tcl_GetString
add esp, 4
push 0
push str.__not_known_in_dictionary
push eax
push str.key__
push esi
call sym.tcl85.dll_Tcl_AppendResult
mov eax, 1
add esp, 0x14
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], eax
jmp 0x1004ef0b
movzx edi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl edi, 8
or edi, edx
movzx edx, byte [ebx + 6]
shl edi, 8
or edi, eax
movzx eax, byte [ebx + 5]
shl eax, 8
or eax, edx
movzx edx, byte [ebx + 8]
shl edi, 8
or edi, ecx
movzx ecx, byte [ebx + 7]
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x70]
shl eax, 8
or eax, edx
test byte [ecx + eax*8], 2
mov dword [esp + 0x64], eax
lea eax, [ecx + eax*8]
mov dword [esp + 0x48], eax
je 0x1004e85d
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x1004e851
mov dword [esp + 0x48], eax
test byte [eax], 0x13
jne 0x1004e86d
cmp dword [eax + 4], 0
je 0x1004e86d
mov ebx, dword [eax + 4]
jmp 0x1004e89e
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x48]
push ecx
push 0
push 0
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 8]
push 0
push 0
call fcn.1009ae90
add esp, 0x14
mov ebx, eax
mov dword [esp + 0x5c], 1
xor esi, esi
cmp ebx, esi
jne 0x1004e8dc
mov ebx, dword [0x100d45d8]
cmp ebx, esi
jne 0x1004e8b9
call sym.tcl85.dll_TclAllocateFreeObjects
mov ebx, dword [0x100d45d8]
mov edx, dword [ebx + 0x10]
mov eax, dword [0x100d25c4]
mov dword [ebx], esi
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
mov dword [0x100d45d8], edx
mov dword [ebx + 0xc], esi
mov dword [esp + 0x54], 1
jmp 0x1004e8f7
xor eax, eax
cmp dword [ebx], 1
setg al
mov dword [esp + 0x54], eax
cmp eax, esi
je 0x1004e8f7
push ebx
call sym.tcl85.dll_Tcl_DuplicateObj
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x38]
movzx ecx, byte [eax]
sub ecx, 0x6f
je 0x1004ea86
sub ecx, 1
je 0x1004ea61
sub ecx, 1
je 0x1004e92b
push str.Should_not_happen_
mov dword [esp + 0x50], esi
call sym.tcl85.dll_Tcl_Panic
add esp, 4
jmp 0x1004eab0
movsx esi, byte [eax + 1]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
mov edi, dword [esp + 0x3c]
shl esi, 8
or esi, ecx
shl esi, 8
or esi, edx
mov edx, dword [edi]
lea ecx, [esp + 0x78]
push ecx
push edx
shl esi, 8
or esi, eax
mov eax, dword [ebp + 8]
push ebx
push eax
mov dword [esp + 0x5c], 1
call sym.tcl85.dll_Tcl_DictObjGet
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004eab7
push esi
call sym.tcl85.dll_Tcl_DbNewLongObj
add esp, 4
cmp dword [esp + 0x78], 0
jne 0x1004e99b
mov ecx, dword [edi]
push eax
push ecx
push ebx
push 0
call sym.tcl85.dll_Tcl_DictObjPut
add esp, 0x10
jmp 0x1004eab0
mov edx, dword [esp + 0x78]
mov edi, eax
inc dword [edi]
cmp dword [edx], 1
jle 0x1004e9cd
mov eax, edx
push eax
call sym.tcl85.dll_Tcl_DuplicateObj
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
add esp, 4
push eax
push edx
push ebx
push 0
mov dword [esp + 0x88], eax
call sym.tcl85.dll_Tcl_DictObjPut
add esp, 0x10
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x78]
push edi
push eax
call fcn.10046ec0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1004ea08
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ea08
cmp eax, dword [0x100d25c4]
je 0x1004ea01
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [ebx + 4], 0
dec dword [edi]
cmp dword [edi], 0
jg 0x1004eab0
cmp dword [edi + 0xc], 0
je 0x1004ea30
mov edx, dword [edi + 0xc]
cmp dword [edx + 4], 0
je 0x1004ea30
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004eab0
mov eax, dword [edi + 4]
test eax, eax
je 0x1004ea49
cmp eax, dword [0x100d25c4]
je 0x1004ea49
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], ecx
mov dword [0x100d45d8], edi
jmp 0x1004eab0
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
lea edx, [edi*4]
sub eax, edx
add eax, 4
push eax
push edi
push ebx
push ecx
mov dword [esp + 0x5c], edi
call sym.tcl85.dll_Tcl_DictObjRemoveKeyList
add esp, 0x10
jmp 0x1004eaac
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
lea edx, [edi + 1]
mov dword [esp + 0x4c], edx
push ecx
lea edx, [edi*4]
sub eax, edx
push eax
mov eax, dword [ebp + 8]
push edi
push ebx
push eax
call sym.tcl85.dll_Tcl_DictObjPutKeyList
add esp, 0x14
mov dword [esp + 0x44], eax
cmp dword [esp + 0x44], 0
je 0x1004eb1f
cmp dword [esp + 0x54], 0
je 0x1004ef04
dec dword [ebx]
cmp dword [ebx], 0
jg 0x1004ef04
cmp dword [ebx + 0xc], 0
je 0x1004eaea
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 4], 0
je 0x1004eaea
push ebx
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ef04
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004eb05
cmp eax, dword [0x100d25c4]
je 0x1004eb05
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [ebx + 8], 0xffffffff
mov dword [ebx + 0x10], eax
mov dword [0x100d45d8], ebx
jmp 0x1004ef04
mov edi, dword [esp + 0x48]
test byte [edi], 0x2b
jne 0x1004ec19
cmp dword [esp + 0x54], 0
je 0x1004eb90
mov esi, dword [edi + 4]
inc dword [ebx]
test esi, esi
je 0x1004eb8d
dec dword [esi]
cmp dword [esi], 0
jg 0x1004eb8d
cmp dword [esi + 0xc], 0
je 0x1004eb5d
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004eb5d
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004eb8d
mov eax, dword [esi + 4]
test eax, eax
je 0x1004eb78
cmp eax, dword [0x100d25c4]
je 0x1004eb78
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
mov dword [edi + 4], ebx
mov edi, ebx
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x38]
cmp byte [eax + 9], 3
jne 0x1004ecfb
add eax, 0xa
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
sub eax, 0
je 0x100473e0
sub eax, 1
je 0x1004fcea
sub eax, 1
je 0x10049e31
sub dword [esp + 0x4c], 2
je 0x10049e31
lea ecx, [ecx]
mov esi, dword [edi]
dec dword [esp + 0x4c]
dec dword [esi]
sub edi, 4
cmp dword [esi], 0
jg 0x1004eceb
cmp dword [esi + 0xc], 0
je 0x1004ecba
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x1004ecba
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004eceb
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
push eax
push 0x200
push ebx
push 0
mov esi, 1
add dword [ebx], esi
push 0
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ebp + 8]
push 0
push ecx
push edx
call fcn.1009b1b0
dec dword [ebx]
add esp, 0x20
cmp dword [ebx], 0
mov edi, eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], esi
jg 0x1004eca9
cmp dword [ebx + 0xc], 0
je 0x1004ec78
mov eax, dword [ebx + 0xc]
cmp dword [eax + 4], 0
je 0x1004ec78
push ebx
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004eca9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ec93
cmp eax, dword [0x100d25c4]
je 0x1004ec93
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [ebx + 8], 0xffffffff
mov dword [ebx + 0x10], edx
mov dword [0x100d45d8], ebx
test edi, edi
jne 0x1004eb96
mov dword [esp + 0x44], esi
jmp 0x1004ef0b
mov eax, dword [esi + 4]
test eax, eax
je 0x1004ecd5
cmp eax, dword [0x100d25c4]
je 0x1004ecd5
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
mov dword [0x100d45d8], esi
cmp dword [esp + 0x4c], 0
jne 0x1004ebe0
jmp 0x10049e31
add eax, 9
mov dword [esp + 0x38], eax
mov ebx, eax
inc dword [edi]
mov ecx, dword [esp + 0x4c]
mov eax, ecx
sub eax, 0
je 0x1004eda1
sub eax, 1
je 0x1004f31d
sub eax, 1
je 0x1004f2bf
sub ecx, 2
je 0x1004f2bf
mov eax, dword [esp + 0x3c]
mov esi, dword [eax]
dec dword [esi]
dec ecx
sub eax, 4
cmp dword [esi], 0
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x3c], eax
jg 0x1004ed94
cmp dword [esi + 0xc], 0
je 0x1004ed63
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x1004ed63
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ed94
mov eax, dword [esi + 4]
test eax, eax
je 0x1004ed7e
cmp eax, dword [0x100d25c4]
je 0x1004ed7e
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
mov dword [0x100d45d8], esi
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jne 0x1004ed30
jmp 0x1004f2bf
mov eax, dword [esp + 0x3c]
add eax, 4
mov dword [eax], edi
mov dword [esp + 0x3c], eax
mov edi, eax
jmp 0x100473e0
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 [esp + 0x70]
shl eax, 8
or eax, ecx
test byte [edx + eax*8], 2
lea esi, [edx + eax*8]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x48], esi
je 0x1004edfc
lea esp, [esp]
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x1004edf0
mov dword [esp + 0x48], esi
test byte [esi], 0x13
jne 0x1004ee0c
cmp dword [esi + 4], 0
je 0x1004ee0c
mov esi, dword [esi + 4]
jmp 0x1004ee31
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [ebp + 8]
push 0
push 0
push 0
push 0
mov dword [ecx + 0x10], edi
call fcn.1009ae90
add esp, 0x14
mov esi, eax
mov dword [esp + 0x5c], 1
test esi, esi
jne 0x1004ee70
mov esi, dword [0x100d45d8]
test esi, esi
jne 0x1004ee4a
call sym.tcl85.dll_TclAllocateFreeObjects
mov esi, dword [0x100d45d8]
mov edx, dword [esi + 0x10]
mov ecx, dword [0x100d25c4]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [0x100d45d8], edx
mov dword [esi + 0xc], eax
mov dword [esp + 0x54], 1
jmp 0x1004ee8b
xor eax, eax
cmp dword [esi], 1
setg al
mov dword [esp + 0x54], eax
test eax, eax
je 0x1004ee8b
push esi
call sym.tcl85.dll_Tcl_DuplicateObj
add esp, 4
mov esi, eax
mov eax, dword [edi - 4]
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x78]
push edx
push eax
push esi
push ecx
call sym.tcl85.dll_Tcl_DictObjGet
add esp, 0x10
mov dword [esp + 0x44], eax
test eax, eax
je 0x1004efcb
cmp dword [esp + 0x54], 0
je 0x1004ef04
dec dword [esi]
cmp dword [esi], 0
jg 0x1004ef04
cmp dword [esi + 0xc], 0
je 0x1004eed5
mov edx, dword [esi + 0xc]
cmp dword [edx + 4], 0
je 0x1004eed5
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ef04
mov eax, dword [esi + 4]
test eax, eax
je 0x1004eeee
cmp eax, dword [0x100d25c4]
je 0x1004eeee
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], ecx
mov dword [0x100d45d8], esi
cmp dword [esp + 0x44], 1
jne 0x1004ef5c
mov edi, dword [ebp + 8]
test byte [edi + 0x100], 4
jne 0x1004ef5c
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x2d0]
push eax
mov eax, dword [esp + 0x3c]
push esi
call fcn.10050560
add esp, 8
test eax, eax
je 0x1004ef5c
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x2d0]
mov edx, dword [esi + 0x18]
push ecx
push eax
push edx
push edi
call sym.tcl85.dll_Tcl_LogCommandInfo
add esp, 0x10
mov dword [esp + 0x5c], 1
mov eax, dword [ebp + 8]
and dword [eax + 0x100], 0xfffffffb
cmp dword [esp + 0x7c], 0
je 0x1004fdcc
mov ebx, dword [esp + 0x94]
jmp 0x1004ef80
mov esi, dword [esp + 0x7c]
cmp ebx, dword [esp + 0x128]
je 0x1004ef98
mov eax, dword [ebx]
cmp eax, dword [esi + 0x10]
jg 0x1004fdcc
mov edi, dword [esi + 0x14]
dec dword [esi]
cmp dword [esi], 0
jg 0x1004fdc0
cmp dword [esi + 0xc], 0
je 0x1004fd90
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004fd90
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004fdc0
movzx eax, byte [ebx]
sub eax, 0x72
je 0x1004f125
sub eax, 1
je 0x1004eff2
push str.Should_not_happen_
call sym.tcl85.dll_Tcl_Panic
mov edi, dword [esp + 0x7c]
add esp, 4
jmp 0x1004f15d
mov edi, dword [esp + 0x78]
test edi, edi
jne 0x1004f014
mov edx, dword [esp + 0x3c]
push edx
push 1
call sym.tcl85.dll_Tcl_NewListObj
mov edi, eax
mov dword [esp + 0x80], edi
jmp 0x1004f15a
cmp dword [edi], 1
jle 0x1004f104
push edi
call sym.tcl85.dll_Tcl_DuplicateObj
mov edx, dword [ebp + 8]
mov edi, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
add esp, 4
push ecx
push edi
push edx
mov dword [esp + 0x84], edi
call sym.tcl85.dll_Tcl_ListObjAppendElement
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
je 0x1004f15d
dec dword [edi]
cmp dword [edi], 0
jg 0x1004f0a1
cmp dword [edi + 0xc], 0
je 0x1004f070
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], 0
je 0x1004f070
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004f0a1
mov eax, dword [edi + 4]
test eax, eax
je 0x1004f08b
cmp eax, dword [0x100d25c4]
je 0x1004f08b
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], edx
mov dword [0x100d45d8], edi
cmp dword [esp + 0x54], 0
je 0x1004ef04
dec dword [esi]
cmp dword [esi], 0
jg 0x1004ef04
cmp dword [esi + 0xc], 0
je 0x1004f0d4
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x1004f0d4
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ef04
mov eax, dword [esi + 4]
test eax, eax
je 0x1004f0ef
cmp eax, dword [0x100d25c4]
je 0x1004f0ef
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
jmp 0x1004eefe
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
push ecx
push edi
push edx
call sym.tcl85.dll_Tcl_ListObjAppendElement
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
je 0x1004f15d
jmp 0x1004f0a1
mov edi, dword [esp + 0x78]
test edi, edi
jne 0x1004f139
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
mov dword [esp + 0x78], edi
jmp 0x1004f15d
cmp dword [edi], 1
jle 0x1004f14d
push edi
call sym.tcl85.dll_Tcl_DuplicateObj
mov edi, eax
add esp, 4
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
push edx
push edi
call sym.tcl85.dll_Tcl_AppendObjToObj
add esp, 8
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 4]
push edi
push ecx
push esi
push 0
call sym.tcl85.dll_Tcl_DictObjPut
mov edx, dword [esp + 0x58]
add esp, 0x10
test byte [edx], 0x2b
jne 0x1004f207
cmp dword [esp + 0x54], 0
je 0x1004f1fc
mov eax, edx
mov edi, dword [eax + 4]
inc dword [esi]
test edi, edi
je 0x1004f1f5
dec dword [edi]
cmp dword [edi], 0
jg 0x1004f1f5
cmp dword [edi + 0xc], 0
je 0x1004f1c5
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004f1c5
push edi
call sym.tcl85.dll_TclFreeObj
mov ecx, dword [esp + 0x4c]
mov edi, esi
add esp, 4
mov dword [ecx + 4], esi
mov dword [esp + 0x40], edi
jmp 0x1004f2a0
mov eax, dword [edi + 4]
test eax, eax
je 0x1004f1e0
cmp eax, dword [0x100d25c4]
je 0x1004f1e0
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], eax
mov dword [0x100d45d8], edi
mov ecx, dword [esp + 0x48]
mov dword [ecx + 4], esi
mov edi, esi
mov dword [esp + 0x40], edi
jmp 0x1004f2a0
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
inc dword [esi]
push ecx
push 0x200
push esi
push 0
push 0
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x5c]
mov eax, dword [ebp + 8]
push 0
push edx
push eax
call fcn.1009b1b0
dec dword [esi]
add esp, 0x20
cmp dword [esi], 0
mov edi, eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], 1
jg 0x1004f298
cmp dword [esi + 0xc], 0
je 0x1004f268
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004f268
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004f298
mov eax, dword [esi + 4]
test eax, eax
je 0x1004f283
cmp eax, dword [0x100d25c4]
je 0x1004f283
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
test edi, edi
je 0x1004b7e3
cmp byte [ebx + 5], 3
jne 0x1004f2b2
mov edi, dword [esp + 0x3c]
add ebx, 6
jmp 0x10049e2d
inc dword [edi]
add ebx, 5
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov esi, dword [eax]
dec dword [esi]
sub eax, 4
cmp dword [esi], 0
mov dword [esp + 0x3c], eax
jg 0x1004f31d
cmp dword [esi + 0xc], 0
je 0x1004f2ed
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004f2ed
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004f31d
mov eax, dword [esi + 4]
test eax, eax
je 0x1004f308
cmp eax, dword [0x100d25c4]
je 0x1004f308
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx]
dec dword [esi]
cmp dword [esi], 0
jg 0x1004f37e
cmp dword [esi + 0xc], 0
je 0x1004f34f
mov edx, dword [esi + 0xc]
cmp dword [edx + 4], 0
je 0x1004f34f
push esi
call sym.tcl85.dll_TclFreeObj
mov edx, dword [esp + 0x40]
mov dword [edx], edi
add esp, 4
mov edi, edx
jmp 0x100473e0
mov eax, dword [esi + 4]
test eax, eax
je 0x1004f368
cmp eax, dword [0x100d25c4]
je 0x1004f368
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], ecx
mov dword [0x100d45d8], esi
mov edx, dword [esp + 0x3c]
mov dword [edx], edi
mov edi, edx
jmp 0x100473e0
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 [edi]
shl esi, 8
or esi, ecx
shl esi, 8
sub edi, 4
push 0xc
or esi, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x40], edi
call sym.tcl85.dll_Tcl_Alloc
add esp, 4
lea ecx, [esp + 0x234]
push ecx
mov ecx, dword [esp + 0x68]
mov edi, eax
lea edx, [esp + 0x240]
push edx
mov edx, dword [ebp + 8]
lea eax, [esp + 0x288]
push eax
push edi
push ecx
push edx
mov dword [esp + 0xe8], edi
call sym.tcl85.dll_Tcl_DictObjFirst
add esp, 0x18
mov dword [esp + 0x44], eax
test eax, eax
je 0x1004f40b
push edi
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
jmp 0x1004ef04
mov edi, dword [0x100d45d8]
test edi, edi
jne 0x1004f420
call sym.tcl85.dll_TclAllocateFreeObjects
mov edi, dword [0x100d45d8]
mov ecx, dword [edi + 0x10]
mov edx, dword [0x100d25c4]
lea eax, [edi + 0x10]
mov dword [edi], 0
mov dword [edi + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [edi + 8], 0
mov dword [0x100d45d8], ecx
mov ecx, 0x100d2ab8
mov dword [edi + 0xc], ecx
mov dword [eax], edx
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x64]
lea esi, [edx + esi*8 + 4]
mov dword [edi + 0x14], eax
cmp dword [esi], 0
je 0x1004f4e4
mov eax, dword [esi]
cmp dword [eax + 0xc], ecx
je 0x1004f4d7
dec dword [eax]
mov eax, dword [esi]
cmp dword [eax], 0
jg 0x1004f4e4
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1004f49a
cmp dword [ecx + 4], 0
je 0x1004f49a
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov dword [esi], edi
inc dword [edi]
jmp 0x1004f54f
mov eax, dword [eax + 4]
test eax, eax
je 0x1004f4b3
cmp eax, dword [0x100d25c4]
je 0x1004f4b3
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esi]
mov edx, dword [0x100d45d8]
mov dword [eax + 8], 0xffffffff
mov ecx, dword [esi]
mov dword [ecx + 0x10], edx
mov eax, dword [esi]
mov dword [esi], edi
inc dword [edi]
mov dword [0x100d45d8], eax
jmp 0x1004f54f
push str.mis_issued_dictFirst_
call sym.tcl85.dll_Tcl_Panic
add esp, 4
mov dword [esi], edi
inc dword [edi]
jmp 0x1004f54f
movzx 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 [esp + 0x70]
shl ecx, 8
or ecx, edx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x1004f51e
cmp dword [esi + 0xc], 0x100d2ab8
je 0x1004f52b
push str.mis_issued_dictNext_
call sym.tcl85.dll_Tcl_Panic
add esp, 4
lea ecx, [esp + 0x234]
push ecx
mov ecx, dword [esi + 0x10]
lea edx, [esp + 0x240]
push edx
lea eax, [esp + 0x288]
push eax
push ecx
call sym.tcl85.dll_Tcl_DictObjNext
add esp, 0x10
mov esi, dword [esp + 0x234]
test esi, esi
je 0x1004f596
cmp dword [0x100d45d8], 0
jne 0x1004f568
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov edx, dword [eax + 0x10]
xor ecx, ecx
mov dword [eax], ecx
mov dword [0x100d45d8], edx
mov edx, dword [0x100d25c4]
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]
jmp 0x1004f5af
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x23c]
add ecx, 4
mov dword [ecx], eax
inc dword [eax]
mov eax, dword [esp + 0x280]
mov dword [ecx + 4], eax
inc dword [eax]
mov eax, dword [esp + 0x74]
mov eax, dword [eax + esi*4 + 4]
add ecx, 4
add ecx, 4
mov dword [ecx], eax
inc dword [eax]
add ebx, 5
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ebx
mov edi, ecx
jmp 0x100473e0
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 [esp + 0x70]
shl eax, 8
or eax, ecx
mov edi, dword [edx + eax*8 + 4]
mov dword [esp + 0xd0], eax
test edi, edi
jne 0x1004f61b
push str.mis_issued_dictDone_
call sym.tcl85.dll_Tcl_Panic
add esp, 4
cmp dword [edi + 0xc], 0x100d2ab8
jne 0x1004f721
mov esi, dword [edi + 0x10]
push esi
call sym.tcl85.dll_Tcl_DictObjDone
add esp, 4
push esi
call dword [sym.imp.MSVCR90.dll_free]
mov esi, dword [edi + 0x14]
dec dword [esi]
add esp, 4
cmp dword [esi], 0
jg 0x1004f693
cmp dword [esi + 0xc], 0
je 0x1004f662
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x1004f662
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004f693
mov eax, dword [esi + 4]
test eax, eax
je 0x1004f67d
cmp eax, dword [0x100d25c4]
je 0x1004f67d
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
mov dword [0x100d45d8], esi
dec dword [edi]
xor esi, esi
cmp dword [edi], esi
jg 0x1004f6e4
cmp dword [edi + 0xc], esi
je 0x1004f6b3
mov eax, dword [edi + 0xc]
cmp dword [eax + 4], esi
je 0x1004f6b3
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004f6e4
mov eax, dword [edi + 4]
cmp eax, esi
je 0x1004f6ce
cmp eax, dword [0x100d25c4]
je 0x1004f6ce
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], edx
mov dword [0x100d45d8], edi
cmp dword [0x100d45d8], esi
jne 0x1004f6f1
call sym.tcl85.dll_TclAllocateFreeObjects
mov eax, dword [0x100d45d8]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x100d25c4]
mov dword [eax], esi
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], esi
mov dword [0x100d45d8], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0xc], esi
mov dword [ecx + edx*8 + 4], eax
inc dword [eax]
mov edi, dword [esp + 0x3c]
add ebx, 5
mov dword [esp + 0x38], ebx
jmp 0x100473e0
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 [esp + 0x70]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 5]
lea esi, [edx + eax*8]
movzx edx, byte [ebx + 6]
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
test byte [esi], 2
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x54]
mov ecx, dword [edx + ecx*8 + 4]
mov dword [esp + 0x50], ecx
je 0x1004f798
lea esp, [esp]
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x1004f790
test byte [esi], 0x13
jne 0x1004f7ac
cmp dword [esi + 4], 0
je 0x1004f7ac
mov edx, dword [esi + 4]
mov dword [esp + 0x64], edx
jmp 0x1004f7de
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [ebp + 8]
push 0x200
push 0
push 0
push 0
mov dword [ecx + 0x10], edi
call fcn.1009ae90
add esp, 0x14
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], 1
test eax, eax
je 0x1004b7e3
mov eax, dword [edi]
cmp dword [eax + 0xc], 0x100d2740
jne 0x1004f802
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
lea edx, [eax + 0x10]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xa8], esi
jmp 0x1004f82e
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0xac]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call sym.tcl85.dll_Tcl_ListObjGetElements
add esp, 0x10
test eax, eax
jne 0x1004b7e3
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x50]
cmp esi, dword [ecx]
je 0x1004f843
push str.dictUpdateStart_argument_length_mismatch
call sym.tcl85.dll_Tcl_Panic
add esp, 4
mov dword [esp + 0x48], 0
test esi, esi
jle 0x10047783
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x48]
add esi, 4
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + edi*4]
mov eax, dword [ebp + 8]
lea edx, [esp + 0x2e0]
push edx
mov edx, dword [esp + 0x68]
push ecx
push edx
push eax
call sym.tcl85.dll_Tcl_DictObjGet
add esp, 0x10
test eax, eax
jne 0x1004b7e3
mov ecx, dword [esi]
mov edx, dword [esp + 0x70]
test byte [edx + ecx*8], 2
lea eax, [edx + ecx*8]
je 0x1004f8a8
lea esp, [esp]
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x1004f8a0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x2e0]
test ecx, ecx
jne 0x1004f8df
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x64]
mov edx, dword [edx + 0x30]
push ecx
mov ecx, dword [esi]
mov ebx, dword [edx + ecx*4 + 8]
push eax
xor edi, edi
call fcn.1009b770
mov edi, dword [esp + 0x50]
add esp, 8
jmp 0x1004f8ff
mov edx, dword [esi]
push edx
push 0x200
push ecx
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.1009b1b0
add esp, 0x20
test eax, eax
je 0x1004f930
inc edi
add esi, 4
cmp edi, dword [esp + 0xa8]
mov dword [esp + 0x5c], 1
mov dword [esp + 0x48], edi
jl 0x1004f85e
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add ebx, 9
mov dword [esp + 0x38], ebx
jmp 0x100473e0
mov dword [esp + 0x5c], 1
mov dword [esp + 0x44], 1
jmp 0x1004ef0b
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 [esp + 0x70]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 5]
shl ecx, 8
mov dword [esp + 0x64], eax
lea eax, [edx + eax*8]
movzx edx, byte [ebx + 6]
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
test byte [eax], 2
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x54]
mov ecx, dword [edx + ecx*8 + 4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x50], ecx
je 0x1004f9b1
mov eax, dword [eax + 4]
test byte [eax], 2
jne 0x1004f9a5
mov dword [esp + 0x68], eax
test byte [eax], 0x13
jne 0x1004f9c5
cmp dword [eax + 4], 0
je 0x1004f9c5
mov edx, dword [esp + 0x68]
mov edi, dword [edx + 4]
jmp 0x1004f9f6
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
push edx
push 0
push 0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 8]
push 0
push 0
call fcn.1009ae90
add esp, 0x14
mov edi, eax
mov dword [esp + 0x5c], 1
test edi, edi
jne 0x1004fa0a
mov edi, dword [esp + 0x3c]
add ebx, 9
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov esi, dword [ebp + 8]
lea eax, [esp + 0xa8]
push eax
push edi
push esi
call sym.tcl85.dll_Tcl_DictObjSize
add esp, 0xc
test eax, eax
jne 0x1004742c
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0x100d2740
jne 0x1004fa4f
mov eax, dword [eax + 0x10]
lea edx, [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xa8], eax
jmp 0x1004fa71
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0xac]
push edx
push eax
push esi
call sym.tcl85.dll_Tcl_ListObjGetElements
add esp, 0x10
test eax, eax
jne 0x1004742c
xor eax, eax
cmp dword [edi], 1
setg al
mov dword [esp + 0xd0], eax
test eax, eax
je 0x1004fa8f
push edi
call sym.tcl85.dll_Tcl_DuplicateObj
add esp, 4
mov edi, eax
cmp dword [esp + 0xa8], 0
mov dword [esp + 0x48], 0
jle 0x1004fb85
mov eax, dword [esp + 0x50]
add eax, 4
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx]
mov eax, dword [esp + 0x70]
test byte [eax + edx*8], 2
lea esi, [eax + edx*8]
je 0x1004facb
mov esi, dword [esi + 4]
test byte [esi], 2
jne 0x1004fac3
test byte [esi], 0x13
jne 0x1004fadb
cmp dword [esi + 4], 0
je 0x1004fadb
mov eax, dword [esi + 4]
jmp 0x1004fb08
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
push ecx
push 0
push 0
push 0
push 0
call fcn.1009ae90
add esp, 0x14
mov dword [esp + 0x5c], 1
test eax, eax
jne 0x1004fb2a
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0x48]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp + 8]
push ecx
push edi
push edx
call sym.tcl85.dll_Tcl_DictObjRemove
add esp, 0xc
jmp 0x1004fb6a
push eax
cmp edi, eax
jne 0x1004fb4e
call sym.tcl85.dll_Tcl_DuplicateObj
mov ecx, dword [esp + 0x4c]
add esp, 4
push eax
mov eax, dword [esp + 0xe8]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp + 8]
push edx
push edi
push eax
jmp 0x1004fb62
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp + 8]
push eax
push edi
push ecx
call sym.tcl85.dll_Tcl_DictObjPut
add esp, 0x10
mov eax, dword [esp + 0x48]
add dword [esp + 0x50], 4
inc eax
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x48], eax
jl 0x1004fab0
mov esi, dword [esp + 0x68]
test byte [esi], 0x2b
jne 0x1004fc15
inc dword [edi]
mov eax, dword [esi + 4]
dec dword [eax]
mov eax, dword [esi + 4]
cmp dword [eax], 0
jg 0x1004fc02
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1004fbca
cmp dword [ecx + 4], 0
je 0x1004fbca
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
add ebx, 9
mov dword [esi + 4], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov eax, dword [eax + 4]
test eax, eax
je 0x1004fbe3
cmp eax, dword [0x100d25c4]
je 0x1004fbe3
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [esi + 4]
mov ecx, dword [0x100d45d8]
mov dword [edx + 8], 0xffffffff
mov eax, dword [esi + 4]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 4]
mov dword [0x100d45d8], edx
add ebx, 9
mov dword [esi + 4], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], ebx
jmp 0x1004fcea
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
push edx
push 0x200
push edi
push 0
push 0
push 0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 8]
push esi
push eax
call fcn.1009b1b0
add esp, 0x20
mov esi, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], esi
test eax, eax
jne 0x1004f9fa
cmp dword [esp + 0xd0], eax
je 0x1004fcb1
dec dword [edi]
cmp dword [edi], eax
jg 0x1004fcb1
cmp dword [edi + 0xc], eax
je 0x1004fc81
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 4], eax
je 0x1004fc81
push edi
call sym.tcl85.dll_TclFreeObj
add esp, 4
mov dword [esp + 0x44], esi
jmp 0x1004ef0b
mov eax, dword [edi + 4]
test eax, eax
je 0x1004fc9c
cmp eax, dword [0x100d25c4]
je 0x1004fc9c
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], eax
mov dword [0x100d45d8], edi
mov dword [esp + 0x44], esi
jmp 0x1004ef0b
mov eax, dword [esi + 4]
test eax, eax
je 0x1004fcd5
cmp eax, dword [0x100d25c4]
je 0x1004fcd5
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
mov esi, dword [edi]
dec dword [esi]
sub edi, 4
cmp dword [esi], 0
mov dword [esp + 0x3c], edi
jg 0x100473e0
cmp dword [esi + 0xc], 0
je 0x1004fd1b
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1004fd1b
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x100473e0
mov eax, dword [esi + 4]
test eax, eax
je 0x1004fd36
cmp eax, dword [0x100d25c4]
je 0x1004fd36
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
jmp 0x100473e0
push eax
push str.TclExecuteByteCode:_unrecognized_opCode__u
call sym.tcl85.dll_Tcl_Panic
add esp, 8
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
push 0xffffffffffffffff
push str.divide_by_zero
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.divide_by_zero
push str.DIVZERO
jmp 0x1004c737
mov eax, dword [esi + 4]
test eax, eax
je 0x1004fdab
cmp eax, dword [0x100d25c4]
je 0x1004fdab
mov edx, eax
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], eax
mov dword [0x100d45d8], esi
mov dword [esp + 0x7c], edi
test edi, edi
jne 0x1004ef80
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x218], 0
jne 0x1004fec1
mov edx, dword [esp + 0x128]
cmp dword [esp + 0x94], edx
je 0x1004fec1
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x38]
mov edi, 1
call fcn.10050710
mov dword [esp + 0x6c], eax
test eax, eax
je 0x1004fec1
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x94]
mov eax, edi
sub eax, dword [esp + 0x8c]
mov ecx, eax
sar ecx, 2
cmp ecx, dword [edx]
jle 0x1004fe9e
mov ebx, eax
lea esp, [esp]
mov esi, dword [edi]
dec dword [esi]
sub edi, 4
sub ebx, 4
cmp dword [esi], 0
jg 0x1004fe8a
cmp dword [esi + 0xc], 0
je 0x1004fe59
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x1004fe59
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004fe8a
mov eax, dword [esi + 4]
test eax, eax
je 0x1004fe74
cmp eax, dword [0x100d25c4]
je 0x1004fe74
mov ecx, eax
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [0x100d45d8]
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x10], edx
mov dword [0x100d45d8], esi
mov ecx, dword [esp + 0x94]
mov eax, ebx
sar eax, 2
cmp eax, dword [ecx]
jg 0x1004fe30
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + 0x48]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
mov ebx, eax
jmp 0x100473e0
sub edi, 4
mov dword [esp + 0x3c], edi
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x8c]
cmp esi, edi
jbe 0x1004feed
mov eax, dword [esi]
dec dword [eax]
sub esi, 4
cmp dword [eax], 0
jg 0x1004fee5
push eax
call sym.tcl85.dll_TclFreeObj
add esp, 4
cmp esi, edi
ja 0x1004fed0
mov dword [esp + 0x3c], esi
cmp dword [esp + 0x7c], 0
je 0x1004ff52
or ebx, 0xffffffff
mov esi, dword [esp + 0x7c]
mov edi, dword [esi + 0x14]
add dword [esi], ebx
cmp dword [esi], 0
jg 0x1004ff4a
cmp dword [esi + 0xc], 0
je 0x1004ff1f
mov edx, dword [esi + 0xc]
cmp dword [edx + 4], 0
je 0x1004ff1f
push esi
call sym.tcl85.dll_TclFreeObj
add esp, 4
jmp 0x1004ff4a
mov eax, dword [esi + 4]
test eax, eax
je 0x1004ff38
cmp eax, dword [0x100d25c4]
je 0x1004ff38
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [0x100d45d8]
mov dword [esi + 8], ebx
mov dword [esi + 0x10], ecx
mov dword [0x100d45d8], esi
mov dword [esp + 0x7c], edi
test edi, edi
jne 0x1004fef7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
jae 0x1004ff99
mov edx, dword [ebp + 0xc]
sub eax, ecx
sar eax, 2
push 0
push eax
mov eax, dword [esp + 0x40]
sub eax, dword [edx + 0x48]
push eax
push str._nTclExecuteByteCode:_abnormal_return_at_pc__u:_stack_top__d___entry_stack_top__d_n
call dword [sym.imp.MSVCR90.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0x14
push str.TclExecuteByteCode_execution_failure:_end_stack_top___start_stack_top
call sym.tcl85.dll_Tcl_Panic
add esp, 4
mov eax, dword [esp + 0x128]
mov ecx, dword [ebp + 8]
add eax, 4
push eax
push ecx
call sym.tcl85.dll_TclStackFree
mov eax, dword [esp + 0x4c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret