Function at 0x1008aab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [ebp + 0x14]
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 0x18]
push esi
push edi
xor esi, esi
xor edi, edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
cmp eax, ecx
jne 0x1008ab20
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
cmp eax, ecx
jne 0x1008ab1d
push edx
call sym.tcl85.dll_Tcl_GetString
add esp, 4
xor ecx, ecx
mov dword [ebp + 0x14], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x28], ecx
je 0x1008ab3e
mov eax, dword [esp + 0x1c]
mov bl, byte [eax]
jmp 0x1008ab40
xor bl, bl
cmp edi, 0x1d
ja case.default.0x1008ab49
jmp dword [edi*4 + 0x1008be0c]
movsx ecx, bl
test byte [ecx + 0x100b7b90], 1
jne 0x1008ab61
cmp bl, 0xa
jne 0x1008ab7c
test byte [ebp + 0x20], 0x20
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x2b
jne 0x1008ab94
mov edi, 1
mov eax, edi
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x2d
jne case.0x1008ab49.1
mov edi, 1
mov eax, edi
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x30
jne 0x1008abd9
movsx edi, byte [ebp + 0x20]
and edi, 1
add edi, edi
add edi, edi
add edi, edi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
or edi, 2
xor ecx, ecx
jmp 0x1008ab30
mov al, byte [ebp + 0x20]
test al, 4
jne case.0x1008ab49.3
test al, 2
jne case.0x1008ab49.4
movzx edx, bl
push edx
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1008ac2d
movsx eax, bl
sub eax, 0x30
cdq
mov dword [esp + 0x50], eax
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x18], 1
mov edi, 0xa
xor ecx, ecx
jmp 0x1008ab30
test byte [ebp + 0x20], 8
jne 0x1008b747
cmp bl, 0x2e
jne 0x1008ac55
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xb
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x49
je 0x1008ac86
cmp bl, 0x69
je 0x1008ac86
cmp bl, 0x4e
je 0x1008ac6d
cmp bl, 0x6e
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x18
xor ecx, ecx
jmp 0x1008ab30
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x10
xor ecx, ecx
jmp 0x1008ab30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], 2
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
cmp bl, 0x78
je 0x1008ad1f
cmp bl, 0x58
je 0x1008ad1f
test byte [ebp + 0x20], 4
jne case.0x1008ab49.3
test byte [ebp + 0x20], 0x10
jne case.0x1008ab49.4
cmp bl, 0x62
je 0x1008ad06
cmp bl, 0x42
je 0x1008ad06
cmp bl, 0x6f
je 0x1008ace5
cmp bl, 0x4f
jne case.0x1008ab49.8
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x44], 1
mov edi, 4
xor ecx, ecx
jmp 0x1008ab30
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 5
xor ecx, ecx
jmp 0x1008ab30
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 3
xor ecx, ecx
jmp 0x1008ab30
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
cmp bl, 0x30
jne 0x1008ad6f
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
inc esi
mov dword [esp + 0x14], esi
mov edi, 8
xor ecx, ecx
jmp 0x1008ab30
mov cl, bl
sub cl, 0x31
cmp cl, 6
ja case.0x1008ab49.9
cmp dword [ebp + 0xc], 0
je 0x1008ae31
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
movsx ebx, bl
push edx
lea eax, [esp + 0x54]
push eax
lea esi, [ebx - 0x30]
push esi
lea eax, [esp + 0x6c]
lea edi, [ecx + ecx*2 + 3]
mov dword [esp + 0x58], esi
call fcn.1008bed0
add esp, 0xc
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], eax
jne 0x1008ae0f
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
or ecx, esi
je 0x1008ae6a
cmp edi, 0x40
jae 0x1008aded
or eax, 0xffffffff
or edx, 0xffffffff
mov ecx, edi
call fcn.100b2830
cmp esi, edx
jb 0x1008ae6a
ja 0x1008aded
cmp dword [esp + 0x58], eax
jbe 0x1008ae6a
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
push edx
push eax
lea esi, [esp + 0x78]
mov dword [esp + 0x40], 1
call fcn.10090d90
mov esi, dword [esp + 0x54]
add esp, 8
lea ecx, [esp + 0x70]
push ecx
mov edx, ecx
push edi
push edx
call sym.tcl85.dll_TclBN_mp_mul_2d
add esp, 0xc
lea eax, [esp + 0x70]
push eax
mov ecx, eax
push esi
push ecx
call sym.tcl85.dll_TclBN_mp_add_d
add esp, 0xc
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1008ae95
mov edx, dword [esp + 0x14]
lea eax, [eax + edx + 1]
mov dword [esp + 0x18], eax
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x14], 0
mov esi, dword [esp + 0x14]
mov edi, 8
xor ecx, ecx
jmp 0x1008ab30
lea eax, [ebx - 0x30]
cdq
mov ebx, eax
mov eax, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
mov edx, esi
mov ecx, edi
call fcn.100b25f0
add ebx, eax
mov eax, dword [esp + 0x4c]
adc eax, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], eax
jmp 0x1008ae31
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x14], 0
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], 1
mov edi, 8
xor ecx, ecx
jmp 0x1008ab30
cmp dword [esp + 0x44], 0
jne 0x1008b747
test byte [ebp + 0x20], 8
jne 0x1008b747
cmp bl, 0x30
jne 0x1008aefa
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
inc esi
mov dword [esp + 0x14], esi
mov edi, 9
xor ecx, ecx
jmp 0x1008ab30
movzx ecx, bl
push ecx
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1008af86
cmp dword [ebp + 0xc], 0
je 0x1008af34
mov edx, dword [esp + 0x10]
push edx
movsx ecx, bl
lea eax, [esp + 0x54]
push eax
sub ecx, 0x30
push ecx
lea eax, [esp + 0x6c]
mov ecx, esi
call fcn.1008bed0
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1008af61
lea edx, [eax + esi + 1]
xor esi, esi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
lea edi, [esi + 9]
xor ecx, ecx
jmp 0x1008ab30
xor esi, esi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], esi
lea edi, [esi + 9]
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x2e
jne 0x1008afa4
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xc
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x45
je 0x1008afb2
cmp bl, 0x65
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xd
xor ecx, ecx
jmp 0x1008ab30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], 7
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
cmp bl, 0x30
jne 0x1008b006
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
inc esi
mov dword [esp + 0x14], esi
mov edi, 7
xor ecx, ecx
jmp 0x1008ab30
movzx edx, bl
push edx
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1008b01c
sub bl, 0x30
jmp 0x1008b03a
mov al, bl
sub al, 0x41
cmp al, 5
ja 0x1008b029
sub bl, 0x37
jmp 0x1008b03a
mov cl, bl
sub cl, 0x61
cmp cl, 5
ja 0x1008b747
sub bl, 0x57
cmp dword [ebp + 0xc], 0
je 0x1008b0bf
cmp dword [esp + 0x10], 0
lea edi, [esi*4 + 4]
jne 0x1008b09a
mov edx, dword [esp + 0x50]
or edx, dword [esp + 0x54]
je 0x1008b0dc
cmp edi, 0x40
jae 0x1008b07c
or eax, 0xffffffff
or edx, 0xffffffff
mov ecx, edi
call fcn.100b2830
cmp dword [esp + 0x54], edx
jb 0x1008b0dc
ja 0x1008b07c
cmp dword [esp + 0x50], eax
jbe 0x1008b0dc
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
lea esi, [esp + 0x68]
mov dword [esp + 0x18], 1
call fcn.10090d90
add esp, 8
lea edx, [esp + 0x60]
push edx
mov eax, edx
push edi
push eax
call sym.tcl85.dll_TclBN_mp_mul_2d
add esp, 0xc
lea ecx, [esp + 0x60]
movsx edx, bl
push ecx
push edx
mov eax, ecx
push eax
call sym.tcl85.dll_TclBN_mp_add_d
add esp, 0xc
xor esi, esi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x14], esi
lea edi, [esi + 7]
xor ecx, ecx
jmp 0x1008ab30
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, edi
call fcn.100b25f0
mov ecx, eax
movsx eax, bl
mov esi, edx
cdq
add ecx, eax
adc esi, edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], esi
jmp 0x1008b0bf
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], 6
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
cmp bl, 0x30
jne 0x1008b13c
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
inc esi
mov dword [esp + 0x14], esi
mov edi, 6
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x31
jne 0x1008b747
cmp dword [ebp + 0xc], 0
je 0x1008b1c0
cmp dword [esp + 0x10], 0
lea edi, [esi + 1]
jne 0x1008b19d
mov eax, dword [esp + 0x50]
or eax, dword [esp + 0x54]
je 0x1008b1dd
cmp edi, 0x40
jae 0x1008b17f
or eax, 0xffffffff
or edx, 0xffffffff
mov ecx, edi
call fcn.100b2830
cmp dword [esp + 0x54], edx
jb 0x1008b1dd
ja 0x1008b17f
cmp dword [esp + 0x50], eax
jbe 0x1008b1dd
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
push ecx
push edx
lea esi, [esp + 0x68]
mov dword [esp + 0x18], 1
call fcn.10090d90
add esp, 8
lea eax, [esp + 0x60]
push eax
mov ecx, eax
push edi
push ecx
call sym.tcl85.dll_TclBN_mp_mul_2d
add esp, 0xc
lea edx, [esp + 0x60]
push edx
mov eax, edx
push 1
push eax
call sym.tcl85.dll_TclBN_mp_add_d
add esp, 0xc
xor esi, esi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x14], esi
lea edi, [esi + 6]
xor ecx, ecx
jmp 0x1008ab30
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, edi
call fcn.100b25f0
add eax, 1
adc edx, 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
jmp 0x1008b1c0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], 0xa
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
cmp bl, 0x30
jne 0x1008b237
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
inc esi
mov dword [esp + 0x14], esi
mov edi, 0xa
xor ecx, ecx
jmp 0x1008ab30
movzx eax, bl
push eax
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1008b29a
cmp dword [ebp + 0xc], 0
je 0x1008b271
mov ecx, dword [esp + 0x10]
push ecx
movsx eax, bl
lea edx, [esp + 0x54]
sub eax, 0x30
push edx
push eax
lea eax, [esp + 0x6c]
mov ecx, esi
call fcn.1008bed0
add esp, 0xc
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x18]
lea edx, [ecx + esi + 1]
xor esi, esi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
lea edi, [esi + 0xa]
xor ecx, ecx
jmp 0x1008ab30
test byte [ebp + 0x20], 8
jne 0x1008b8b4
cmp bl, 0x2e
jne 0x1008b2c2
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xc
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x45
je 0x1008b2d0
cmp bl, 0x65
jne 0x1008b8b4
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xd
xor ecx, ecx
jmp 0x1008ab30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], 0xc
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
cmp bl, 0x45
je 0x1008b30b
cmp bl, 0x65
jne case.0x1008ab49.11
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xd
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x30
jne 0x1008b34b
inc dword [esp + 0x3c]
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
inc esi
mov dword [esp + 0x14], esi
mov edi, 0xc
xor ecx, ecx
jmp 0x1008ab30
movzx edx, bl
push edx
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1008b747
mov edi, 1
add dword [esp + 0x3c], edi
cmp dword [ebp + 0xc], 0
je 0x1008b392
mov eax, dword [esp + 0x10]
push eax
movsx edx, bl
lea ecx, [esp + 0x54]
push ecx
sub edx, 0x30
push edx
lea eax, [esp + 0x6c]
mov ecx, esi
call fcn.1008bed0
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1008b3bf
lea eax, [eax + esi + 1]
mov dword [esp + 0x18], eax
xor esi, esi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x14], esi
lea edi, [esi + 0xc]
xor ecx, ecx
jmp 0x1008ab30
xor esi, esi
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
lea edi, [esi + 0xc]
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x2b
jne 0x1008b3fe
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xe
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x2d
jne case.0x1008ab49.14
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x48], 1
mov edi, 0xe
xor ecx, ecx
jmp 0x1008ab30
movzx ecx, bl
push ecx
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1008b747
movsx eax, bl
sub eax, 0x30
mov dword [esp + 0x34], eax
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0xf
xor ecx, ecx
jmp 0x1008ab30
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
movzx ecx, bl
push ecx
mov dword [esp + 0x24], 0xf
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x1008b8b4
mov eax, dword [esp + 0x34]
cmp eax, 0xccccccb
jge 0x1008b4bb
lea edx, [eax + eax*4]
movsx eax, bl
lea ecx, [eax + edx*2 - 0x30]
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x34], ecx
mov edi, 0xf
xor ecx, ecx
jmp 0x1008ab30
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov dword [esp + 0x34], accept
mov edi, 0xf
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x6e
je 0x1008b4ea
cmp bl, 0x4e
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x11
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x66
je 0x1008b511
cmp bl, 0x46
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x12
xor ecx, ecx
jmp 0x1008ab30
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], 0x12
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
cmp bl, 0x69
je 0x1008b550
cmp bl, 0x49
jne 0x1008b8b4
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x13
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x6e
je 0x1008b577
cmp bl, 0x4e
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x14
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x69
je 0x1008b59e
cmp bl, 0x49
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x15
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x74
je 0x1008b5c5
cmp bl, 0x54
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x16
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x79
je 0x1008b5ec
cmp bl, 0x59
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x17
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x61
je 0x1008b613
cmp bl, 0x41
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x19
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x6e
je 0x1008b63a
cmp bl, 0x4e
jne 0x1008b747
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x1a
xor ecx, ecx
jmp 0x1008ab30
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], 0x1a
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
cmp bl, 0x28
jne 0x1008b8b4
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x1b
xor ecx, ecx
jmp 0x1008ab30
cmp bl, 0x29
jne case.0x1008ab49.27
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
mov edi, 0x1d
xor ecx, ecx
jmp 0x1008ab30
movsx eax, bl
test byte [eax + 0x100b7b90], 1
jne case.default.0x1008ab49
cmp bl, 0xa
je case.default.0x1008ab49
cmp dword [esp + 0x18], 0xd
jge 0x1008b747
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x1008b6d3
mov bl, al
jmp 0x1008b6ef
mov cl, bl
sub cl, 0x61
cmp cl, 5
ja 0x1008b6e2
sub bl, 0x57
jmp 0x1008b6ef
mov dl, bl
sub dl, 0x41
cmp dl, 5
ja 0x1008b747
sub bl, 0x37
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
inc dword [esp + 0x18]
push 0
push 0x10
push eax
push ecx
call fcn.100b2450
mov ecx, eax
movsx eax, bl
mov edi, edx
cdq
add ecx, eax
adc edi, edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ecx
mov edi, 0x1c
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x28], eax
xor ecx, ecx
jmp 0x1008ab30
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x20], 0
jne 0x1008b8b4
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x40], 1
test eax, eax
je 0x1008b767
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
cmp dword [ebp + 8], 0
je case.default.0x1008b943
mov esi, dword [0x100d3554]
test esi, esi
jne 0x1008b786
call sym.tcl85.dll_TclAllocateFreeObjects
mov esi, dword [0x100d3554]
mov eax, dword [esi + 0x10]
push 0xa
mov dword [0x100d3554], eax
mov dword [esi], 0
call dword [sym.imp.MSVCR90.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1008b7b4
push 0xa
push str.unable_to_alloc__u_bytes
call sym.tcl85.dll_Tcl_Panic
add esp, 8
mov dword [esi + 4], ebx
mov ecx, dword [str.expected]
mov dword [ebx], ecx
mov edx, dword [0x100bc83c]
mov dword [ebx + 4], edx
mov al, byte [0x100bc840]
mov edx, dword [ebp + 0x10]
push 0
push accept
mov byte [ebx + 8], al
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
push edx
mov byte [ecx + 9], 0
push esi
mov dword [esi + 8], 9
mov dword [esi + 0xc], 0
call sym.tcl85.dll_Tcl_AppendLimitedToObj
add esp, 0x14
push 0
push accept
push 0xffffffffffffffff
push str._but_got__
push esi
call sym.tcl85.dll_Tcl_AppendLimitedToObj
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
add esp, 0x14
push 0x100bb739
push 0x32
push eax
push ecx
push esi
call sym.tcl85.dll_Tcl_AppendLimitedToObj
add esp, 0x14
push 0
push accept
push 0xffffffffffffffff
push 0x100bc30c
push esi
call sym.tcl85.dll_Tcl_AppendLimitedToObj
add esp, 0x14
cmp edi, 9
jne 0x1008b85d
push 0
push accept
push 0xffffffffffffffff
push str.__looks_like_invalid_octal_number_
push esi
call sym.tcl85.dll_Tcl_AppendLimitedToObj
add esp, 0x14
push esi
mov esi, dword [ebp + 8]
push esi
call sym.tcl85.dll_Tcl_SetObjResult
push 0
push str.NUMBER
push str.VALUE
push 0x100bc494
push esi
call sym.tcl85.dll_Tcl_SetErrorCode
add esp, 0x1c
cmp dword [esp + 0x38], 0
je 0x1008b895
lea edx, [esp + 0x70]
push edx
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
cmp dword [esp + 0x10], 0
je 0x1008b8a9
lea eax, [esp + 0x60]
push eax
call sym.tcl85.dll_TclBN_mp_clear
add esp, 4
mov eax, dword [esp + 0x40]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [ebp + 0x20], 0x20
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
jne 0x1008b8e9
test edx, edx
je 0x1008b8e9
jmp 0x1008b8d0
mov cl, byte [eax]
movsx ebx, cl
test byte [ebx + 0x100b7b90], 1
jne 0x1008b8e3
cmp cl, 0xa
jne 0x1008b8e9
inc eax
sub edx, 1
jne 0x1008b8d0
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
jne 0x1008b90a
test edx, edx
je 0x1008b90c
cmp dword [ebp + 0x18], ecx
jg 0x1008b8fd
cmp byte [eax], cl
je 0x1008b90c
mov dword [esp + 0x40], 1
jmp 0x1008b767
mov dword [ecx], eax
cmp dword [ebp + 0xc], 0
je case.default.0x1008b943
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x1008b92d
mov eax, dword [eax + 4]
test eax, eax
je 0x1008b92d
push ecx
call eax
add esp, 4
cmp dword [esp + 0x20], 0x1d
ja case.default.0x1008b943
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + 0x1008bea8]
jmp dword [eax*4 + 0x1008be84]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x20]
push ecx
push edx
push str.TclParseNumber:_bad_acceptState__d_parsing__s
call sym.tcl85.dll_Tcl_Panic
add esp, 0xc
cmp dword [esp + 0x10], 0
mov ebx, dword [esp + 0x54]
jne 0x1008b9bf
mov edi, dword [esp + 0x50]
mov eax, edi
or eax, ebx
je 0x1008b9bf
cmp esi, 0x40
jae 0x1008b999
mov eax, dword [esp + 0x24]
cdq
add eax, 0xffffffff
adc edx, 0x7fffffff
mov ecx, esi
call fcn.100b2830
cmp ebx, edx
jb 0x1008b9bf
ja 0x1008b999
cmp edi, eax
jbe 0x1008b9bf
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
push ecx
push edx
lea esi, [esp + 0x68]
mov dword [esp + 0x18], 1
call fcn.10090d90
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x1c]
add esp, 8
test esi, esi
je 0x1008b9f4
cmp dword [esp + 0x10], 0
jne 0x1008b9e3
mov eax, dword [esp + 0x50]
mov edx, ebx
mov ecx, esi
call fcn.100b25f0
mov ebx, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebx
jmp 0x1008b9ff
lea eax, [esp + 0x60]
push eax
push esi
mov ecx, eax
push ecx
call sym.tcl85.dll_TclBN_mp_mul_2d
add esp, 0xc
cmp dword [esp + 0x10], 0
jne 0x1008bcb5
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x50]
xor eax, eax
lea ecx, [edi + 0x7fffffff]
cmp ebx, eax
jb 0x1008bcfd
ja 0x1008ba21
cmp esi, ecx
jbe 0x1008bcfd
mov eax, edi
cdq
add eax, 0xffffffff
adc edx, 0x7fffffff
cmp ebx, edx
ja 0x1008bcdd
jb 0x1008ba3f
cmp esi, eax
ja 0x1008bcdd
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0x100d1618
test edi, edi
je 0x1008ba54
neg esi
adc ebx, 0
neg ebx
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], ebx
jmp case.default.0x1008b943
cmp dword [esp + 0x10], 0
mov ebx, dword [esp + 0x54]
lea edi, [esi*4]
jne 0x1008bac1
mov edx, dword [esp + 0x50]
or edx, ebx
je 0x1008bac1
cmp edi, 0x40
jae 0x1008ba9f
mov eax, dword [esp + 0x24]
cdq
add eax, 0xffffffff
adc edx, 0x7fffffff
mov ecx, edi
call fcn.100b2830
cmp ebx, edx
jb 0x1008bac1
ja 0x1008ba9f
cmp dword [esp + 0x50], eax
jbe 0x1008bac1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
lea esi, [esp + 0x68]
mov dword [esp + 0x18], 1
call fcn.10090d90
mov ebx, dword [esp + 0x5c]
add esp, 8
test edi, edi
je 0x1008b9f4
cmp dword [esp + 0x10], 0
jne 0x1008baec
mov eax, dword [esp + 0x50]
mov edx, ebx
mov ecx, edi
call fcn.100b25f0
mov ebx, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebx
jmp 0x1008b9ff
lea edx, [esp + 0x60]
push edx
push edi
mov eax, edx
push eax
jmp 0x1008b9ec
cmp dword [esp + 0x38], 0
mov ebx, dword [esp + 0x58]
lea edi, [esi + esi*2]
mov esi, dword [esp + 0x5c]
jne 0x1008bb5c
mov ecx, ebx
or ecx, esi
je 0x1008bb5c
cmp edi, 0x40
jae 0x1008bb36
mov eax, dword [esp + 0x24]
cdq
add eax, 0xffffffff
adc edx, 0x7fffffff
mov ecx, edi
call fcn.100b2830
cmp esi, edx
jb 0x1008bb5c
ja 0x1008bb36
cmp ebx, eax
jbe 0x1008bb5c
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
push edx
push eax
lea esi, [esp + 0x78]
mov dword [esp + 0x40], 1
call fcn.10090d90
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
add esp, 8
test edi, edi
je 0x1008bb91
cmp dword [esp + 0x38], 0
jne 0x1008bb80
mov eax, ebx
mov edx, esi
mov ecx, edi
call fcn.100b25f0
mov ebx, eax
mov esi, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], esi
jmp 0x1008bb98
lea ecx, [esp + 0x70]
push ecx
mov edx, ecx
push edi
push edx
call sym.tcl85.dll_TclBN_mp_mul_2d
add esp, 0xc
cmp dword [esp + 0x38], 0
jne 0x1008bc0e
mov edx, dword [esp + 0x24]
xor eax, eax
lea ecx, [edx + 0x7fffffff]
cmp esi, eax
jb 0x1008bc36
ja 0x1008bbb6
cmp ebx, ecx
jbe 0x1008bc36
mov ecx, dword [esp + 0x24]
mov eax, ecx
cdq
add eax, 0xffffffff
adc edx, 0x7fffffff
cmp esi, edx
ja 0x1008bbf0
jb 0x1008bbd0
cmp ebx, eax
ja 0x1008bbf0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0x100d1618
test ecx, ecx
je 0x1008bbe5
neg ebx
adc esi, 0
neg esi
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], esi
jmp 0x1008b895
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
push eax
push ecx
lea esi, [esp + 0x78]
call fcn.10090d90
add esp, 8
mov dword [esp + 0x38], 1
cmp dword [esp + 0x24], 0
je 0x1008bc25
lea edx, [esp + 0x70]
push edx
mov eax, edx
push eax
call sym.tcl85.dll_TclBN_mp_neg
add esp, 8
mov ebx, dword [ebp + 0xc]
lea esi, [esp + 0x70]
call fcn.10078320
jmp case.default.0x1008b943
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0x100d1604
test edx, edx
je 0x1008bc46
neg ebx
mov dword [eax + 0x10], ebx
jmp 0x1008b895
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x54]
push edx
lea ecx, [esi - 1]
push 0
lea eax, [esp + 0x6c]
call fcn.1008bed0
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1008bcb5
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x54]
cdq
add eax, 0xffffffff
adc edx, 0x7fffffff
cmp ebx, edx
jb 0x1008b9f4
ja 0x1008bc97
cmp dword [esp + 0x50], eax
jbe 0x1008b9f4
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
lea esi, [esp + 0x68]
mov dword [esp + 0x18], 1
call fcn.10090d90
add esp, 8
cmp dword [esp + 0x24], 0
je 0x1008bccc
lea ecx, [esp + 0x60]
push ecx
mov edx, ecx
push edx
call sym.tcl85.dll_TclBN_mp_neg
add esp, 8
mov ebx, dword [ebp + 0xc]
lea esi, [esp + 0x60]
call fcn.10078320
jmp case.default.0x1008b943
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
lea esi, [esp + 0x68]
call fcn.10090d90
add esp, 8
mov dword [esp + 0x10], 1
jmp 0x1008bcb5
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0x100d1604
test edi, edi
je 0x1008bd0d
neg esi
mov dword [eax + 0x10], esi
jmp case.default.0x1008b943
cmp dword [esp + 0x48], 0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0x100d15f0
je 0x1008bd30
mov ecx, dword [esp + 0x34]
neg ecx
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x10], 0
jne 0x1008bd67
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
sub eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x28]
push ecx
add eax, esi
push edx
call fcn.1008c040
mov eax, dword [ebp + 0xc]
fstp qword [eax + 0x10]
add esp, 0xc
jmp case.default.0x1008b943
mov esi, dword [esp + 0x34]
sub esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
add esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push ecx
lea edi, [esp + 0x64]
call fcn.1008c120
mov edx, dword [ebp + 0xc]
fstp qword [edx + 0x10]
add esp, 4
jmp case.default.0x1008b943
cmp dword [esp + 0x24], 0
mov eax, dword [sym.imp.MSVCR90.dll__HUGE]
je 0x1008bdb5
fld qword [eax]
mov eax, dword [ebp + 0xc]
fchs
mov dword [eax + 0xc], 0x100d15f0
fstp qword [eax + 0x10]
jmp case.default.0x1008b943
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov dword [eax + 0xc], 0x100d15f0
jmp case.default.0x1008b943
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
call fcn.1008c2a0
mov eax, dword [ebp + 0xc]
fstp qword [eax + 0x10]
add esp, 0xc
mov dword [eax + 0xc], 0x100d15f0
jmp case.default.0x1008b943
push str.TclParseNumber:_state_INITIAL_cant_happen_here
call sym.tcl85.dll_Tcl_Panic
add esp, 4
jmp case.default.0x1008b943