Function at 0x100efaa0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
push esi
xor esi, esi
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov eax, dword [edi]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x54], eax
cmp dword [edi + 0x40], esi
jne 0x100f19bf
cmp byte [eax + 0x1e], 0
jne 0x100f19bf
mov ecx, dword [ebp + 0xc]
push ebx
mov eax, edi
call fcn.100e75e0
mov ebx, eax
mov dword [ebp - 8], ebx
cmp ebx, esi
je 0x100f19be
mov esi, dword [ebx + 0x44]
mov ecx, dword [edi]
call fcn.100a0170
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x3c]
push eax
push ecx
push 0x6b
push edi
mov eax, ebx
call fcn.100a0a80
xor edx, edx
cmp dword [ebx + 0x1c], edx
push ebx
setne dl
push edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x1c], edx
call fcn.100ec980
add esp, 0x18
test eax, eax
jne 0x100f19be
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, ebx
mov eax, edi
call fcn.100af990
add esp, 4
test eax, eax
jne 0x100f19be
mov ecx, dword [ebx + 8]
mov esi, dword [ebp - 0x54]
add ecx, ecx
add ecx, ecx
call fcn.100a36e0
mov dword [ebp - 0x40], eax
test eax, eax
je 0x100f19be
xor esi, esi
xor eax, eax
cmp dword [ebx + 8], esi
jle 0x100efb90
jmp 0x100efb80
mov ecx, dword [ebp - 0x40]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [ebx + 8]
jl 0x100efb80
mov eax, dword [edi + 0x44]
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x20], eax
inc dword [edi + 0x44]
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x10]
cmp eax, esi
je 0x100efbbb
lea esp, [esp]
inc ecx
mov dword [edi + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, esi
jne 0x100efbb0
xor eax, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x90], edx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x18], esi
cmp dword [edx], esi
jle 0x100efdf9
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x2c]
mov ebx, dword [edx + ecx]
lea esi, [ebp - 0x94]
call fcn.100bc0c0
test eax, eax
jne 0x100f19be
mov ebx, dword [ebp - 8]
mov eax, dword [ebx + 8]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], eax
test eax, eax
jle 0x100efccb
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x2c]
add eax, ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx]
mov al, byte [ecx]
mov edx, dword [ebp - 0xc]
test al, al
je 0x100efc84
movzx ebx, byte [edx]
movzx eax, al
mov al, byte [eax + 0x1010aea0]
cmp al, byte [ebx + 0x1010aea0]
jne 0x100efc81
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x100efc64
mov ebx, dword [ebp - 8]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x1010aea0]
movzx edx, byte [ecx + 0x1010aea0]
sub edx, eax
je 0x100efcab
add dword [ebp - 0x30], 0x18
inc esi
cmp esi, dword [ebp - 0x38]
jl 0x100efc56
mov dword [ebp - 0x30], esi
jmp 0x100efccb
mov dword [ebp - 0x30], esi
cmp esi, dword [ebx + 4]
jne 0x100efcc2
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov dword [edx + esi*4], eax
cmp esi, dword [ebx + 8]
jl 0x100efda3
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax + edx + 4]
mov bl, byte [edi]
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, edi
mov esi, str._ROWID_
test bl, bl
je 0x100efd1d
mov dl, bl
jmp 0x100efd00
movzx ecx, byte [esi]
movzx edx, dl
mov dl, byte [edx + 0x1010aea0]
cmp dl, byte [ecx + 0x1010aea0]
jne 0x100efd1d
mov dl, byte [eax + 1]
inc eax
inc esi
test dl, dl
jne 0x100efd00
movzx ecx, byte [esi]
movzx eax, byte [eax]
movzx edx, byte [ecx + 0x1010aea0]
movzx ecx, byte [eax + 0x1010aea0]
sub ecx, edx
je 0x100efd8b
mov edx, edi
mov esi, str.ROWID
test bl, bl
je 0x100efd5f
mov al, bl
movzx ecx, byte [esi]
movzx eax, al
mov al, byte [eax + 0x1010aea0]
cmp al, byte [ecx + 0x1010aea0]
jne 0x100efd5f
mov al, byte [edx + 1]
inc edx
inc esi
test al, al
jne 0x100efd42
movzx ecx, byte [esi]
movzx eax, byte [ecx + 0x1010aea0]
movzx ecx, byte [edx]
movzx edx, byte [ecx + 0x1010aea0]
sub edx, eax
je 0x100efd8b
mov edx, 0x1010e3b4
mov ecx, edi
call fcn.100977e0
test eax, eax
jne 0x100efe44
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x60]
add edx, edx
mov edx, dword [ecx + edx*8]
mov ecx, dword [ebx + 0xc]
push edx
lea eax, [esi + esi*2]
mov edx, dword [ecx + eax*8]
mov eax, dword [ebx]
push edx
push eax
push 0x17
mov eax, edi
call fcn.100ae740
add esp, 0x10
cmp eax, 1
je 0x100f19be
cmp eax, 2
jne 0x100efde3
mov ecx, dword [ebp - 0x40]
mov dword [ecx + esi*4], 0xffffffff
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + 0x10]
add dword [ebp - 0x2c], 0x14
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [edx]
jl 0x100efc07
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x54]
push edx
push eax
push ebx
mov eax, edi
call fcn.1009fd40
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x10]
add esp, 0xc
xor ecx, ecx
test eax, eax
je 0x100eff18
nop
mov eax, dword [eax + 0x20]
inc ecx
test eax, eax
jne 0x100efe20
test ecx, ecx
jle 0x100eff18
add ecx, ecx
add ecx, ecx
mov dword [ebp - 0xc], ecx
cmp byte [esi + 0x1e], al
je 0x100efe70
mov dword [ebp - 0x44], eax
jmp 0x100f19be
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x18]
mov edx, dword [ecx + 0xc]
mov edi, dword [ebp + 8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
push eax
push str.no_such_column:__s
call fcn.100abd80
mov ecx, edi
add esp, 8
mov byte [ecx + 0x12], 1
jmp 0x100f19be
cmp byte [esi + 0xea], 0
je 0x100efeb2
movzx edx, word [esi + 0xe8]
cmp ecx, edx
jg 0x100efeb2
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x100efeb2
mov ecx, dword [eax]
inc dword [esi + 0xec]
mov dword [esi + 0xf4], ecx
mov ecx, dword [esi + 0xec]
cmp ecx, dword [esi + 0xf0]
jle 0x100eff0d
mov dword [esi + 0xf0], ecx
jmp 0x100eff0d
lea edx, [ecx - 1]
cmp edx, 0x7ffffefe
ja 0x100eff6b
cmp dword [0x1012d978], 0
je 0x100eff5f
mov eax, dword [0x10134a80]
test eax, eax
je 0x100efee1
push eax
call dword [0x1012d9c0]
add esp, 4
mov eax, dword [ebp - 0xc]
lea ebx, [ebp - 0x24]
call fcn.100a3200
mov eax, dword [0x10134a80]
test eax, eax
je 0x100efeff
push eax
call dword [0x1012d9c8]
add esp, 4
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x100eff0d
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0x1e], 1
mov dword [ebp - 0x44], eax
test eax, eax
je 0x100f19be
mov edx, dword [ebp - 8]
mov esi, dword [edx + 0x10]
test esi, esi
je 0x100eff8a
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
jmp 0x100eff30
cmp dword [ebp - 0x50], 0
jne 0x100eff72
mov edx, dword [esi + 4]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xc], ecx
test edx, edx
jle 0x100eff78
mov ecx, dword [esi + 8]
mov edi, dword [ecx]
cmp dword [ebx + edi*4], 0
jge 0x100eff6f
inc eax
add ecx, 4
cmp eax, edx
jl 0x100eff47
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
jmp 0x100eff78
push ecx
call dword [0x1012d990]
add esp, 4
jmp 0x100eff02
xor eax, eax
jmp 0x100eff06
mov edi, dword [ebp + 8]
inc dword [edi + 0x48]
mov ecx, dword [edi + 0x48]
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov esi, dword [esi + 0x20]
add eax, 4
mov dword [ebp - 0x24], eax
test esi, esi
jne 0x100eff30
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0xc]
mov dword [ebp - 4], edi
test edi, edi
jne 0x100f00d6
mov edx, ecx
mov esi, dword [edx]
test esi, esi
je 0x100efff2
cmp byte [esi + 0x1e], 0
jne 0x100f0160
cmp byte [esi + 0xea], 0
je 0x100efff2
mov eax, 0xf0
cmp ax, word [esi + 0xe8]
ja 0x100efff2
mov edi, dword [esi + 0xf4]
test edi, edi
je 0x100efff2
mov ecx, dword [edi]
inc dword [esi + 0xec]
mov eax, dword [esi + 0xec]
mov dword [esi + 0xf4], ecx
cmp eax, dword [esi + 0xf0]
jle 0x100f0043
mov dword [esi + 0xf0], eax
jmp 0x100f0043
cmp dword [0x1012d978], 0
je 0x100f014d
mov eax, dword [0x10134a80]
test eax, eax
je 0x100f0012
push eax
call dword [0x1012d9c0]
add esp, 4
lea ebx, [ebp - 0x24]
mov eax, 0xf0
call fcn.100a3200
mov eax, dword [0x10134a80]
test eax, eax
je 0x100f0032
push eax
call dword [0x1012d9c8]
add esp, 4
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x100f0041
test esi, esi
je 0x100f0041
mov byte [esi + 0x1e], 1
mov edi, eax
test edi, edi
je 0x100f0160
push 0xf0
push 0
push edi
call fcn.1007f8c0
mov dword [edi], esi
mov eax, dword [esi + 0x88]
add esp, 0xc
test eax, eax
je 0x100f006a
mov dword [eax + 4], edi
mov edx, dword [esi + 0x88]
mov dword [edi + 8], edx
mov dword [edi + 4], 0
mov dword [esi + 0x88], edi
mov dword [edi + 0x44], 0x26bceaa5
mov esi, edi
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], esi
mov dword [ebp - 4], esi
test esi, esi
je 0x100f19be
mov ebx, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
jg 0x100f00ad
mov edi, esi
call fcn.100a64c0
test eax, eax
jne 0x100f00d3
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x87
mov byte [esi + 0x62], cl
mov edi, dword [ebp - 4]
mov esi, dword [ebp + 8]
cmp byte [esi + 0x13], 0
jne 0x100f00e3
mov byte [edi + 0x61], 1
mov eax, dword [esi + 0x1a8]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x100f00f3
mov dword [ebp - 0x24], esi
mov ebx, dword [ebp - 0x60]
mov eax, esi
call fcn.100c3de0
mov edx, 1
mov ecx, ebx
mov eax, edx
shl eax, cl
mov ecx, eax
mov eax, dword [ebp - 0x24]
or dword [eax + 0x150], ecx
or byte [eax + 0x158], dl
mov eax, dword [ebp - 8]
test byte [eax + 0x22], 0x10
je 0x100f0167
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x4c]
push edx
mov edx, dword [ebp + 0x10]
push ecx
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push esi
call fcn.100ea340
add esp, 0x1c
xor eax, eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0xc], eax
jmp 0x100f19be
push 0xf0
call dword [0x1012d990]
add esp, 4
jmp 0x100f0035
xor esi, esi
jmp 0x100f0089
add dword [esi + 0x48], edx
mov ecx, dword [esi + 0x48]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x28], ecx
test ebx, ebx
jne 0x100f017f
cmp dword [ebp - 0x2c], ebx
je 0x100f018d
lea edx, [ecx + 1]
mov dword [ebp - 0x34], edx
mov edx, dword [eax + 8]
add edx, ecx
mov dword [esi + 0x48], edx
cmp dword [ebp - 0x50], 0
jne 0x100f019c
test ebx, ebx
jne 0x100f019c
cmp dword [ebp - 0x2c], ebx
je 0x100f01a5
inc dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x1c], 0
mov ecx, dword [esi + 0x48]
lea edx, [ecx + 1]
mov dword [ebp - 0x30], edx
mov edx, dword [eax + 8]
lea ecx, [ecx + edx + 1]
mov dword [esi + 0x48], ecx
je 0x100f01e4
mov edx, dword [esi + 0x208]
mov ecx, dword [eax]
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x20]
push edx
mov dword [esi + 0x208], ecx
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push esi
mov dword [ebp - 0x6c], esi
call fcn.100ec240
add esp, 0x10
mov ebx, dword [ebp + 0x14]
lea esi, [ebp - 0x94]
call fcn.100bc0c0
test eax, eax
jne 0x100f19be
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x100f020e
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
jne 0x100f0238
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xa
mov byte [edi + 0x62], bl
jmp 0x100f023a
xor ebx, ebx
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push 4
push ebx
push edx
push eax
push ecx
call fcn.100e4020
add esp, 0x14
mov dword [ebp - 0x38], eax
cmp eax, ebx
je 0x100f19be
movzx esi, byte [eax + 6]
mov ebx, dword [edi + 0xc]
mov dword [ebp - 0xc], esi
cmp dword [edi + 0x10], ebx
jg 0x100f0277
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
jne 0x100f02a4
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x28]
xor ebx, ebx
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x3d
mov byte [edi + 0x62], bl
jmp 0x100f02a6
xor ebx, ebx
cmp esi, ebx
jne 0x100f02f3
mov eax, dword [ebp + 8]
inc dword [eax + 0x48]
mov esi, dword [edi + 0xc]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x68], eax
cmp dword [edi + 0x10], esi
jg 0x100f02ca
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
jne 0x100f02f3
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x28]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x69
mov byte [edi + 0x62], bl
mov eax, dword [ebp - 0x38]
push eax
call fcn.100aa0f0
mov ecx, dword [ebp - 0x54]
add esp, 4
test dword [ecx + 0xc], 0x1000
je 0x100f035b
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1ac], ebx
jne 0x100f035b
mov eax, edx
inc dword [eax + 0x48]
mov esi, dword [edi + 0xc]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x64], eax
cmp dword [edi + 0x10], esi
jg 0x100f0335
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
jne 0x100f035b
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0x64]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 7
mov byte [edi + 0x62], bl
cmp dword [ebp - 0x1c], ebx
jne 0x100f0512
mov esi, dword [ebp - 8]
cmp dword [ebp - 0xc], ebx
jne 0x100f0382
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x20]
push 0x27
push esi
push edx
push eax
mov eax, dword [ebp + 8]
call fcn.100b8160
add esp, 0x10
mov ecx, 5
cmp dword [ebp + 0x18], ecx
je 0x100f03a4
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x5c], ebx
cmp eax, ebx
je 0x100f03ab
cmp byte [eax + 0x18], cl
je 0x100f03a4
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x100f0396
jmp 0x100f03ab
mov dword [ebp - 0x5c], 1
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x100f0512
lea esp, [esp]
cmp dword [ebp - 0x5c], ebx
jne 0x100f03d4
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x100f04fe
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
push esi
push eax
call fcn.100cd640
mov ecx, dword [esi + 0x14]
mov esi, dword [edi + 0xc]
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x10]
add esp, 8
mov dword [ebp - 0x10], ecx
cmp eax, esi
jg 0x100f0468
cmp eax, ebx
je 0x100f03ff
add eax, eax
jmp 0x100f0404
mov eax, 0x33
mov ecx, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
add esp, 4
mov dword [ebp - 0x24], eax
cmp eax, ebx
je 0x100f04dc
mov eax, dword [edi]
cmp eax, ebx
je 0x100f0446
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [eax + 0xf8]
jb 0x100f0446
cmp ecx, dword [eax + 0xfc]
jae 0x100f0446
movzx edx, word [eax + 0xe8]
jmp 0x100f0458
mov eax, dword [ebp - 0x24]
push eax
call dword [0x1012d99c]
mov ecx, dword [ebp - 0x24]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx + edx + 1]
mov edx, dword [ebp - 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x60]
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x27
mov byte [edi + 0x62], bl
mov ecx, dword [edi + 0x14]
mov edx, dword [edi]
mov eax, esi
cmp ecx, ebx
je 0x100f04ec
cmp byte [edx + 0x1e], bl
jne 0x100f04ec
cmp esi, ebx
jge 0x100f04b3
mov eax, dword [edi + 0xc]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
mov edi, edx
call fcn.100a6820
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 4]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x100f04e3
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x100f04fe
mov esi, 1
jmp 0x100f049b
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x100f04fe
mov ecx, dword [ebp - 0x38]
mov eax, 0xfffffff0
mov edi, edx
call fcn.100a6820
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x20]
inc dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
cmp eax, ebx
jne 0x100f03c0
mov esi, dword [edi + 0xc]
cmp dword [ebp - 0xc], ebx
je 0x100f05b8
cmp dword [edi + 0x10], esi
jg 0x100f0538
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
je 0x100f0538
mov dword [ebp - 0xc], 1
jmp 0x100f0561
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
mov ecx, dword [ebp - 0x28]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x4a
mov byte [edi + 0x62], bl
mov dword [ebp - 0xc], esi
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x100f057c
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
je 0x100f057c
mov esi, 1
jmp 0x100f059f
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 1
mov byte [edi + 0x62], bl
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
cmp eax, ecx
jle 0x100f05fe
mov edx, dword [edi + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x100f05fe
cmp dword [edi + 0x10], esi
jg 0x100f05d2
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
je 0x100f05d2
mov dword [ebp - 0x14], 1
jmp 0x100f05fe
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [ebp - 0x68]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x28]
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x6a
mov byte [edi + 0x62], bl
mov dword [ebp - 0x14], esi
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f0670
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f0617
mov eax, 0x33
mov ecx, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f069c
mov eax, dword [edi]
cmp eax, ebx
je 0x100f0651
cmp esi, dword [eax + 0xf8]
jb 0x100f0651
cmp esi, dword [eax + 0xfc]
jae 0x100f0651
movzx ecx, word [eax + 0xe8]
jmp 0x100f065d
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x34
mov byte [edi + 0x62], bl
cmp dword [ebp - 0x50], ebx
je 0x100f07ae
mov eax, dword [ebp - 0x4c]
cmp eax, ebx
je 0x100f0708
cmp byte [eax], 0x84
jne 0x100f0708
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
cmp dword [esi + 0x10], eax
jg 0x100f06dd
mov edi, esi
call fcn.100a64c0
test eax, eax
jne 0x100f0771
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
inc dword [esi + 0xc]
mov ecx, dword [ebp - 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x48]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xe
mov byte [esi + 0x62], bl
jmp 0x100f0774
mov esi, dword [ebp - 0x48]
push esi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100d91f0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp eax, esi
je 0x100f0774
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0xc]
cmp esi, ebx
je 0x100f0774
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
cmp dword [esi + 0x10], eax
jg 0x100f0746
mov edi, esi
call fcn.100a64c0
test eax, eax
jne 0x100f0771
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
inc dword [esi + 0xc]
mov ecx, dword [ebp - 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x48]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xf
mov byte [esi + 0x62], bl
jmp 0x100f0774
mov edi, dword [ebp - 4]
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x100f0788
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
jne 0x100f07ae
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [ebp - 0x48]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x15
mov byte [edi + 0x62], bl
cmp dword [ebp - 0x2c], ebx
jne 0x100f0854
cmp dword [ebp - 0x58], ebx
je 0x100f093a
mov dword [ebp - 0x4c], ebx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x58]
push 3
push ebx
push ecx
push edx
call fcn.100a0ae0
or dword [ebp - 0x4c], eax
mov eax, dword [ebp - 8]
add esp, 0x18
xor esi, esi
cmp dword [eax + 8], ebx
jle 0x100f0896
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + esi*4], ebx
jl 0x100f086c
mov eax, dword [ebp - 0x4c]
cmp eax, 0xffffffff
je 0x100f086c
mov edx, 1
mov ecx, esi
shl edx, cl
test eax, edx
jne 0x100f086c
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x10], eax
cmp dword [edi + 0x10], eax
jg 0x100f0829
call fcn.100a64c0
mov edi, dword [ebp - 4]
test eax, eax
jne 0x100f0889
mov eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [ebp - 0x34]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea ecx, [esi + edx]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xa
mov byte [edi + 0x62], bl
jmp 0x100f0889
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.100aff70
add esp, 8
mov dword [ebp - 0x4c], eax
jmp 0x100f07c3
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
lea eax, [esi + edx]
mov edx, dword [ebp - 8]
push eax
push ecx
push edx
mov ebx, esi
mov eax, edi
call fcn.100d4ae0
add esp, 0xc
xor ebx, ebx
mov eax, dword [ebp - 8]
inc esi
cmp esi, dword [eax + 8]
jl 0x100f07f2
cmp dword [ebp - 0x50], ebx
jne 0x100f093a
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f0911
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f08b8
mov eax, 0x33
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [edi]
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f093a
mov eax, dword [edi]
cmp eax, ebx
je 0x100f08f2
cmp esi, dword [eax + 0xf8]
jb 0x100f08f2
cmp esi, dword [eax + 0xfc]
jae 0x100f08f2
movzx ecx, word [eax + 0xe8]
jmp 0x100f08fe
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
inc dword [edi + 0xc]
mov ecx, dword [ebp - 0x28]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x48]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xe
mov byte [edi + 0x62], bl
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x58]
push esi
push 1
push 1
push ecx
push edx
call fcn.100a0ae0
add esp, 0x18
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], ebx
cmp dword [esi + 8], ebx
jle 0x100f0cc6
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov edi, edi
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
cmp ecx, dword [edx + 4]
jne 0x100f0a20
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f09f5
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f0998
mov eax, 0x33
mov ecx, dword [edi]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
mov eax, dword [edi + 0x14]
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f0cb0
mov eax, dword [edi]
cmp eax, ebx
je 0x100f09d6
cmp esi, dword [eax + 0xf8]
jb 0x100f09d6
cmp esi, dword [eax + 0xfc]
jae 0x100f09d6
movzx ecx, word [eax + 0xe8]
jmp 0x100f09e2
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xa
mov byte [edi + 0x62], bl
jmp 0x100f0cb0
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + ecx*4]
cmp eax, ebx
jl 0x100f0bdd
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
cmp eax, ebx
je 0x100f0b05
cmp byte [eax], 0x84
jne 0x100f0b05
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov esi, dword [ecx + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f0ad7
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f0a70
mov eax, 0x33
mov ecx, dword [esi]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
add esp, 4
mov dword [ebp - 0x34], eax
cmp eax, ebx
je 0x100f0cb0
mov eax, dword [esi]
cmp eax, ebx
je 0x100f0ab2
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0xf8]
jb 0x100f0ab2
cmp ecx, dword [eax + 0xfc]
jae 0x100f0ab2
movzx edx, word [eax + 0xe8]
jmp 0x100f0ac4
mov eax, dword [ebp - 0x34]
push eax
call dword [0x1012d99c]
mov ecx, dword [ebp - 0x34]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xe
mov byte [esi + 0x62], bl
jmp 0x100f0cb0
mov esi, dword [ebp - 4]
push esi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100d91f0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp eax, esi
je 0x100f0cb0
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0xc]
cmp esi, ebx
je 0x100f0cb0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f0baf
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f0b48
mov eax, 0x33
mov ecx, dword [esi]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
add esp, 4
mov dword [ebp - 0x34], eax
cmp eax, ebx
je 0x100f0cb0
mov eax, dword [esi]
cmp eax, ebx
je 0x100f0b8a
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0xf8]
jb 0x100f0b8a
cmp ecx, dword [eax + 0xfc]
jae 0x100f0b8a
movzx edx, word [eax + 0xe8]
jmp 0x100f0b9c
mov eax, dword [ebp - 0x34]
push eax
call dword [0x1012d99c]
mov ecx, dword [ebp - 0x34]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xf
mov byte [esi + 0x62], bl
jmp 0x100f0cb0
test dword [ebp - 0x3c], 1
je 0x100f0bfe
cmp ecx, 0x1f
jg 0x100f0bfe
mov eax, 1
shl eax, cl
test dword [ebp - 0x38], eax
je 0x100f0cb0
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp edx, eax
jg 0x100f0c73
lea eax, [edx + edx]
cmp edx, ebx
jne 0x100f0c17
mov eax, 0x33
mov ecx, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f0c9c
mov eax, dword [edi]
cmp eax, ebx
je 0x100f0c51
cmp esi, dword [eax + 0xf8]
jb 0x100f0c51
cmp esi, dword [eax + 0xfc]
jae 0x100f0c51
movzx ecx, word [eax + 0xe8]
jmp 0x100f0c5d
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 4]
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x1c
mov byte [edi + 0x62], bl
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
push edx
push eax
mov eax, dword [ebp - 0x18]
push edi
call fcn.100d1d40
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
inc dword [ebp - 4]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ecx + 8]
jl 0x100f0970
test byte [ebp - 0x3c], 1
je 0x100f0f3e
mov edx, dword [ebp - 8]
mov eax, dword [edx + 8]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f0d4b
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f0cf2
mov eax, 0x33
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [edi]
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f0d74
mov eax, dword [edi]
cmp eax, ebx
je 0x100f0d2c
cmp esi, dword [eax + 0xf8]
jb 0x100f0d2c
cmp esi, dword [eax + 0xfc]
jae 0x100f0d2c
movzx ecx, word [eax + 0xe8]
jmp 0x100f0d38
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
inc dword [edi + 0xc]
mov ecx, dword [ebp - 0x30]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0xc]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x1d
mov byte [edi + 0x62], bl
mov esi, dword [ebp - 8]
push edi
mov eax, esi
call fcn.100a8fe0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x28]
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x58]
push edx
mov edx, dword [ebp + 8]
push esi
push 1
push eax
push 0x6b
push ecx
push edx
call fcn.100f2600
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
add esp, 0x28
cmp eax, esi
jg 0x100f0e1b
cmp eax, ebx
je 0x100f0db6
add eax, eax
jmp 0x100f0dbb
mov eax, 0x33
mov ecx, dword [edi]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
mov eax, dword [edi + 0x14]
call fcn.100a3750
add esp, 4
mov dword [ebp - 0x3c], eax
cmp eax, ebx
je 0x100f0e47
mov eax, dword [edi]
cmp eax, ebx
je 0x100f0df9
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [eax + 0xf8]
jb 0x100f0df9
cmp ecx, dword [eax + 0xfc]
jae 0x100f0df9
movzx edx, word [eax + 0xe8]
jmp 0x100f0e0b
mov ecx, dword [ebp - 0x3c]
push ecx
call dword [0x1012d99c]
mov ecx, dword [ebp - 0x3c]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x28]
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x34
mov byte [edi + 0x62], bl
mov edx, dword [ebp - 8]
xor esi, esi
cmp dword [edx + 8], ebx
jle 0x100f0f3e
mov eax, edx
jmp 0x100f0e60
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + esi*4], ebx
jge 0x100f0f34
cmp esi, dword [eax + 4]
je 0x100f0f34
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f0ef1
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f0e8e
mov eax, 0x33
mov ecx, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
add esp, 4
mov dword [ebp - 0x3c], eax
cmp eax, ebx
je 0x100f0f1c
mov eax, dword [edi]
cmp eax, ebx
je 0x100f0ecc
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [eax + 0xf8]
jb 0x100f0ecc
cmp ecx, dword [eax + 0xfc]
jae 0x100f0ecc
movzx edx, word [eax + 0xe8]
jmp 0x100f0ede
mov eax, dword [ebp - 0x3c]
push eax
call dword [0x1012d99c]
mov ecx, dword [ebp - 0x3c]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
add edx, esi
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x1c
mov byte [edi + 0x62], bl
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 8]
add eax, esi
push eax
push ecx
push edi
mov eax, esi
call fcn.100d1d40
mov eax, dword [ebp - 8]
add esp, 0xc
inc esi
cmp esi, dword [eax + 8]
jl 0x100f0e60
cmp dword [ebp - 0x1c], ebx
jne 0x100f1238
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 0x28]
push ebx
push edx
mov edx, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x48]
neg ecx
push 1
sbb ecx, ecx
and ecx, esi
push ecx
mov ecx, dword [ebp - 0x20]
push edx
mov edx, dword [ebp - 8]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.100da700
add esp, 0x28
cmp dword [ebp - 0x2c], ebx
je 0x100f0f91
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 8]
push ebx
push esi
push ecx
call fcn.100e76b0
add esp, 0xc
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
cmp eax, esi
jg 0x100f100c
cmp eax, ebx
je 0x100f0fa3
add eax, eax
jmp 0x100f0fa8
mov eax, 0x33
mov ecx, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
add esp, 4
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x100f10b0
mov eax, dword [edi]
cmp eax, ebx
je 0x100f0fea
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax + 0xf8]
jb 0x100f0fea
cmp ecx, dword [eax + 0xfc]
jae 0x100f0fea
movzx edx, word [eax + 0xe8]
jmp 0x100f0ffc
mov eax, dword [ebp - 0x1c]
push eax
call dword [0x1012d99c]
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x34
mov byte [edi + 0x62], bl
mov dword [ebp - 0xc], esi
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebp - 8]
push ecx
push edx
call fcn.100da480
add esp, 0xc
cmp dword [ebp - 0x2c], ebx
jne 0x100f105d
cmp dword [ebp - 0x50], ebx
je 0x100f1101
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f10db
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f1076
mov eax, 0x33
mov ecx, dword [edi]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
mov eax, dword [edi + 0x14]
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f1101
mov eax, dword [edi]
cmp eax, ebx
je 0x100f10bc
cmp esi, dword [eax + 0xf8]
jb 0x100f10bc
cmp esi, dword [eax + 0xfc]
jae 0x100f10bc
movzx ecx, word [eax + 0xe8]
jmp 0x100f10c8
mov dword [ebp - 0xc], 1
jmp 0x100f1038
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0x20]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x39
mov byte [edi + 0x62], bl
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
jle 0x100f1115
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 0x14]
mov dword [ecx + edx*4 + 8], eax
mov esi, dword [ebp - 0x2c]
cmp esi, ebx
je 0x100f1130
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
push edx
push ebx
push eax
mov eax, dword [ebp + 8]
call fcn.100e76b0
add esp, 0xc
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
push ebx
push ebx
push 1
push ecx
mov ecx, dword [ebp - 8]
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
call fcn.100b8ab0
add esp, 0x20
cmp esi, ebx
je 0x100f1238
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test dword [ecx + 0xc], 0x4000000
je 0x100f1238
mov edx, dword [ebp - 8]
mov ecx, dword [edx]
mov eax, ecx
cmp ecx, ebx
jne 0x100f117c
xor esi, esi
mov dword [ebp - 0x38], esi
jmp 0x100f1191
cmp byte [ecx], bl
je 0x100f1185
inc eax
cmp byte [eax], bl
jne 0x100f1180
sub eax, ecx
and eax, 0x3fffffff
mov esi, eax
mov dword [ebp - 0x38], eax
mov eax, dword [edx + 0x44]
add eax, 0x34
mov dword [ebp - 0x1c], eax
cmp dword [eax + 0xc], ebx
je 0x100f11dd
xor eax, eax
mov dword [ebp - 0xc], esi
cmp esi, ebx
jle 0x100f11d4
jmp 0x100f11b0
movzx edx, byte [ecx]
movzx edx, byte [edx + 0x1010aea0]
lea esi, [eax*8]
xor edx, esi
xor eax, edx
mov edx, dword [ebp - 0xc]
dec edx
inc ecx
mov dword [ebp - 0xc], edx
cmp edx, ebx
jg 0x100f11b0
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
div dword [ecx]
jmp 0x100f11df
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
push esi
push eax
mov eax, dword [ebp - 0x1c]
call fcn.100984d0
add esp, 8
cmp eax, ebx
je 0x100f1238
mov esi, dword [eax + 8]
cmp esi, ebx
je 0x100f1238
lea esp, [esp]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 8]
push ecx
push esi
push edx
push eax
call fcn.100b7750
add esp, 0x10
cmp eax, ebx
je 0x100f1231
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 8]
push ebx
push 2
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100f24d0
add esp, 0x18
mov esi, dword [esi + 0xc]
cmp esi, ebx
jne 0x100f1200
mov ecx, dword [ebp - 0x54]
test dword [ecx + 0xc], 0x1000
je 0x100f12f4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1ac], ebx
jne 0x100f12f4
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f12c9
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f1270
mov eax, 0x33
mov ecx, dword [edi]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
mov eax, dword [edi + 0x14]
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f12f4
mov eax, dword [edi]
cmp eax, ebx
je 0x100f12aa
cmp esi, dword [eax + 0xf8]
jb 0x100f12aa
cmp esi, dword [eax + 0xfc]
jae 0x100f12aa
movzx ecx, word [eax + 0xe8]
jmp 0x100f12b6
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x64]
mov ecx, 1
add dword [edi + 0xc], ecx
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x14
mov byte [edi + 0x62], bl
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp - 0x58]
push eax
mov eax, dword [ebp + 8]
push 2
push ecx
push 0x6b
push edx
push eax
call fcn.100f2600
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
add esp, 0x24
cmp eax, esi
jg 0x100f1393
cmp eax, ebx
je 0x100f132e
add eax, eax
jmp 0x100f1333
mov eax, 0x33
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [edi]
call fcn.100a3750
add esp, 4
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x100f13bb
mov eax, dword [edi]
cmp eax, ebx
je 0x100f1371
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax + 0xf8]
jb 0x100f1371
cmp ecx, dword [eax + 0xfc]
jae 0x100f1371
movzx edx, word [eax + 0xe8]
jmp 0x100f1383
mov edx, dword [ebp - 0x1c]
push edx
call dword [0x1012d99c]
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x14]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 1
mov byte [edi + 0x62], bl
jmp 0x100f13be
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 0xc]
cmp eax, ecx
jle 0x100f13cf
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 0x14]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x10]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], edx
cmp edx, ebx
je 0x100f14af
cmp dword [ebp - 0x5c], ebx
jne 0x100f13f7
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x18]
cmp dword [eax + ecx*4], ebx
jle 0x100f149e
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f146c
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f1410
mov eax, 0x33
mov ecx, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f149b
mov eax, dword [edi]
cmp eax, ebx
je 0x100f144a
cmp esi, dword [eax + 0xf8]
jb 0x100f144a
cmp esi, dword [eax + 0xfc]
jae 0x100f144a
movzx ecx, word [eax + 0xe8]
jmp 0x100f1456
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x14], esi
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov esi, dword [ebp - 0x18]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx + esi + 1]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x2b
mov byte [edi + 0x62], bl
jmp 0x100f149e
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x20]
inc dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
cmp edx, ebx
jne 0x100f13e3
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10], eax
cmp ecx, eax
jg 0x100f1521
lea eax, [ecx + ecx]
cmp ecx, ebx
jne 0x100f14c8
mov eax, 0x33
mov ecx, dword [edi]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add edx, edx
add edx, edx
push edx
call fcn.100a3750
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x100f1547
mov eax, dword [edi]
cmp eax, ebx
je 0x100f1502
cmp esi, dword [eax + 0xf8]
jb 0x100f1502
cmp esi, dword [eax + 0xfc]
jae 0x100f1502
movzx ecx, word [eax + 0xe8]
jmp 0x100f150e
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x2b
mov byte [edi + 0x62], bl
mov esi, dword [ebp + 8]
cmp byte [esi + 0x13], bl
jne 0x100f1560
cmp dword [esi + 0x1ac], ebx
jne 0x100f1560
push esi
call fcn.100b86e0
add esp, 4
mov eax, dword [ebp - 0x54]
test dword [eax + 0xc], 0x1000
je 0x100f19be
cmp dword [esi + 0x1ac], 0
jne 0x100f19be
cmp byte [esi + 0x13], 0
jne 0x100f19be
mov ebx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
cmp eax, ebx
jg 0x100f15f4
test eax, eax
je 0x100f1599
add eax, eax
jmp 0x100f159e
mov eax, 0x33
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [edi]
call fcn.100a3750
mov esi, eax
add esp, 4
test esi, esi
je 0x100f1622
mov eax, dword [edi]
test eax, eax
je 0x100f15d8
cmp esi, dword [eax + 0xf8]
jb 0x100f15d8
cmp esi, dword [eax + 0xfc]
jae 0x100f15d8
movzx ecx, word [eax + 0xe8]
jmp 0x100f15e4
push esi
call dword [0x1012d99c]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov eax, dword [edi + 0x14]
mov ecx, 1
add dword [edi + 0xc], ecx
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x64]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x10
mov byte [edi + 0x62], cl
movzx eax, word [edi + 0x30]
mov ecx, dword [edi + 0x28]
mov esi, dword [edi]
add eax, eax
call fcn.1009d300
mov eax, dword [edi + 0x28]
push eax
push esi
call fcn.10097510
add esp, 8
mov ecx, 1
mov word [edi + 0x30], cx
test esi, esi
je 0x100f169e
cmp byte [esi + 0x1e], 0
je 0x100f1659
xor esi, esi
jmp 0x100f1700
cmp byte [esi + 0xea], 0
je 0x100f169e
mov edx, 0x50
cmp dx, word [esi + 0xe8]
ja 0x100f169e
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x100f169e
mov ecx, dword [eax]
inc dword [esi + 0xec]
mov dword [esi + 0xf4], ecx
mov ecx, dword [esi + 0xec]
cmp ecx, dword [esi + 0xf0]
jle 0x100f16ed
mov dword [esi + 0xf0], ecx
jmp 0x100f16ed
cmp dword [0x1012d978], 0
je 0x100f173e
mov eax, dword [0x10134a80]
test eax, eax
je 0x100f16be
push eax
call dword [0x1012d9c0]
add esp, 4
lea ebx, [ebp + 8]
mov eax, 0x50
call fcn.100a3200
mov eax, dword [0x10134a80]
test eax, eax
je 0x100f16de
push eax
call dword [0x1012d9c8]
add esp, 4
mov eax, dword [ebp + 8]
test eax, eax
jne 0x100f16ed
test esi, esi
je 0x100f16ed
mov byte [esi + 0x1e], 1
mov esi, eax
test esi, esi
je 0x100f1700
push 0x50
push 0
push esi
call fcn.1007f8c0
add esp, 0xc
mov dword [edi + 0x28], esi
test esi, esi
je 0x100f1720
mov edx, 1
mov word [esi + 0x1c], dx
mov eax, dword [edi]
mov ecx, edx
mov dword [esi + 0x10], eax
mov word [esi + 0x44], cx
mov edx, dword [edi]
mov dword [esi + 0x38], edx
mov eax, dword [edi]
cmp byte [eax + 0x1e], 0
jne 0x100f19be
mov ebx, dword [edi + 0x28]
mov eax, dword [ebx + 0x10]
mov dword [ebp + 8], ebx
test eax, eax
je 0x100f174b
mov ecx, dword [eax + 0x48]
jmp 0x100f1750
push 0x50
call dword [0x1012d990]
add esp, 4
jmp 0x100f16e1
mov ecx, 0x3b9aca00
xor eax, eax
mov dword [ebp - 0x1c], eax
test ecx, ecx
js 0x100f1771
lea esp, [esp]
cmp byte [eax + str.rows_updated], 0
je 0x100f176e
inc eax
cmp eax, ecx
jle 0x100f1760
mov dword [ebp - 0x1c], eax
xor ecx, ecx
cmp ecx, fcn.10097510
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xc], 0x202
jne 0x100f1899
test ecx, 0x2460
je 0x100f1875
test ecx, 0x2000
je 0x100f180f
mov esi, dword [ebx]
test esi, esi
je 0x100f1804
mov edi, dword [esi + 0x14]
test edi, edi
je 0x100f1804
push 0x40
lea edx, [ebp - 0xd4]
push 0
push edx
call fcn.1007f8c0
mov eax, 1
mov word [ebp - 0xb0], ax
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0xd4]
push ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xd4], esi
call edi
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x10]
push edx
push eax
call fcn.10097510
mov ecx, 0xa
lea esi, [ebp - 0xcc]
mov edi, ebx
add esp, 0x18
rep movsd dword es:[edi], dword [esi]
push ebx
call fcn.1009cce0
add esp, 4
jmp 0x100f1875
test ecx, 0x400
je 0x100f1830
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x100f1830
mov ecx, dword [ebx + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebx + 0x20], 0
jmp 0x100f1875
test cl, 0x20
je 0x100f183e
mov ebx, dword [ebx]
call fcn.1009a740
jmp 0x100f1872
test cl, 0x40
je 0x100f1875
mov ebx, dword [ebx]
call fcn.100c9730
mov esi, dword [ebp + 8]
test byte [esi + 0x1c], 0x20
je 0x100f185a
mov ebx, dword [esi]
call fcn.1009a740
mov dx, word [esi + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [esi + 0x1c], dx
mov byte [esi + 0x1e], 5
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x10]
push ecx
push edx
call fcn.10097510
mov eax, str.rows_updated
add esp, 8
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x20], 0
jmp 0x100f19a7
test ecx, 0x2460
je 0x100f1984
test ecx, 0x2000
je 0x100f191e
mov esi, dword [ebx]
test esi, esi
je 0x100f1913
mov edi, dword [esi + 0x14]
test edi, edi
je 0x100f1913
push 0x40
lea eax, [ebp - 0xd4]
push 0
push eax
call fcn.1007f8c0
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0xd4]
mov ecx, 1
push edx
mov word [ebp - 0xb0], cx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xd4], esi
call edi
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x10]
push eax
push ecx
call fcn.10097510
mov ecx, 0xa
lea esi, [ebp - 0xcc]
mov edi, ebx
add esp, 0x18
rep movsd dword es:[edi], dword [esi]
push ebx
call fcn.1009cce0
add esp, 4
jmp 0x100f1984
test ecx, 0x400
je 0x100f193f
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x100f193f
mov edx, dword [ebx + 0x14]
push edx
call eax
add esp, 4
mov dword [ebx + 0x20], 0
jmp 0x100f1984
test cl, 0x20
je 0x100f194d
mov ebx, dword [ebx]
call fcn.1009a740
jmp 0x100f1981
test cl, 0x40
je 0x100f1984
mov ebx, dword [ebx]
call fcn.100c9730
mov esi, dword [ebp + 8]
test byte [esi + 0x1c], 0x20
je 0x100f1969
mov ebx, dword [esi]
call fcn.1009a740
mov ax, word [esi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [esi + 0x1c], ax
mov byte [esi + 0x1e], 5
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x10]
push edx
push eax
call fcn.10097510
add esp, 8
xor eax, eax
mov dword [ebx + 0x14], str.rows_updated
mov dword [ebx + 0x20], eax
mov dword [ebp - 0xc], 0xa02
mov ecx, dword [ebp - 0x1c]
mov dx, word [ebp - 0xc]
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x18], ecx
mov word [ebx + 0x1c], dx
mov word [ebx + 0x1e], 0x103
pop ebx
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x100f19cf
mov ecx, dword [ebp - 0x70]
mov dword [eax + 0x208], ecx
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x54]
push edx
push esi
call fcn.10097510
mov eax, dword [ebp - 0x40]
push eax
push esi
call fcn.10097510
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, esi
call fcn.1009f6d0
mov edx, dword [ebp + 0x10]
push edx
call fcn.1009e6d0
mov eax, dword [ebp + 0x14]
push eax
push esi
call fcn.100a7430
add esp, 0x20
pop edi
pop esi
mov esp, ebp
pop ebp
ret