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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x11b4
call fcn.100b2720
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x11b0], eax
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x1028]
lea ecx, [esp + 0x1028]
lea edx, [esp + 0x3a8]
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x18], ecx
mov ecx, 1
mov esi, edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x24], 0xc8
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x20], 0xfffffffe
lea ebx, [esp + 0x88]
mov dword [esp + 0x14], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov word [edx], ax
mov edx, dword [esp + 0x24]
lea edx, [ecx + edx*2 - 2]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
cmp edx, ecx
ja 0x1003ad61
sub ecx, dword [esp + 0x28]
sar ecx, 1
inc ecx
cmp dword [esp + 0x24], 0x2710
mov ebx, ecx
mov dword [esp + 0x1c], ebx
jae 0x1003b6c7
mov eax, dword [esp + 0x24]
add eax, eax
mov dword [esp + 0x24], eax
cmp eax, 0x2710
jbe 0x1003ac32
mov dword [esp + 0x24], 0x2710
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
imul esi, esi, 0x16
add esi, 0x1e
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
je 0x1003b6b5
test ebx, ebx
jbe 0x1003ac81
mov edx, dword [esp + 0x28]
mov ecx, eax
sub edx, eax
mov dword [esp + 0x14], ebx
lea ebx, [ebx]
mov si, word [edx + ecx]
mov word [ecx], si
add ecx, 2
sub dword [esp + 0x14], 1
jne 0x1003ac70
mov esi, dword [esp + 0x24]
lea esi, [esi + esi + 0xf]
shr esi, 4
shl esi, 4
add esi, eax
mov dword [esp + 0x28], eax
test ebx, ebx
jbe 0x1003acb4
mov ecx, dword [esp + 0x2c]
mov eax, esi
sub ecx, esi
mov dword [esp + 0x2c], ebx
mov edx, dword [ecx + eax]
mov dword [eax], edx
add eax, 4
sub dword [esp + 0x2c], 1
jne 0x1003aca5
mov eax, dword [esp + 0x24]
lea ecx, [eax*4 + 0xf]
shr ecx, 4
shl ecx, 4
mov dword [esp + 0x2c], esi
add esi, ecx
test ebx, ebx
jbe 0x1003ad04
mov ecx, dword [esp + 0x48]
mov eax, esi
sub ecx, esi
mov dword [esp + 0x14], ebx
jmp 0x1003ace0
mov edx, dword [ecx + eax]
mov dword [eax], edx
mov edx, dword [ecx + eax + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + eax + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + eax + 0xc]
mov dword [eax + 0xc], edx
add eax, 0x10
sub dword [esp + 0x14], 1
jne 0x1003ace0
lea eax, [esp + 0x1028]
mov dword [esp + 0x48], esi
cmp dword [esp + 0x18], eax
je 0x1003ad23
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
lea ecx, [edx + ebx*2 - 2]
lea ebx, [eax + ebx*4 - 4]
mov eax, dword [esp + 0x1c]
shl eax, 4
lea esi, [eax + esi - 0x10]
mov eax, dword [esp + 0x24]
lea edx, [edx + eax*2 - 2]
mov dword [esp + 0x18], ecx
cmp edx, ecx
mov dword [esp + 0x14], esi
mov ecx, 1
jbe 0x1003af47
mov eax, dword [esp + 0x10]
jmp 0x1003ad66
mov ecx, 1
movsx edx, byte [eax + 0x100b85f8]
mov dword [esp + 0x1c], edx
cmp edx, 0xffffffea
je 0x1003aed7
mov ecx, dword [esp + 0x20]
cmp ecx, 0xfffffffe
jne 0x1003adab
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x60]
push ecx
mov esi, edi
call fcn.1003bde0
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
add esp, 8
test ecx, ecx
jg 0x1003adb7
xor ecx, ecx
mov dword [esp + 0x20], ecx
jmp 0x1003add1
cmp ecx, 0x112
ja 0x1003adcc
mov ecx, dword [esp + 0x20]
movzx ecx, byte [ecx + 0x100b8400]
jmp 0x1003add1
mov ecx, 2
add edx, ecx
mov dword [esp + 0x1c], edx
cmp edx, 0x4f
ja 0x1003aed2
movzx edx, byte [edx + 0x100b86b0]
cmp edx, ecx
jne 0x1003aed2
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 0x100b8660]
test edx, edx
jg 0x1003ae77
je 0x1003aeec
cmp edx, 0xffffffff
je 0x1003aeec
neg edx
mov dword [esp + 0x1c], edx
mov ecx, 1
mov edx, dword [esp + 0x1c]
movzx eax, byte [edx + 0x100b8550]
mov dword [esp + 0x14], eax
lea edx, [eax*4]
mov eax, ebx
sub eax, edx
mov dword [esp + 0x64], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1003b054
mov edx, eax
shl edx, 4
mov eax, esi
sub eax, edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x4c], edx
mov edx, dword [esi + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
jmp 0x1003b073
cmp edx, 2
je 0x1003b6e3
cmp dword [esp + 0x30], 0
je 0x1003ae8b
dec dword [esp + 0x30]
cmp dword [esp + 0x20], 0
je 0x1003ae9a
mov dword [esp + 0x20], 0xfffffffe
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edx, dword [esp + 0x5c]
mov dword [ebx + 4], edx
mov edx, dword [esp + 0x38]
add ebx, 4
add esi, 0x10
add dword [esp + 0x18], 2
mov dword [esi], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x40]
mov dword [esi + 8], ecx
mov dword [esp + 0x14], esi
mov dword [esi + 0xc], edx
jmp 0x1003abdb
mov ecx, 1
movzx edx, byte [eax + 0x100b8590]
mov dword [esp + 0x1c], edx
test edx, edx
jne 0x1003ae18
jmp 0x1003aef1
mov ecx, 1
cmp dword [esp + 0x30], 0
jne 0x1003af17
inc dword [esp + 0x60]
lea eax, [esp + 0x34]
push str.syntax_error
push eax
call fcn.1003b7c0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, 1
cmp dword [esp + 0x30], 3
mov edx, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x74], edx
jne 0x1003af83
cmp dword [esp + 0x20], 0
jg 0x1003af7b
jne 0x1003af83
mov esi, ecx
lea ecx, [esp + 0x1028]
cmp dword [esp + 0x28], ecx
je 0x1003af64
mov edx, dword [esp + 0x28]
push edx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov ecx, dword [esp + 0x11bc]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.100b1b48
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x20], 0xfffffffe
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], 3
nop
movsx eax, byte [eax + 0x100b85f8]
cmp eax, 0xffffffea
je 0x1003afb7
add eax, ecx
cmp eax, 0x4f
ja 0x1003afb7
cmp byte [eax + 0x100b86b0], 1
jne 0x1003afb7
movzx eax, byte [eax + 0x100b8660]
test eax, eax
jg 0x1003afef
cmp edx, dword [esp + 0x28]
je 0x1003af47
mov eax, dword [esi]
mov dword [esp + 0x68], eax
mov edx, dword [esi + 4]
mov dword [esp + 0x6c], edx
mov eax, dword [esi + 8]
mov dword [esp + 0x70], eax
mov edx, dword [esi + 0xc]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x18]
movsx eax, word [edx - 2]
sub edx, 2
sub ebx, 4
mov dword [esp + 0x18], edx
sub esi, 0x10
jmp 0x1003af90
cmp eax, 2
je 0x1003b6e3
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x34]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x38]
add ebx, 4
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x6c]
add esi, 0x10
add dword [esp + 0x18], 2
mov dword [esi], edx
mov edx, dword [esp + 0x3c]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esi + 8], edx
mov dword [esp + 0x14], esi
mov dword [esi + 0xc], ecx
jmp 0x1003abdb
shl eax, 4
sub esi, eax
mov eax, dword [esi + 8]
mov dword [esp + 0x44], esi
mov esi, dword [esi + 0xc]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffc
cmp eax, 0x34
ja case.0x1003b083.12
jmp dword [eax*4 + 0x1003b6ec]
add dword [edi + 0x28], ecx
jmp case.0x1003b083.12
add dword [edi + 0x4c], ecx
jmp case.0x1003b083.12
add dword [edi + 0x58], ecx
jmp case.0x1003b083.12
add dword [edi + 0x28], ecx
add dword [edi + 0x14], ecx
jmp case.0x1003b083.12
add dword [edi + 0x28], ecx
add dword [edi + 0x14], ecx
add dword [edi + 0x44], ecx
jmp case.0x1003b083.12
mov ecx, dword [ebx - 4]
xor eax, eax
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov edx, dword [ebx]
mov dword [edi + 0x24], edx
jmp case.0x1003b083.12
mov eax, dword [ebx - 0xc]
mov dword [edi + 0x18], eax
mov ecx, dword [ebx - 4]
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], 0
mov edx, dword [ebx]
mov dword [edi + 0x24], edx
jmp case.0x1003b083.12
mov eax, dword [ebx - 0x10]
mov dword [edi + 0x18], eax
mov edx, dword [ebx - 8]
mov dword [edi + 0x1c], edx
mov dword [edi + 0x24], 2
mov dword [edi + 0x30], ecx
mov eax, dword [ebx]
cdq
mov esi, 0x64
idiv esi
mov esi, eax
shl esi, 4
sub esi, eax
lea eax, [edx + esi*4]
mov dword [edi + 0x2c], eax
add dword [edi + 0x34], ecx
jmp case.0x1003b083.12
mov ecx, dword [ebx - 0x14]
mov dword [edi + 0x18], ecx
mov edx, dword [ebx - 0xc]
mov dword [edi + 0x1c], edx
mov eax, dword [ebx - 4]
mov dword [edi + 0x20], eax
mov ecx, dword [ebx]
mov dword [edi + 0x24], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx - 0x18]
mov dword [edi + 0x18], edx
mov eax, dword [ebx - 0x10]
mov dword [edi + 0x1c], eax
mov edx, dword [ebx - 8]
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], 2
mov dword [edi + 0x30], ecx
mov eax, dword [ebx]
cdq
mov esi, 0x64
idiv esi
mov esi, eax
shl esi, 4
sub esi, eax
add dword [edi + 0x34], ecx
lea eax, [edx + esi*4]
mov dword [edi + 0x2c], eax
jmp case.0x1003b083.12
mov ecx, dword [ebx - 4]
mov dword [edi + 0x2c], ecx
mov dword [edi + 0x30], 0
jmp case.0x1003b083.12
mov edx, dword [ebx]
mov dword [edi + 0x2c], edx
mov dword [edi + 0x30], ecx
jmp case.0x1003b083.12
mov eax, dword [ebx]
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], 0
jmp case.0x1003b083.12
mov dword [edi + 0x50], ecx
mov ecx, dword [ebx]
mov dword [edi + 0x54], ecx
jmp case.0x1003b083.12
mov dword [edi + 0x50], ecx
mov edx, dword [ebx - 4]
mov dword [edi + 0x54], edx
jmp case.0x1003b083.12
mov eax, dword [ebx - 4]
mov dword [edi + 0x50], eax
mov ecx, dword [ebx]
mov dword [edi + 0x54], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx - 8]
imul edx, dword [ebx - 4]
mov dword [edi + 0x50], edx
mov eax, dword [ebx]
mov dword [edi + 0x54], eax
jmp case.0x1003b083.12
mov dword [edi + 0x50], 2
mov ecx, dword [ebx]
mov dword [edi + 0x54], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx - 8]
mov dword [edi + 0xc], edx
mov eax, dword [ebx]
mov dword [edi + 0x10], eax
jmp case.0x1003b083.12
mov ecx, dword [ebx - 0x10]
mov dword [edi + 0xc], ecx
mov edx, dword [ebx - 8]
mov dword [edi + 0x10], edx
mov eax, dword [ebx]
mov dword [edi + 8], eax
jmp case.0x1003b083.12
mov edx, dword [ebx]
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [edi + 8], ecx
mov eax, dword [ebx]
cdq
mov ecx, 0x2710
idiv ecx
mov eax, 0x51eb851f
mov ecx, 0x64
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0xc], eax
mov eax, dword [ebx]
cdq
idiv ecx
mov dword [edi + 0x10], edx
jmp case.0x1003b083.12
mov edx, dword [ebx - 0x10]
mov dword [edi + 0x10], edx
mov eax, dword [ebx - 8]
mov dword [edi + 0xc], eax
mov ecx, dword [ebx]
mov dword [edi + 8], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx - 8]
mov dword [edi + 0xc], edx
mov eax, dword [ebx]
mov dword [edi + 0x10], eax
mov ecx, dword [ebx - 0x10]
mov dword [edi + 8], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx - 4]
mov dword [edi + 0xc], edx
mov eax, dword [ebx]
mov dword [edi + 0x10], eax
jmp case.0x1003b083.12
mov ecx, dword [ebx - 0xc]
mov dword [edi + 0xc], ecx
mov edx, dword [ebx - 8]
mov dword [edi + 0x10], edx
mov eax, dword [ebx]
mov dword [edi + 8], eax
jmp case.0x1003b083.12
mov ecx, dword [ebx]
mov dword [edi + 0xc], ecx
mov edx, dword [ebx - 4]
mov dword [edi + 0x10], edx
jmp case.0x1003b083.12
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], ecx
mov dword [edi + 8], 0x7b2
jmp case.0x1003b083.12
mov eax, dword [ebx - 4]
mov dword [edi + 0xc], eax
mov ecx, dword [ebx - 8]
mov dword [edi + 0x10], ecx
mov edx, dword [ebx]
mov dword [edi + 8], edx
jmp case.0x1003b083.12
mov dword [edi + 0x48], ecx
mov eax, dword [ebx]
mov dword [edi + 0xc], eax
jmp case.0x1003b083.12
mov ecx, dword [ebx - 4]
mov dword [edi + 0x48], ecx
mov edx, dword [ebx]
mov dword [edi + 0xc], edx
jmp case.0x1003b083.12
cmp dword [ebx - 4], 0x1a4
jne 0x1003af47
mov edx, dword [ebx - 8]
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 8], eax
mov eax, dword [ebx - 8]
cdq
mov ecx, 0x2710
idiv ecx
mov eax, 0x51eb851f
mov ecx, 0x64
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0xc], eax
mov eax, dword [ebx - 8]
cdq
idiv ecx
mov eax, 0x68db8bad
mov ecx, 0x2710
mov dword [edi + 0x10], edx
mov edx, dword [ebx]
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x18], eax
mov eax, dword [ebx]
cdq
idiv ecx
mov eax, 0x51eb851f
mov ecx, 0x64
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x1c], eax
mov eax, dword [ebx]
cdq
idiv ecx
mov dword [edi + 0x20], edx
jmp case.0x1003b083.12
cmp dword [ebx - 0x14], 0x1a4
jne 0x1003af47
mov edx, dword [ebx - 0x18]
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 8], eax
mov eax, dword [ebx - 0x18]
cdq
mov ecx, 0x2710
idiv ecx
mov eax, 0x51eb851f
mov ecx, 0x64
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0xc], eax
mov eax, dword [ebx - 0x18]
cdq
idiv ecx
mov dword [edi + 0x10], edx
mov edx, dword [ebx - 0x10]
mov dword [edi + 0x18], edx
mov eax, dword [ebx - 8]
mov dword [edi + 0x1c], eax
mov ecx, dword [ebx]
mov dword [edi + 0x20], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx - 4]
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 8], eax
mov eax, dword [ebx - 4]
cdq
mov ecx, 0x2710
idiv ecx
mov eax, 0x51eb851f
mov ecx, 0x64
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0xc], eax
mov eax, dword [ebx - 4]
cdq
idiv ecx
mov eax, 0x68db8bad
mov ecx, 0x2710
mov dword [edi + 0x10], edx
mov edx, dword [ebx]
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x18], eax
mov eax, dword [ebx]
cdq
idiv ecx
mov eax, 0x51eb851f
mov ecx, 0x64
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x1c], eax
mov eax, dword [ebx]
cdq
idiv ecx
mov dword [edi + 0x20], edx
jmp case.0x1003b083.12
mov edx, dword [ebx - 8]
mov eax, 0x10624dd3
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
lea edx, [edx + eax + 0x79a]
mov esi, edx
mov eax, edx
and eax, reloc.WS2_32.dll_closesocket
mov dword [edi + 8], edx
mov dword [edi + 0x10], ecx
mov dword [edi + 0xc], ecx
jns 0x1003b4c9
dec eax
or eax, 0xfffffffc
inc eax
jne 0x1003b4ee
mov eax, esi
cdq
mov ecx, 0x64
idiv ecx
test edx, edx
jne 0x1003b4e7
mov eax, esi
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x1003b4ee
mov esi, 1
jmp 0x1003b4f0
xor esi, esi
mov eax, dword [ebx - 8]
cdq
mov ecx, 0x3e8
idiv ecx
add esi, 0x16d
mov eax, 0x10624dd3
imul edx, esi
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [edi + 0x3c], eax
mov ecx, dword [ebx]
imul ecx, ecx, 0x21c0
add dword [edi + 0x40], ecx
jmp case.0x1003b083.12
mov edx, dword [edi + 0x40]
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
neg edx
neg eax
neg ecx
mov dword [edi + 0x40], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx - 8]
imul edx, dword [ebx - 4]
imul edx, dword [ebx]
mov eax, dword [edi + 0x64]
add dword [eax], edx
jmp case.0x1003b083.12
mov ecx, dword [ebx - 4]
imul ecx, dword [ebx]
mov eax, dword [edi + 0x64]
add dword [eax], ecx
jmp case.0x1003b083.12
mov eax, dword [edi + 0x64]
mov edx, dword [ebx]
add dword [eax], edx
jmp case.0x1003b083.12
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1003b083.12
mov eax, dword [ebx]
lea ecx, [edi + 0x40]
mov dword [esp + 0x10], eax
mov dword [edi + 0x64], ecx
jmp case.0x1003b083.12
mov edx, dword [ebx]
lea eax, [edi + 0x3c]
mov dword [esp + 0x10], edx
mov dword [edi + 0x64], eax
jmp case.0x1003b083.12
mov ecx, dword [ebx]
lea edx, [edi + 0x38]
mov dword [edi + 0x64], edx
jmp case.0x1003b083.50
mov eax, dword [edi + 0x28]
xor esi, esi
cmp eax, esi
je 0x1003b5c8
cmp dword [edi + 0x14], esi
je 0x1003b5c8
cmp dword [edi + 0x44], esi
jne 0x1003b5c8
mov eax, dword [ebx]
mov dword [edi + 8], eax
jmp case.0x1003b083.12
inc eax
mov ecx, 2
cmp dword [edi + 0x68], ecx
mov dword [edi + 0x28], eax
mov edx, dword [ebx]
jg 0x1003b5e6
mov dword [edi + 0x18], edx
mov dword [edi + 0x1c], esi
mov dword [edi + 0x20], esi
mov dword [edi + 0x24], ecx
jmp case.0x1003b083.12
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x18], eax
mov eax, dword [ebx]
cdq
mov ebx, 0x64
idiv ebx
mov dword [edi + 0x20], esi
mov dword [edi + 0x24], ecx
mov dword [edi + 0x1c], edx
jmp case.0x1003b083.12
mov dword [esp + 0x10], 2
jmp case.0x1003b083.12
mov ecx, dword [ebx]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x50]
neg eax
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x4c]
add esi, 0x10
mov dword [esi], edx
mov edx, dword [esp + 0x54]
add ebx, 4
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [esi + 0xc], ecx
movzx edx, byte [edx + 0x100b8514]
movsx ecx, word [eax]
mov dword [esp + 0x18], eax
movsx eax, byte [edx + 0x100b8632]
add eax, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edx
cmp eax, 0x4f
ja 0x1003b6a4
movzx edx, byte [eax + 0x100b86b0]
cmp edx, ecx
jne 0x1003b6a0
movzx eax, byte [eax + 0x100b8660]
add dword [esp + 0x18], 2
jmp 0x1003abdb
mov edx, dword [esp + 0x1c]
movsx eax, byte [edx + 0x100b85ca]
add dword [esp + 0x18], 2
jmp 0x1003abdb
test esi, esi
je 0x1003b6c7
push esi
push str.unable_to_alloc__u_bytes
call sym.tcl85.dll_Tcl_Panic
add esp, 8
lea eax, [esp + 0x34]
push str.memory_exhausted
push eax
call fcn.1003b7c0
add esp, 8
mov esi, 2
jmp 0x1003af49
xor esi, esi
jmp 0x1003af49