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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101c0d31
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1d0
mov eax, dword [0x102100f8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x134], esi
cmp dword [esi + 0x4c], 0
lea eax, [esi + 0x4c]
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x13c], edi
jg 0x10097177
push 0x20000
push str.ERROR
push str._atlas__ConfigData.Size___0_
push 0
call edi
cmp dword [esi + 0x458], 0
jge 0x100971f1
mov eax, esi
mov dword [ebp - 0x180], 0xffffffff
mov dword [ebp - 0x17c], 0
lea ecx, [esi + 0x40]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
test byte [eax + 4], 2
lea eax, [ebp - 0x184]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
push eax
mov dword [ebp - 0x184], 0x1b00d9
je 0x100971e2
mov dword [ebp - 0x184], 0x20002
call fcn.1009d600
mov eax, dword [esi + 0x40]
dec eax
mov dword [esi + 0x458], eax
cmp dword [esi + 0x45c], 0
jge 0x10097265
test byte [esi + 4], 4
jne 0x10097265
lea eax, [ebp - 0x184]
mov dword [ebp - 0x180], 0xffffffff
push eax
lea ecx, [esi + 0x40]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x184], 0x400041
call fcn.1009d600
mov eax, dword [esi + 0x40]
mov esi, dword [ebp - 0x134]
dec eax
mov dword [esi + 0x45c], eax
cmp dword [esi + 0x460], 0
jge 0x100972c8
mov ecx, dword [esi + 0x50c]
mov eax, dword [esi + 0x508]
add ecx, 4
add eax, ecx
mov ecx, esi
push eax
push eax
call fcn.10096cc0
movss xmm0, dword [0x101f8b3c]
mov dword [esi + 0x460], eax
call fcn.10030e40
movd xmm1, dword [esi + 0x508]
mov ecx, esi
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
addss xmm1, dword [0x101f8c20]
cvttss2si eax, xmm1
add eax, 8
push eax
push eax
call fcn.10096cc0
mov dword [esi + 0x464], eax
mov ecx, esi
mov dword [esi + 8], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
call fcn.10096070
xor edx, edx
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 4], edx
xor eax, eax
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x198], eax
mov byte [ebp - 4], 1
lea ecx, [edx + 8]
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x140], eax
test eax, eax
jle 0x100973a5
cmp eax, ecx
mov esi, eax
cmovl esi, ecx
test esi, esi
jle 0x1009739f
mov eax, dword [0x102c7274]
test eax, eax
je 0x1009736d
inc dword [eax + 0x370]
push dword [0x102c726c]
imul eax, esi, 0xc4
push eax
call fcn.1006abc0
mov dword [ebp - 0x15c], eax
add esp, 8
mov dword [ebp - 0x1cc], eax
mov ecx, 8
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x1d0], esi
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x1d4], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x120], eax
test eax, eax
jle 0x10097400
cmp eax, 8
mov esi, eax
cmovl esi, ecx
test esi, esi
jle 0x10097400
mov eax, dword [0x102c7274]
test eax, eax
je 0x100973d3
inc dword [eax + 0x370]
push dword [0x102c726c]
lea eax, [esi + esi*2]
shl eax, 3
push eax
call fcn.1006abc0
mov dword [ebp - 0x14c], eax
add esp, 8
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x19c], esi
imul ecx, dword [ebp - 0x140], 0xc4
mov esi, dword [ebp - 0x15c]
mov dword [ebp - 0x1a0], eax
push ecx
push 0
push esi
call fcn.101583f0
mov eax, dword [ebp - 0x120]
add esp, 0xc
lea eax, [eax + eax*2]
shl eax, 3
push eax
push 0
push dword [ebp - 0x14c]
call fcn.101583f0
mov ecx, dword [ebp - 0x158]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x154], eax
cmp dword [ecx], eax
jle 0x100976b9
add esi, 0xa4
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x11c], esi
test eax, eax
js 0x10097473
cmp eax, dword [ebp - 0x140]
jl 0x10097492
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
test eax, eax
js 0x1009749a
cmp eax, dword [ecx]
jl 0x100974b3
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx + 8]
add eax, dword [ebp - 0x124]
mov dword [ebp - 0x160], eax
mov eax, dword [eax + 0x74]
test eax, eax
je 0x100974d8
mov eax, dword [eax + 0x30]
test eax, eax
je 0x100974eb
cmp eax, dword [ebp - 0x134]
je 0x100974eb
push 0x20000
push str.ERROR
push str._cfg.DstFont____cfg.DstFont__IsLoaded____cfg.DstFont__ContainerAtlas__atlas__
push 0
call edi
mov eax, dword [ebp - 0x134]
mov dword [esi - 4], 0xffffffff
xor esi, esi
mov ecx, dword [eax + 0x34]
test ecx, ecx
jle 0x1009755c
or eax, 0xffffffff
mov edx, eax
cmp eax, 0xffffffff
jne 0x10097557
test esi, esi
js 0x10097513
cmp esi, ecx
jl 0x10097526
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x160]
mov ecx, dword [edx + 0x3c]
mov eax, dword [eax + 0x74]
cmp eax, dword [ecx + esi*4]
mov eax, dword [ebp - 0x11c]
jne 0x1009754a
mov dword [eax - 4], esi
mov eax, esi
jmp 0x1009754d
mov eax, dword [eax - 4]
mov ecx, dword [edx + 0x34]
inc esi
mov edx, eax
cmp esi, ecx
jl 0x10097504
cmp edx, 0xffffffff
jne 0x10097587
push 0x20000
push str.ERROR
push str._src_tmp.DstIndex____1_
push 0
call edi
mov esi, dword [ebp - 0x11c]
cmp dword [esi - 4], 0xffffffff
jne 0x1009758d
mov byte [ebp - 0x145], 0
jmp 0x10098c13
mov esi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x12c], ecx
call fcn.10090eb0
mov dword [ebp - 0x128], eax
test eax, eax
js 0x100975b5
mov edx, dword [ebp - 0x12c]
jmp 0x100975d0
push 0x20000
push str.ERROR
push str._font_offset___0___FontData_is_incorrect__or_FontNo_cannot_be_found.__
push 0
call edi
mov eax, dword [ebp - 0x160]
mov edx, dword [eax]
push dword [ebp - 0x128]
lea ecx, [esi - 0xa4]
call fcn.1008a6d0
add esp, 4
test eax, eax
je 0x1009757b
mov eax, dword [esi - 4]
mov dword [ebp - 0x12c], eax
test eax, eax
js 0x100975fd
cmp eax, dword [ebp - 0x120]
jl 0x10097616
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov eax, dword [ebp - 0x12c]
lea ecx, [eax + eax*2]
mov edx, 0x101f2ba4
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x128], ecx
mov eax, dword [eax + 0x30]
test eax, eax
cmovne edx, eax
mov dword [esi - 8], edx
cmp word [edx], 0
je 0x10097661
nop dword [eax + eax]
movzx eax, word [edx + 2]
test ax, ax
je 0x1009765b
mov ecx, eax
cmp dword [esi], ecx
cmovge ecx, dword [esi]
add edx, 4
mov dword [esi], ecx
cmp word [edx], 0
jne 0x10097640
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x128]
inc dword [eax + ecx*8]
mov eax, dword [eax + edx*8 + 4]
mov ecx, dword [esi]
cmp eax, ecx
cmovge ecx, eax
mov eax, dword [ebp - 0x14c]
add dword [ebp - 0x124], 0x78
add esi, 0xc4
mov dword [ebp - 0x11c], esi
mov dword [eax + edx*8 + 4], ecx
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x154], eax
cmp eax, dword [ecx]
jl 0x10097467
mov esi, dword [ebp - 0x15c]
xor eax, eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x140], eax
jle 0x10097b3c
add esi, 0xa8
mov dword [ebp - 0x130], esi
nop
mov eax, dword [esi - 8]
mov dword [ebp - 0x12c], eax
test eax, eax
js 0x100976f5
cmp eax, dword [ebp - 0x120]
jl 0x1009770e
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov eax, dword [ebp - 0x12c]
mov edi, dword [esi - 4]
lea eax, [eax + eax*2]
add edi, 0x20
mov dword [ebp - 0x11c], eax
mov eax, dword [esi + 8]
sar edi, 5
cmp edi, eax
jle 0x1009774c
test eax, eax
je 0x10097737
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, dword [esi + 8]
jmp 0x1009773c
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
lea ecx, [esi + 4]
push eax
call fcn.100880a0
lea eax, [edi*4]
mov dword [esi + 4], edi
push eax
push 0
push dword [esi + 0xc]
call fcn.101583f0
mov edx, dword [ebp - 0x11c]
add esp, 0xc
mov eax, dword [ebp - 0x14c]
lea edi, [edx*8 + 0xc]
add edi, eax
mov dword [ebp - 0x138], edi
cmp dword [edi], 0
jne 0x100977dc
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [edi + 4]
add ecx, 0x20
sar ecx, 5
mov dword [ebp - 0x12c], ecx
cmp ecx, eax
jle 0x100977c5
test eax, eax
je 0x100977ab
cdq
sub eax, edx
mov edx, eax
sar edx, 1
add edx, dword [edi + 4]
jmp 0x100977b0
mov edx, 8
cmp edx, ecx
mov eax, ecx
mov ecx, edi
cmovg eax, edx
push eax
call fcn.100880a0
mov ecx, dword [ebp - 0x12c]
lea eax, [ecx*4]
mov dword [edi], ecx
push eax
push 0
push dword [edi + 8]
call fcn.101583f0
add esp, 0xc
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x154], eax
movzx ecx, word [eax]
test cx, cx
je 0x1009794d
movzx eax, word [eax + 2]
test ax, ax
je 0x10097947
movzx esi, cx
cmp esi, eax
ja 0x1009792c
nop dword [eax]
mov eax, dword [edi]
shl eax, 5
cmp esi, eax
jl 0x10097830
push 0x20000
push str.ERROR
push str._n____Storage.Size____5__
push 0
call dword [ebp - 0x13c]
mov eax, dword [ebp - 0x11c]
mov ecx, esi
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov edi, esi
mov ecx, dword [ebp - 0x14c]
sar edi, 5
mov dword [ebp - 0x128], edx
mov eax, dword [ecx + eax*8 + 0x14]
test dword [eax + edi*4], edx
jne 0x10097913
mov ecx, dword [ebp - 0x130]
mov edx, esi
lea ecx, [ecx - 0xa8]
call fcn.1008abf0
test eax, eax
je 0x10097913
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x14c]
inc dword [eax]
inc dword [ecx + edx*8 + 8]
mov eax, dword [eax + 4]
shl eax, 5
cmp esi, eax
jl 0x100978ba
push 0x20000
push str.ERROR
push str._n____Storage.Size____5__
push 0
call dword [ebp - 0x13c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x128]
mov eax, dword [eax + 0xc]
or dword [eax + edi*4], ecx
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax + edx*8 + 0xc]
shl eax, 5
cmp esi, eax
jl 0x10097900
push 0x20000
push str.ERROR
push str._n____Storage.Size____5__
push 0
call dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax + edx*8 + 0x14]
or dword [eax + edi*4], ecx
inc dword [ebp - 0x124]
mov eax, dword [ebp - 0x154]
inc esi
mov edi, dword [ebp - 0x138]
movzx eax, word [eax + 2]
cmp esi, eax
jbe 0x10097810
mov eax, dword [ebp - 0x154]
add eax, 4
mov dword [ebp - 0x154], eax
movzx ecx, word [eax]
test cx, cx
jne 0x100977f1
mov esi, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x144]
add esi, 0xc4
mov edi, dword [ebp - 0x13c]
inc ecx
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x130], esi
cmp ecx, dword [ebp - 0x140]
jl 0x100976e0
mov ecx, dword [ebp - 0x15c]
add ecx, 0xc0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x11c], ecx
mov esi, dword [ecx - 0x18]
cmp esi, dword [ecx - 4]
jle 0x10097a15
mov eax, dword [0x102c7274]
test eax, eax
je 0x100979ab
inc dword [eax + 0x370]
push dword [0x102c726c]
lea eax, [esi*4]
push eax
call fcn.1006abc0
mov ecx, dword [ebp - 0x11c]
add esp, 8
mov edi, eax
mov edx, dword [ecx]
test edx, edx
je 0x10097a10
mov ecx, dword [ecx - 8]
shl ecx, 2
push ecx
push edx
push edi
call fcn.10158550
mov eax, dword [ebp - 0x11c]
add esp, 0xc
mov ecx, dword [eax]
test ecx, ecx
je 0x100979fb
mov eax, dword [0x102c7274]
test eax, eax
je 0x100979fb
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
mov ecx, dword [ebp - 0x11c]
add esp, 8
mov dword [ecx], edi
mov dword [ecx - 4], esi
mov esi, dword [ecx - 0xc]
mov eax, dword [ecx - 0x14]
mov dword [ebp - 0x128], esi
lea eax, [esi + eax*4]
mov dword [ebp - 0x168], eax
cmp esi, eax
jae 0x10097aa8
xor edx, edx
mov dword [ebp - 0x138], edx
mov eax, dword [esi]
mov dword [ebp - 0x150], eax
test eax, eax
je 0x10097a8e
xor edi, edi
mov esi, 1
nop dword [eax]
test eax, esi
je 0x10097a80
and edx, 0xffffffe0
lea eax, [ebp - 0x12c]
add edx, edi
add ecx, 0xfffffff8
push eax
mov dword [ebp - 0x12c], edx
call fcn.10085880
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x150]
mov edx, dword [ebp - 0x138]
inc edi
rol esi, 1
cmp edi, 0x20
jb 0x10097a50
mov esi, dword [ebp - 0x128]
add esi, 4
add edx, 0x20
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x138], edx
cmp esi, dword [ebp - 0x168]
jb 0x10097a36
mov edx, dword [ecx - 0xc]
test edx, edx
je 0x10097ae8
mov eax, dword [0x102c7274]
mov dword [ecx - 0x10], 0
mov dword [ecx - 0x14], 0
test eax, eax
je 0x10097acc
dec dword [eax + 0x370]
push dword [0x102c726c]
push edx
call fcn.1006abd0
mov ecx, dword [ebp - 0x11c]
add esp, 8
mov dword [ecx - 0xc], 0
mov eax, dword [ecx - 8]
mov edi, dword [ebp - 0x13c]
cmp eax, dword [ecx - 0x18]
je 0x10097b0f
push 0x20000
push str.ERROR
push str._src_tmp.GlyphsList.Size__src_tmp.GlyphsCount_
push 0
call edi
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x144]
add ecx, 0xc4
inc eax
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x144], eax
cmp eax, dword [ebp - 0x140]
jl 0x10097994
mov esi, dword [ebp - 0x124]
jmp 0x10097b44
xor esi, esi
mov dword [ebp - 0x124], esi
xor ecx, ecx
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x120], ecx
jle 0x10097bce
mov eax, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x120]
add eax, 0x14
mov dword [ebp - 0x138], eax
nop dword [eax]
mov edx, dword [eax]
test edx, edx
je 0x10097bb4
mov dword [eax - 4], 0
mov dword [eax - 8], 0
mov eax, dword [0x102c7274]
test eax, eax
je 0x10097b93
dec dword [eax + 0x370]
push dword [0x102c726c]
push edx
call fcn.1006abd0
mov eax, dword [ebp - 0x138]
add esp, 8
mov ecx, dword [ebp - 0x128]
mov dword [eax], 0
inc ecx
add eax, 0x18
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x138], eax
cmp ecx, edi
jl 0x10097b70
mov edi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
je 0x10097c18
mov eax, dword [0x102c7274]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x1a0], 0
test eax, eax
je 0x10097bfb
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
add esp, 8
xor eax, eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a4], 0
xor eax, eax
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1d8], eax
push esi
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 3
call fcn.1009cbe0
test esi, esi
jle 0x10097cc5
cmp esi, 8
mov ecx, esi
mov eax, 8
cmovl ecx, eax
mov dword [ebp - 0x12c], ecx
test ecx, ecx
jle 0x10097cc5
mov eax, dword [0x102c7274]
test eax, eax
je 0x10097c92
inc dword [eax + 0x370]
push dword [0x102c726c]
lea eax, [ecx*8]
sub eax, ecx
shl eax, 2
push eax
call fcn.1006abc0
mov ecx, dword [ebp - 0x12c]
add esp, 8
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x1ac]
mov ecx, eax
shl ecx, 4
push ecx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1a4]
push 0
push eax
mov dword [ebp - 0x1e0], esi
mov dword [ebp - 0x154], eax
call fcn.101583f0
add esp, 0xc
lea eax, [esi*8]
sub eax, esi
shl eax, 2
push eax
push 0
push dword [ebp - 0x160]
call fcn.101583f0
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x128], eax
add esp, 0xc
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x140], eax
jle 0x10098140
mov esi, dword [ebp - 0x15c]
add esi, 0x98
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x11c], esi
jmp 0x10097d66
mov edi, dword [ebp - 0x13c]
cmp dword [esi + 0x10], 0
mov dword [ebp - 0x150], eax
je 0x1009810e
test ecx, ecx
js 0x10097d90
mov ecx, eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x124], ecx
cmp eax, dword [ebp - 0x1b0]
jl 0x10097dbb
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x124], ecx
shl eax, 4
add eax, dword [ebp - 0x154]
mov dword [esi - 4], eax
test edx, edx
js 0x10097e00
cmp edx, ecx
jge 0x10097e00
mov ecx, dword [ebp - 0x160]
lea eax, [edx*8]
sub eax, edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x12c], eax
mov eax, dword [esi + 0x10]
add dword [ebp - 0x130], eax
add edx, eax
mov dword [ebp - 0x120], edx
mov edx, dword [ebp - 0x12c]
jmp 0x10097e42
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x160]
mov edi, dword [ebp - 0x13c]
lea eax, [ecx*8]
sub eax, ecx
lea edx, [edx + eax*4]
mov eax, dword [esi + 0x10]
add dword [ebp - 0x130], eax
add ecx, eax
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x158]
mov ecx, edx
mov dword [esi], ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x150], eax
cmp ecx, dword [eax]
jl 0x10097e97
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call edi
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x120]
mov edx, dword [edi]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x150]
jmp 0x10097e9d
mov edi, dword [ebp - 0x11c]
mov ecx, dword [eax + 8]
add ecx, dword [ebp - 0x138]
mov esi, dword [edi + 0x20]
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x150], esi
mov eax, dword [ecx + 0x10]
mov dword [edi - 0x1c], eax
mov eax, dword [edi + 0x28]
mov dword [edi - 0x18], 0
mov dword [edi - 0x14], eax
mov dword [edi - 0x10], esi
mov dword [edi - 0xc], edx
mov al, byte [ecx + 0x14]
mov byte [edi - 8], al
mov al, byte [ecx + 0x18]
mov byte [edi - 7], al
movss xmm1, dword [ecx + 0x10]
comiss xmm1, dword [0x101f8a8c]
jbe 0x10097f43
mov esi, dword [ebp - 0x11c]
mov eax, 0x100
mov edi, dword [edi - 0x7c]
cwde
mov esi, dword [esi - 0x94]
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
movsx ecx, cx
imul ecx, eax
mov eax, 0x100
cwde
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edi + esi + 5]
mov edi, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x150]
movsx edx, dx
add cx, ax
movsx eax, cx
sub eax, edx
movd xmm0, eax
jmp 0x10097f69
mov ecx, dword [edi - 0x84]
mov eax, dword [edi - 0x94]
xorps xmm1, xmmword [0x101f9450]
movzx edx, byte [ecx + eax + 0x13]
movzx eax, byte [ecx + eax + 0x12]
shl eax, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 0x10]
divss xmm1, xmm0
mov dword [ebp - 0x1bc], eax
xor eax, eax
mov dword [ebp - 0x168], eax
movss dword [ebp - 0x12c], xmm1
test esi, esi
jle 0x100980f6
mov dword [ebp - 0x150], eax
nop dword [eax]
test eax, eax
js 0x10097fa8
cmp eax, esi
jl 0x10097fc9
mov esi, dword [ebp - 0x13c]
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call esi
mov eax, dword [ebp - 0x168]
jmp 0x10097fcf
mov esi, dword [ebp - 0x13c]
mov edx, dword [edi + 0x28]
lea ecx, [edi - 0x98]
mov edx, dword [edx + eax*4]
call fcn.1008abf0
mov dword [ebp - 0x1b4], eax
test eax, eax
jne 0x10098002
push 0x20000
push str.ERROR
push str._glyph_index_in_font___0_
push eax
call esi
mov eax, dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x164]
push ecx
lea ecx, [ebp - 0x1c4]
mov edx, eax
push ecx
movd xmm3, dword [esi + 0x18]
lea ecx, [ebp - 0x1c8]
movd xmm2, dword [esi + 0x14]
push ecx
cvtdq2ps xmm3, xmm3
lea ecx, [ebp - 0x1c0]
push ecx
sub esp, 8
lea ecx, [edi - 0x98]
cvtdq2ps xmm2, xmm2
mov dword [esp + 4], 0
mov dword [esp], 0
mulss xmm3, dword [ebp - 0x12c]
mulss xmm2, dword [ebp - 0x12c]
call fcn.1008dcd0
movzx ecx, word [esi + 0x14]
add esp, 0x18
sub cx, word [ebp - 0x1c0]
mov eax, dword [ebp - 0x1bc]
dec cx
add cx, word [ebp - 0x1c4]
movzx edx, ax
mov eax, dword [edi - 4]
add cx, dx
mov edi, dword [ebp - 0x150]
dec dx
mov word [edi + eax + 4], cx
movzx ecx, word [esi + 0x18]
sub cx, word [ebp - 0x1c8]
mov edi, dword [ebp - 0x11c]
add cx, word [ebp - 0x164]
add cx, dx
mov edx, dword [ebp - 0x150]
mov eax, dword [edi - 4]
mov word [edx + eax + 6], cx
mov eax, dword [edi - 4]
mov esi, dword [edi + 0x20]
movzx ecx, word [edx + eax + 6]
movzx eax, word [edx + eax + 4]
add edx, 0x10
imul ecx, eax
mov eax, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x168], eax
add dword [ebp - 0x128], ecx
cmp eax, esi
jl 0x10097fa0
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x124]
mov esi, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x144]
add esi, 0xc4
add dword [ebp - 0x138], 0x78
inc edi
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x11c], esi
cmp edi, dword [ebp - 0x140]
jl 0x10097d60
mov eax, dword [ebp - 0x128]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.10088ac0
mov esi, dword [ebp - 0x134]
cvttss2si ecx, xmm0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x20], 0
inc ecx
test eax, eax
jg 0x100981a0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x101f8e54]
jb 0x1009817c
mov eax, 0x1000
jmp 0x100981a0
comiss xmm0, dword [0x101f8e50]
jb 0x1009818c
mov eax, 0x800
jmp 0x100981a0
comiss xmm0, dword [0x101f8e40]
mov eax, 0x200
mov ecx, 0x400
cmovae eax, ecx
push 0x2c
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x194]
push 0
push eax
call fcn.101583f0
mov eax, dword [esi + 0x10]
add esp, 0xc
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x12c], eax
mov eax, dword [0x102c7274]
mov dword [ebp - 0x164], esi
test eax, eax
je 0x100981d7
inc dword [eax + 0x370]
push dword [0x102c726c]
push 0x30
call fcn.1006abc0
sub esi, dword [ebp - 0x12c]
mov edi, eax
mov eax, dword [0x102c7274]
add esp, 8
mov dword [ebp - 0x11c], edi
test eax, eax
je 0x10098204
inc dword [eax + 0x370]
push dword [0x102c726c]
lea eax, [esi*8]
push eax
call fcn.1006abc0
add esp, 8
test edi, edi
je 0x1009829a
test eax, eax
je 0x10098282
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x164]
push esi
push eax
mov dword [ebp - 0x16c], eax
mov eax, 0x8000
sub eax, ecx
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x180], ecx
mov ecx, edi
mov dword [ebp - 0x184], edx
mov edx, esi
push eax
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x178], 1
mov dword [ebp - 0x174], 1
mov dword [ebp - 0x17c], 0
call fcn.10089010
add esp, 0xc
jmp 0x100982c9
mov eax, dword [0x102c7274]
test eax, eax
je 0x10098291
dec dword [eax + 0x370]
push dword [0x102c726c]
push edi
jmp 0x100982b5
test eax, eax
je 0x100982bd
mov ecx, dword [0x102c7274]
test ecx, ecx
je 0x100982ae
dec dword [ecx + 0x370]
push dword [0x102c726c]
push eax
call fcn.1006abd0
add esp, 8
mov edi, dword [ebp - 0x190]
mov dword [ebp - 0x11c], edi
mov esi, dword [ebp - 0x134]
mov edx, edi
mov ecx, esi
call fcn.10098ec0
mov ecx, dword [ebp - 0x140]
xor eax, eax
mov dword [ebp - 0x120], eax
test ecx, ecx
jle 0x100983a3
mov esi, dword [ebp - 0x15c]
add esi, 0xa8
nop word [eax + eax]
test eax, eax
js 0x10098308
cmp eax, ecx
jl 0x10098325
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call dword [ebp - 0x13c]
mov eax, dword [ebp - 0x120]
mov ecx, dword [esi]
test ecx, ecx
je 0x10098382
mov edx, dword [esi - 0x14]
push ecx
mov ecx, edi
call fcn.100896c0
xor edi, edi
add esp, 4
cmp dword [esi], edi
jle 0x10098376
xor edx, edx
mov eax, dword [esi - 0x14]
cmp dword [eax + edx + 0xc], 0
je 0x1009836e
movzx ecx, word [eax + edx + 0xa]
movzx eax, word [eax + edx + 6]
add ecx, eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 0x20]
cmp eax, ecx
cmovge ecx, eax
mov eax, dword [ebp - 0x134]
mov dword [eax + 0x20], ecx
inc edi
add edx, 0x10
cmp edi, dword [esi]
jl 0x10098341
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x140]
inc eax
add esi, 0xc4
mov dword [ebp - 0x120], eax
cmp eax, ecx
jl 0x10098300
mov esi, dword [ebp - 0x134]
test byte [esi + 4], 1
mov eax, dword [esi + 0x20]
jne 0x100983d1
lea ecx, [eax - 1]
mov eax, ecx
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or eax, ecx
movss xmm1, dword [0x101f8b50]
lea ecx, [eax + 1]
mov eax, dword [esi + 0x1c]
movaps xmm2, xmm1
mov dword [esi + 0x20], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
imul ecx, eax
divss xmm1, xmm0
mov eax, dword [0x102c7274]
movss dword [esi + 0x24], xmm2
movss dword [esi + 0x28], xmm1
test eax, eax
je 0x10098417
inc dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abc0
mov ecx, dword [esi + 0x1c]
imul ecx, dword [esi + 0x20]
mov dword [esi + 0x14], eax
push ecx
push 0
push eax
call fcn.101583f0
mov eax, dword [esi + 0x14]
add esp, 0x14
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x188], eax
xor eax, eax
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x140], eax
jle 0x10098698
mov ecx, dword [ebp - 0x15c]
xor edx, edx
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x124], ecx
mov edi, dword [ebp - 0x158]
test eax, eax
js 0x10098481
cmp eax, dword [edi]
jl 0x100984ae
mov esi, dword [ebp - 0x13c]
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call esi
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x120]
jmp 0x100984b4
mov esi, dword [ebp - 0x13c]
mov edi, dword [edi + 8]
add edi, edx
test eax, eax
js 0x100984c5
cmp eax, dword [ebp - 0x140]
jl 0x100984ea
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call esi
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x120]
cmp dword [ecx + 0xa8], 0
je 0x1009866a
push dword [ecx + 0x94]
lea eax, [ecx + 0x7c]
mov edx, ecx
push ecx
push eax
lea ecx, [ebp - 0x194]
call fcn.10090930
movss xmm1, dword [edi + 0x44]
add esp, 0xc
ucomiss xmm1, dword [0x101f8b50]
movss dword [ebp - 0x164], xmm1
lahf
test ah, 0x44
jnp 0x1009864e
xor esi, esi
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101f9400]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.10156a60
movss xmm1, dword [ebp - 0x164]
mov edx, 0xff
cmp eax, edx
movzx ecx, al
cmovbe edx, ecx
mov byte [ebp + esi - 0x118], dl
inc esi
cmp esi, 0x100
jb 0x10098532
mov ecx, dword [ebp - 0x124]
xor eax, eax
mov dword [ebp - 0x138], eax
mov edx, dword [ecx + 0x94]
cmp dword [ecx + 0xa8], eax
jle 0x10098654
lea ecx, [edx + 6]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x144], ecx
nop dword [eax]
cmp dword [ecx + 6], 0
je 0x10098632
mov eax, dword [ebp - 0x134]
movzx edx, word [ecx + 4]
movzx edi, word [ecx]
movzx esi, word [ecx - 2]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x128], eax
movzx eax, word [ecx + 2]
imul edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x134]
add edx, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x144]
add edx, eax
test edi, edi
je 0x10098626
mov eax, dword [ebp - 0x128]
xor ecx, ecx
test esi, esi
je 0x10098619
nop dword [eax]
movzx eax, byte [ecx + edx]
mov al, byte [ebp + eax - 0x118]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x10098600
mov eax, dword [ebp - 0x128]
dec edi
add edx, eax
test edi, edi
jg 0x100985f6
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x138]
inc eax
add ecx, 0x10
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x144], ecx
cmp eax, dword [edx + 0xa8]
jl 0x100985b0
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x120]
mov dword [ecx + 0x94], 0
inc eax
add edx, 0x78
add ecx, 0xc4
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x124], ecx
cmp eax, dword [ebp - 0x140]
jl 0x10098473
mov edi, dword [ebp - 0x190]
cmp dword [ebp - 0x16c], 0
je 0x100986b0
mov eax, dword [0x102c7274]
test eax, eax
je 0x100986b0
dec dword [eax + 0x370]
push dword [0x102c726c]
push dword [ebp - 0x16c]
call fcn.1006abd0
add esp, 8
test edi, edi
je 0x100986d7
mov eax, dword [0x102c7274]
test eax, eax
je 0x100986d7
dec dword [eax + 0x370]
push dword [0x102c726c]
push edi
call fcn.1006abd0
mov ecx, dword [ebp - 0x154]
add esp, 8
test ecx, ecx
je 0x10098730
mov eax, dword [0x102c7274]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1ac], 0
test eax, eax
je 0x10098713
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x140]
xor eax, eax
mov dword [ebp - 0x130], eax
test edx, edx
jle 0x10098b03
mov edi, dword [ebp - 0x15c]
xor ecx, ecx
add edi, 4
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x138], edi
nop dword [eax]
test eax, eax
js 0x10098768
cmp eax, edx
jl 0x10098795
mov esi, dword [ebp - 0x13c]
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call esi
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x140]
jmp 0x1009879b
mov esi, dword [ebp - 0x13c]
cmp dword [edi + 0xa4], 0
je 0x10098adf
test eax, eax
js 0x100987b6
mov ecx, dword [ebp - 0x158]
cmp eax, dword [ecx]
jl 0x100987c9
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call esi
mov eax, dword [ebp - 0x158]
xorps xmm3, xmm3
mov esi, dword [ebp - 0x138]
mov edi, dword [edi + 0x18]
mov eax, dword [eax + 8]
add eax, dword [ebp - 0x120]
mov esi, dword [esi]
mov dword [ebp - 0x124], eax
mov eax, dword [eax + 0x74]
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
mov dword [ebp - 0x128], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx eax, dx
movzx edx, byte [edi + esi + 5]
mov dword [ebp - 0x164], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
mov edi, dword [ebp - 0x128]
add dx, cx
movsx ecx, dx
mov edx, dword [ebp - 0x164]
mov eax, ecx
sub eax, edx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov ecx, dword [ebp - 0x124]
movd xmm0, eax
mov eax, dword [ebp - 0x124]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax + 0x10]
xor eax, eax
divss xmm2, xmm0
comiss xmm1, xmm3
mulss xmm1, xmm2
seta al
lea eax, [eax*2 - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movd xmm1, edx
cvtdq2ps xmm1, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
xor eax, eax
comiss xmm1, xmm3
cvtdq2ps xmm0, xmm0
seta al
cmp byte [ecx + 0x3c], 0
mulss xmm1, xmm2
lea eax, [eax*2 - 1]
movss dword [ebp - 0x164], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si esi, xmm0
jne 0x10098902
mov ecx, edi
call fcn.1009a950
mov ecx, dword [ebp - 0x124]
movss xmm0, dword [ebp - 0x164]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x134]
mov dword [edi + 0x30], eax
xor eax, eax
mov dword [edi + 0x34], ecx
movss dword [edi + 0x44], xmm0
movss dword [edi + 0x48], xmm1
jmp 0x1009890b
movzx eax, word [edi + 0x38]
movss xmm0, dword [edi + 0x44]
addss xmm0, dword [0x101f8b18]
inc eax
xor esi, esi
mov word [edi + 0x38], ax
mov edi, dword [ebp - 0x138]
movss xmm7, dword [ecx + 0x28]
cvttss2si eax, xmm0
movss dword [ebp - 0x144], xmm7
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm6, dword [ecx + 0x2c]
movss dword [ebp - 0x12c], xmm6
cmp dword [edi + 0xa4], esi
jle 0x10098acd
mov dword [ebp - 0x11c], esi
test esi, esi
js 0x10098963
cmp esi, dword [edi + 0xb4]
jl 0x1009898a
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call dword [ebp - 0x13c]
movss xmm6, dword [ebp - 0x12c]
movss xmm7, dword [ebp - 0x144]
mov eax, dword [edi + 0xbc]
sub esp, 0x20
mov ecx, dword [edi + 0x94]
movss xmm1, dword [0x101f8b50]
movss xmm3, dword [0x101f8b50]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x134]
movd xmm0, dword [eax + 0x1c]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, dword [eax + 0x20]
mov eax, dword [ebp - 0x11c]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax + ecx]
divss xmm3, xmm0
movd xmm5, eax
mov eax, dword [ebp - 0x11c]
cvtdq2ps xmm5, xmm5
movzx eax, word [eax + ecx + 2]
mulss xmm5, xmm1
movd xmm4, eax
mov eax, dword [ebp - 0x11c]
cvtdq2ps xmm4, xmm4
movzx eax, word [eax + ecx + 4]
mulss xmm4, xmm3
movd xmm2, eax
mov eax, dword [ebp - 0x11c]
cvtdq2ps xmm2, xmm2
movzx eax, word [eax + ecx + 6]
mulss xmm2, xmm1
movd xmm1, eax
mov eax, dword [ebp - 0x11c]
cvtdq2ps xmm1, xmm1
movss xmm0, dword [eax + ecx + 0x10]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [eax + ecx + 0x18]
mulss xmm1, xmm3
movss xmm3, dword [eax + ecx + 8]
movss dword [esp + 0x18], xmm1
xorps xmm1, xmm1
addss xmm0, xmm1
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x10], xmm4
addss xmm3, xmm1
movss dword [esp + 0xc], xmm5
addss xmm0, xmm6
addss xmm3, xmm7
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + ecx + 0x14]
addss xmm0, xmm1
addss xmm0, xmm7
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + ecx + 0xc]
mov ecx, dword [ebp - 0x128]
addss xmm0, xmm1
addss xmm0, xmm6
movss dword [esp], xmm0
push edx
push dword [ebp - 0x124]
call fcn.1009afe0
add dword [ebp - 0x11c], 0x1c
inc esi
movss xmm6, dword [ebp - 0x12c]
movss xmm7, dword [ebp - 0x144]
cmp esi, dword [edi + 0xa4]
jl 0x10098957
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x130]
inc eax
add edi, 0xc4
add ecx, 0x78
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x120], ecx
cmp eax, edx
jl 0x10098760
xor esi, esi
test edx, edx
jle 0x10098ba9
mov edi, dword [ebp - 0x15c]
add edi, 0xb4
nop dword [eax]
test esi, esi
js 0x10098b28
cmp esi, edx
jl 0x10098b3f
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call dword [ebp - 0x13c]
mov byte [ebp - 4], 4
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x10098b68
mov eax, dword [0x102c7274]
test eax, eax
je 0x10098b59
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [edi]
test ecx, ecx
je 0x10098b90
mov eax, dword [0x102c7274]
test eax, eax
je 0x10098b81
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
add esp, 8
mov byte [ebp - 4], 3
inc esi
mov edx, dword [ebp - 0x140]
add edi, 0xc4
cmp esi, edx
jl 0x10098b20
mov ecx, dword [ebp - 0x134]
call fcn.1009a3b0
mov byte [ebp - 0x145], 1
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x160]
test ecx, ecx
je 0x10098be7
mov eax, dword [0x102c7274]
test eax, eax
je 0x10098bd8
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x10098c13
mov eax, dword [0x102c7274]
test eax, eax
je 0x10098c04
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
je 0x10098c3f
mov eax, dword [0x102c7274]
test eax, eax
je 0x10098c30
dec dword [eax + 0x370]
push dword [0x102c726c]
push ecx
call fcn.1006abd0
add esp, 8
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x15c]
test eax, eax
je 0x10098c6f
mov ecx, dword [0x102c7274]
test ecx, ecx
je 0x10098c60
dec dword [ecx + 0x370]
push dword [0x102c726c]
push eax
call fcn.1006abd0
add esp, 8
mov al, byte [ebp - 0x145]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101559ea
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret