Function at 0x100400a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b2deb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x124
mov eax, 0xb4
mov dword [ebp - 0x70], 0
push esi
push edi
cmp word [0x100e80b0], ax
je 0x1004039d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + 0x18]
add esi, 0x14
mov ecx, esi
mov edi, dword [esi + 0x14]
cmp edi, 0x10
jb 0x100400f1
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
mov edx, eax
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_01
mov dword [ebp - 0x14], eax
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040119
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_01
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x1004013c
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_01
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x1004015f
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_01
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040182
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_02
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x100401a5
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_02
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x100401c8
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_02
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x100401eb
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_02
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x1004020e
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_03
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040231
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_03
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040254
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_03
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040277
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_03
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x1004029a
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_04
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x100402bd
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_04
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x100402e0
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_04
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040303
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_04
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040326
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_05
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040345
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_05
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
mov ecx, esi
cmp edi, 0x10
jb 0x10040364
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_05
call fcn.10008560
add esp, 8
test al, al
jne 0x1004039d
cmp edi, 0x10
jb 0x10040381
mov esi, dword [esi]
mov edx, dword [ebp - 0x14]
mov ecx, esi
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_05
call fcn.10008560
add esp, 8
test al, al
je 0x10041a5c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + 0x18]
add esi, 0x14
mov ecx, esi
mov edi, dword [esi + 0x14]
cmp edi, 0x10
jb 0x100403b5
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
mov edx, eax
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_01
mov dword [ebp - 0x14], eax
call fcn.10008560
add esp, 8
test al, al
je 0x100403d9
mov byte [ebp - 0xd], 1
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x100403e2
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_01
call fcn.10008560
add esp, 8
test al, al
je 0x10040401
mov byte [ebp - 0xd], 2
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x1004040a
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_01
call fcn.10008560
add esp, 8
test al, al
je 0x10040429
mov byte [ebp - 0xd], 3
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x10040432
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_01
call fcn.10008560
add esp, 8
test al, al
jne 0x100406af
mov ecx, esi
cmp edi, 0x10
jb 0x10040455
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_02
call fcn.10008560
add esp, 8
test al, al
je 0x10040474
mov byte [ebp - 0xd], 1
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x1004047d
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_02
call fcn.10008560
add esp, 8
test al, al
je 0x1004049c
mov byte [ebp - 0xd], 2
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x100404a5
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_02
call fcn.10008560
add esp, 8
test al, al
je 0x100404c4
mov byte [ebp - 0xd], 3
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x100404cd
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_02
call fcn.10008560
add esp, 8
test al, al
jne 0x100406af
mov ecx, esi
cmp edi, 0x10
jb 0x100404f0
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_03
call fcn.10008560
add esp, 8
test al, al
je 0x1004050f
mov byte [ebp - 0xd], 1
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x10040518
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_03
call fcn.10008560
add esp, 8
test al, al
je 0x10040537
mov byte [ebp - 0xd], 2
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x10040540
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_03
call fcn.10008560
add esp, 8
test al, al
je 0x1004055f
mov byte [ebp - 0xd], 3
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x10040568
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_03
call fcn.10008560
add esp, 8
test al, al
jne 0x100406af
mov ecx, esi
cmp edi, 0x10
jb 0x1004058b
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_04
call fcn.10008560
add esp, 8
test al, al
je 0x100405aa
mov byte [ebp - 0xd], 1
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x100405b3
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_04
call fcn.10008560
add esp, 8
test al, al
je 0x100405d2
mov byte [ebp - 0xd], 2
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x100405db
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_04
call fcn.10008560
add esp, 8
test al, al
je 0x100405fa
mov byte [ebp - 0xd], 3
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x10040603
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_04
call fcn.10008560
add esp, 8
test al, al
jne 0x100406af
mov ecx, esi
cmp edi, 0x10
jb 0x10040626
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_JA_05
call fcn.10008560
add esp, 8
test al, al
je 0x10040642
mov byte [ebp - 0xd], 1
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x1004064b
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_BJ_05
call fcn.10008560
add esp, 8
test al, al
je 0x10040667
mov byte [ebp - 0xd], 2
jmp 0x100406b3
mov ecx, esi
cmp edi, 0x10
jb 0x10040670
mov ecx, dword [esi]
mov edx, dword [ebp - 0x14]
push 0x1a
push str.STRUCTURE_FORT_STONE_CT_05
call fcn.10008560
add esp, 8
test al, al
je 0x1004068c
mov byte [ebp - 0xd], 3
jmp 0x100406b3
cmp edi, 0x10
jb 0x10040693
mov esi, dword [esi]
mov edx, dword [ebp - 0x14]
mov ecx, esi
push 0x1a
push str.STRUCTURE_FORT_STONE_HT_05
call fcn.10008560
add esp, 8
test al, al
je 0x10041785
mov byte [ebp - 0xd], 4
lea ecx, [ebp - 0x114]
call fcn.10054750
mov eax, dword [ebp + 8]
mov dword [ebp - 4], 0
mov edi, dword [0x100e83ec]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + 0x18]
movzx eax, byte [esi + 8]
add esi, 8
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor ecx, eax
movzx eax, byte [esi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul ecx, ecx, 0x1000193
and ecx, dword [0x100e83f8]
mov eax, dword [edi + ecx*8]
add ecx, ecx
lea edx, [ecx*4 + 4]
mov ecx, dword [edi + ecx*4]
mov dword [ebp - 0x34], edx
mov edx, dword [0x100e83e4]
mov dword [ebp - 0x28], ecx
nop dword [eax + eax]
cmp ecx, edx
jne 0x10040738
mov ecx, edx
jmp 0x10040740
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + edi]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x10040752
mov ecx, dword [eax + 8]
cmp ecx, dword [esi]
je 0x10040754
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28]
jmp 0x10040730
mov eax, edx
cmp eax, edx
je 0x10040998
push esi
call fcn.100547e0
mov eax, dword [eax + 4]
mov dword [ebp - 0x68], eax
mov esi, dword [eax]
mov dword [ebp - 0x3c], esi
cmp esi, eax
je 0x10040998
lea edi, [esi + 8]
push edi
lea ecx, [ebp - 0x60]
call fcn.10007a70
mov byte [ebp - 4], 1
add edi, 0x18
push 0
push 0
mov dword [ebp - 0xbc], 0
mov eax, dword [edi]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], 0
call fcn.10020e80
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
push edi
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.10020550
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 4
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.100547e0
lea ecx, [ebp - 0x60]
push ecx
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.10057640
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x64], eax
mov edi, dword [eax]
mov dword [ebp - 0x28], edi
cmp edi, eax
je 0x10040947
nop dword [eax]
cmp dword [ebp - 0x4c], 0x10
lea esi, [ebp - 0x60]
mov eax, dword [edi + 0xc]
mov edx, 0x811c9dc5
cmovae esi, dword [ebp - 0x60]
xor ecx, ecx
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x50], ecx
jbe 0x10040852
nop dword [eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x50]
jb 0x10040840
and edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x108]
lea eax, [edx + edx]
mov esi, dword [ecx + edx*8]
lea edx, [eax*4 + 4]
mov dword [ebp - 0x34], edx
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x110]
cmp edx, eax
je 0x10040886
mov eax, dword [ebp - 0x34]
mov eax, dword [ecx + eax]
mov eax, dword [eax]
cmp esi, eax
je 0x10040904
cmp dword [ebp - 0x4c], 0x10
lea edx, [ebp - 0x60]
mov edi, dword [esi + 0x1c]
lea ecx, [esi + 8]
cmovae edx, dword [ebp - 0x60]
cmp edi, 0x10
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x28]
jb 0x100408a9
mov ecx, dword [esi + 8]
push dword [ebp - 0x50]
mov eax, dword [esi + 0x18]
push edx
mov edx, eax
mov dword [ebp - 0x14], eax
call fcn.10008560
add esp, 8
test al, al
jne 0x100408ce
mov esi, dword [esi]
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x40]
jmp 0x10040874
cmp dword [ebp - 0x24], 0x10
lea eax, [esi + 8]
jb 0x100408d9
mov eax, dword [eax]
cmp dword [ebp - 0x4c], 0x10
lea ecx, [ebp - 0x60]
push dword [ebp - 0x14]
cmovae ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x50]
push eax
call fcn.10008560
add esp, 8
test al, al
cmove esi, dword [ebp - 0x110]
cmp esi, dword [ebp - 0x110]
jne 0x1004091a
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x114]
call fcn.100574f0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x114]
call fcn.100574f0
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x7c]
add dword [eax + 0x20], ecx
mov edi, dword [edi]
mov dword [ebp - 0x28], edi
cmp edi, dword [ebp - 0x64]
jne 0x10040820
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0xc0]
call fcn.1001d250
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x1004098a
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10040980
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov esi, dword [esi]
mov dword [ebp - 0x3c], esi
cmp esi, dword [ebp - 0x68]
jne 0x10040775
mov ax, word [0x100e80b0]
mov ecx, 0x652
cmp ax, cx
je 0x100409d9
mov ecx, 0x6e2
cmp ax, cx
je 0x100409d9
mov ecx, 0x8c4
cmp ax, cx
je 0x100409d9
mov ecx, 0x56e
cmp ax, cx
je 0x100409d9
cmp ax, 0xf
je 0x100409d9
cmp byte [0x100e8085], 0
je 0x10040f33
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.100545b0
mov ecx, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp eax, ecx
je 0x10040f33
nop
lea esi, [eax + 8]
push esi
lea ecx, [ebp - 0xf4]
call fcn.10007a70
mov byte [ebp - 4], 5
add esi, 0x18
push 0
push 0
mov dword [ebp - 0xbc], 0
mov eax, dword [esi]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], 0
call fcn.10031930
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
push esi
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 7
call fcn.10055070
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 9
mov eax, dword [edi + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.100545b0
lea ecx, [ebp - 0xf4]
push ecx
lea ecx, [ebp - 0x84]
push ecx
mov ecx, eax
call fcn.100573a0
mov edi, dword [ebp - 0x84]
mov edi, dword [edi + 0x24]
mov esi, dword [edi]
cmp esi, edi
je 0x10040bea
nop dword [eax + eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10007a70
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xdc]
call fcn.10007a70
mov ecx, dword [ebp - 0x88]
or dword [ebp - 0x70], 1
mov dword [ebp - 0xc4], ecx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x14], eax
je 0x10040b46
movups xmm0, xmmword [ebp - 0xdc]
mov dword [eax + 0x10], 0
mov edx, 0xf
mov dword [eax + 0x14], 0
movups xmmword [eax], xmm0
mov byte [ebp - 0xdc], 0
movq xmm0, qword [ebp - 0xcc]
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], ecx
add eax, 0x1c
mov dword [ebp - 0x50], eax
jmp 0x10040b62
lea ecx, [ebp - 0xdc]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.10055f60
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xa
cmp edx, 0x10
jb 0x10040b9a
mov ecx, dword [ebp - 0xdc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10040b90
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x10040bd8
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10040bce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov esi, dword [esi]
cmp esi, edi
jne 0x10040ac0
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x40], edi
jmp 0x10040bec
xor edi, edi
mov esi, dword [ebp - 0x50]
mov eax, 0x92492493
mov ecx, esi
sub ecx, edi
imul ecx
push 0x1003bfa0
add edx, ecx
mov ecx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
push eax
mov dword [ebp - 0x7c], eax
call fcn.10056680
add esp, 8
mov dword [ebp - 0x3c], edi
cmp edi, esi
je 0x10040e41
nop word [eax + eax]
push edi
lea ecx, [ebp - 0x130]
call fcn.10007a70
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0xd8]
call fcn.10007a70
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0xd8]
cmp dword [ebp - 0xc4], 0x10
cmovae eax, dword [ebp - 0xd8]
push eax
mov eax, 0x485e20
call eax
add esp, 4
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10040db7
mov edx, dword [eax]
mov ecx, eax
push 0x30cf
mov edx, dword [edx + 0x278]
call edx
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x1c], 0xc6
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], 0x404090
mov edx, dword [ebp - 0x68]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x64]
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 0x1c], al
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], 0x404090
mov edx, dword [ebp - 0x68]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x64]
mov esi, dword [ebp - 0x40]
lea eax, [ebp - 0x68]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x64], 0x426040
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x44], 0x404090
nop dword [eax]
push esi
lea ecx, [ebp - 0xa0]
call fcn.10007a70
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0xa0]
cmp dword [ebp - 0x8c], 0x10
cmovae eax, dword [ebp - 0xa0]
mov dword [ebp - 0x68], eax
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x68]
call dword [ebp - 0x64]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x74]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x44]
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x10040d8f
mov eax, dword [ebp - 0xa0]
inc edx
mov ecx, eax
cmp edx, 0x1000
jb 0x10040d85
mov eax, dword [eax - 4]
add edx, 0x23
sub ecx, eax
add ecx, 0xfffffffc
cmp ecx, 0x1f
ja 0x10041a6e
push edx
push eax
call fcn.1005cbc1
add esp, 8
mov esi, dword [ebp - 0x28]
add esi, 0x1c
mov dword [ebp - 0x28], esi
cmp esi, dword [ebp - 0x50]
jne 0x10040d00
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x27c]
call eax
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x3c]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xc4]
cmp edx, 0x10
jb 0x10040df5
mov ecx, dword [ebp - 0xd8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10040deb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x11c]
cmp edx, 0x10
jb 0x10040e33
mov ecx, dword [ebp - 0x130]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10040e29
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
add edi, 0x1c
mov dword [ebp - 0x3c], edi
cmp edi, esi
jne 0x10040c30
mov edi, dword [ebp - 0x40]
mov byte [ebp - 4], 8
test edi, edi
je 0x10040eba
push ecx
mov edx, esi
mov ecx, edi
call fcn.10056230
mov ecx, dword [ebp - 0x14]
mov eax, 0x92492493
sub ecx, edi
add esp, 4
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, edi
shl ecx, 2
cmp ecx, 0x1000
jb 0x10040e9b
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push ecx
push edi
call fcn.1005cbc1
add esp, 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea ecx, [ebp - 0xb4]
call fcn.10009db0
lea ecx, [ebp - 0xbc]
call fcn.10021510
push 0x24
push dword [ebp - 0xbc]
call fcn.1005cbc1
mov byte [ebp - 4], 0
add esp, 8
mov edx, dword [ebp - 0xe0]
cmp edx, 0x10
jb 0x10040f1e
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10040f14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x18]
je 0x10040f33
mov edi, dword [ebp + 8]
jmp 0x10040a00
mov edi, dword [ebp - 0x110]
xor edx, edx
xor eax, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov esi, dword [edi]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0xf
cmp esi, edi
je 0x10041021
nop word [eax + eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10007a70
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x88], ecx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x4c], eax
je 0x10040fc0
movups xmm0, xmmword [ebp - 0xa0]
mov dword [eax + 0x10], 0
mov edx, 0xf
mov dword [eax + 0x14], 0
movups xmmword [eax], xmm0
mov byte [ebp - 0xa0], 0
movq xmm0, qword [ebp - 0x90]
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], ecx
add eax, 0x1c
mov dword [ebp - 0x50], eax
jmp 0x10040fd6
lea ecx, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.10055f60
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0xf
cmp edx, 0x10
jb 0x1004100e
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041004
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov esi, dword [esi]
cmp esi, edi
jne 0x10040f60
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x14], edx
mov esi, dword [ebp - 0x14]
mov ecx, eax
sub ecx, edx
mov eax, 0x92492493
imul ecx
push 0x1003bfa0
add edx, ecx
mov ecx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x50]
push eax
mov dword [ebp - 0x28], eax
call fcn.10056680
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x28], ecx
jbe 0x10041545
mov ecx, esi
mov dword [ebp - 0x34], esi
nop word [eax + eax]
push ecx
lea ecx, [ebp - 0xf4]
call fcn.10007a70
mov al, byte [ebp - 0x3c]
inc al
mov byte [ebp - 4], 0x11
mov byte [ebp - 0x20], al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.100547e0
lea ecx, [ebp - 0xf4]
push ecx
lea ecx, [ebp - 0x84]
push ecx
mov ecx, eax
call fcn.10057640
mov edi, dword [ebp - 0x84]
mov edi, dword [edi + 0x24]
mov esi, dword [edi]
cmp esi, edi
je 0x100411ee
push dword [esi + 8]
mov eax, 0x485df0
call eax
add esp, 4
mov dword [ebp - 0x70], eax
test eax, eax
je 0x100411e4
mov ecx, dword [ebp - 0x40]
test ecx, ecx
cmove ecx, eax
mov eax, dword [eax + 0x1cbc]
mov dword [ebp - 0x40], ecx
test eax, eax
je 0x100411e4
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x114]
add eax, 0x20
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.10053be0
mov eax, dword [eax]
cmp eax, dword [ebp - 0x110]
je 0x100411e4
mov ecx, dword [ebp - 0x70]
push 0x30cf
mov eax, dword [ecx]
mov eax, dword [eax + 0x278]
call eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x1c], 0x4e
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x404090
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x2c]
mov al, byte [ebp - 0xd]
mov byte [ebp - 0x1c], al
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x404090
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x2c]
mov al, byte [ebp - 0x20]
mov byte [ebp - 0x1c], al
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x404090
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + 0x1cbc]
lea ecx, [ebp - 0x114]
mov eax, dword [eax + 4]
add eax, 0x20
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.100574f0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x44], 0x404090
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x44]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x27c]
call eax
mov esi, dword [esi]
cmp esi, edi
jne 0x100410c2
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xe0]
cmp edx, 0x10
jb 0x1004122c
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10041222
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041a6e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc eax
add ecx, 0x1c
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], ecx
cmp eax, dword [ebp - 0x28]
jb 0x10041070
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x10041545
mov eax, dword [esi]
mov ecx, esi
push 0xdd92
mov eax, dword [eax + 0x278]
call eax
mov dword [ebp - 0x24], eax
mov al, byte [ebp - 0xd]
mov byte [ebp - 0x20], al
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x404090
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], 0x404090
mov ecx, dword [eax + 0x34]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 0x404090
cmp eax, 8
jb 0x100412db
lea eax, [ebp - 0x20]
mov byte [ebp - 0x20], 8
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x2c]
jmp 0x100412f3
mov byte [ebp - 0x20], al
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x2c]
mov edi, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], edi
cmp edi, dword [ebp - 0x50]
je 0x1004135f
cmp eax, 8
je 0x1004135c
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x10041312
mov eax, dword [edi]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x426040
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
call dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x44], 0x404090
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
add edi, 0x1c
inc eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], eax
cmp edi, dword [ebp - 0x50]
jne 0x10041303
mov esi, dword [ebp - 0x40]
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x24]
mov eax, dword [eax + 0x27c]
call eax
cmp word [0x100e80b0], 1
jne 0x10041545
mov eax, dword [esi]
mov ecx, esi
push 0xdd85
mov eax, dword [eax + 0x278]
call eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x44], 0x404090
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x44]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + 0x18]
add eax, 0x14
cmp dword [eax + 0x14], 0x10
jb 0x100413cc
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x426040
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
call dword [ebp - 0x2c]
mov edi, dword [ebp - 0x14]
cmp edi, dword [ebp - 0x50]
je 0x10041535
nop dword [eax + eax]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x34]
mov eax, dword [esi + 0x18]
add eax, 8
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10053d70
mov eax, dword [eax]
cmp eax, dword [0x100e83e4]
je 0x10041526
mov eax, dword [esi + 0x18]
add eax, 8
push eax
call fcn.100547e0
push edi
mov esi, dword [eax + 4]
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.100547e0
mov ecx, eax
call fcn.10053be0
cmp dword [eax], esi
je 0x10041526
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x10041453
mov eax, dword [edi]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x426040
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
call dword [ebp - 0x2c]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.100547e0
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x84]
push esi
push ecx
mov ecx, eax
call fcn.10057640
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x2c], 0x404090
mov eax, dword [eax + 0x28]
mov byte [ebp - 0x20], al
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x2c]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
call fcn.100547e0
push esi
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call fcn.10057640
mov edi, dword [ebp - 0x38]
mov edi, dword [edi + 0x24]
mov esi, dword [edi]
cmp esi, edi
je 0x10041523
lea eax, [ebp - 0x18]
mov dword [ebp - 0x44], 0x404090
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x68], 0x404090
mov eax, dword [esi + 8]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x44]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x74]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x68]
mov esi, dword [esi]
cmp esi, edi
jne 0x100414f3
mov edi, dword [ebp - 0x14]
add edi, 0x1c
mov dword [ebp - 0x14], edi
cmp edi, dword [ebp - 0x50]
jne 0x100413f0
mov ecx, dword [ebp - 0x40]
push dword [ebp - 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x27c]
call eax
mov eax, dword [ebp + 8]
mov edx, dword [0x100e83ec]
mov eax, dword [eax + 0x34]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x3c], edi
movzx eax, byte [edi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi + 9]
xor ecx, eax
movzx eax, byte [edi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [0x100e83f8]
mov esi, dword [edx + eax*8]
add eax, eax
lea ecx, [eax*4]
lea eax, [eax*4 + 4]
mov dword [ebp - 0x28], ecx
mov ecx, dword [0x100e83e4]
mov dword [ebp - 0x34], eax
nop
mov edi, dword [ebp - 0x28]
cmp dword [edx + edi], ecx
mov edi, dword [ebp - 0x3c]
jne 0x100415bf
mov eax, ecx
jmp 0x100415c4
mov eax, dword [edx + eax]
mov eax, dword [eax]
mov edx, ecx
cmp esi, eax
je 0x1004162a
mov eax, dword [edi + 8]
cmp dword [esi + 8], eax
je 0x100415df
mov esi, dword [esi]
mov edx, dword [0x100e83ec]
mov eax, dword [ebp - 0x34]
jmp 0x100415b0
mov edx, dword [0x100e83e4]
mov ecx, esi
mov edi, esi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edi
mov edi, dword [0x100e83ec]
mov eax, dword [ebp - 0x28]
cmp dword [edi + eax], edx
jne 0x10041604
mov eax, edx
jmp 0x10041609
mov eax, dword [edi + ecx]
mov eax, dword [eax]
cmp esi, eax
je 0x10041622
mov edi, dword [ebp - 0x3c]
mov eax, dword [edi + 8]
mov edi, dword [0x100e83ec]
cmp eax, dword [esi + 8]
jne 0x10041622
mov esi, dword [esi]
jmp 0x100415f8
mov edi, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jne 0x1004162e
mov edi, edx
mov esi, edx
mov eax, dword [0x100e83e4]
mov dword [ebp - 0x18], edi
cmp edi, dword [eax]
jne 0x1004165e
cmp esi, eax
jne 0x1004165e
mov ecx, 0x100e83e4
mov byte [ebp - 4], 0x12
call fcn.10020470
push 8
mov ecx, 0x100e83e0
call fcn.100091a0
mov byte [ebp - 4], 0xf
jmp 0x10041677
cmp edi, esi
je 0x10041677
push edi
mov edi, dword [edi]
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x100e83e0
call fcn.10055470
cmp edi, esi
jne 0x10041662
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov edi, dword [eax + 0x18]
movzx eax, byte [edi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi + 9]
xor ecx, eax
movzx eax, byte [edi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [0x100e84cc]
imul edx, ecx, 0x1000193
and edx, dword [0x100e84d8]
mov dword [ebp - 0x28], edx
mov esi, dword [eax + edx*8]
lea eax, [edx + edx]
mov edx, dword [0x100e84cc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x100e84c4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
cmp eax, ecx
jne 0x100416ee
mov eax, ecx
jmp 0x100416fe
mov edx, dword [ebp - 0x18]
mov eax, dword [0x100e84cc]
mov eax, dword [edx + eax]
mov edx, dword [ebp - 0x28]
mov eax, dword [eax]
cmp esi, eax
je 0x1004175c
mov eax, dword [edi + 8]
mov dword [ebp - 0x44], eax
cmp dword [esi + 8], eax
je 0x10041714
mov esi, dword [esi]
mov eax, dword [ebp - 0x2c]
jmp 0x100416e6
push edx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x2c], esi
mov edi, esi
mov ecx, 0x100e84c0
push eax
mov dword [ebp - 0x74], edi
call fcn.10055270
cmp esi, dword [eax]
je 0x10041756
mov edi, dword [ebp - 0x44]
cmp edi, dword [esi + 8]
jne 0x1004174e
push dword [ebp - 0x28]
mov esi, dword [esi]
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x100e84c0
call fcn.10055270
cmp esi, dword [eax]
jne 0x10041732
mov edi, dword [ebp - 0x74]
cmp dword [ebp - 0x2c], esi
jne 0x10041760
mov ecx, dword [0x100e84c4]
mov edi, ecx
mov esi, ecx
push esi
push edi
lea eax, [ebp - 0x18]
push eax
call fcn.10054f10
lea ecx, [ebp - 0x54]
call fcn.10053b60
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], 0xffffffff
call fcn.100213b0
mov ax, word [0x100e80b0]
mov ecx, 0xb4
cmp ax, cx
je 0x100417a3
mov ecx, 0x4f0
cmp ax, cx
jne 0x10041a5c
mov edi, dword [ebp + 8]
push ecx
push str.STRUCTURE
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + 0x18]
add ecx, 0x14
call fcn.100079d0
cmp eax, 0xffffffff
je 0x10041a5c
lea ecx, [ebp - 0x78]
call fcn.10053a80
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x13
call fcn.10031460
mov byte [ebp - 4], 0x14
cmp dword [edi + 0x1ca8], 0
mov esi, dword [edi + 0x1ca4]
mov dword [ebp - 0x34], 0
mov esi, dword [esi]
mov dword [ebp - 0x28], esi
jbe 0x10041840
nop dword [eax]
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov edi, dword [esi + 0x14]
push eax
call fcn.10053a10
mov dword [eax], edi
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x34], edi
mov eax, dword [eax + 0x1ca8]
mov dword [ebp - 0x2c], eax
cmp edi, eax
jae 0x10041840
lea ecx, [ebp - 0x28]
call fcn.10023750
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
cmp edi, eax
jb 0x10041800
mov edi, dword [ebp - 0x78]
mov esi, dword [edi]
mov dword [ebp - 0x28], esi
cmp esi, edi
je 0x100418d4
mov eax, 0x485d90
push dword [esi + 0x10]
call eax
add esp, 4
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100418c0
mov eax, dword [eax + 0x1cbc]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x100418c0
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x48]
add eax, 0x20
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10053940
mov eax, dword [eax]
cmp eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x34]
jne 0x100418ac
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x48]
add eax, 0x20
push eax
call fcn.100312f0
mov dword [eax], 0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x1cbc]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x48]
add eax, 0x20
push eax
call fcn.100312f0
mov ecx, dword [esi + 0x14]
add dword [eax], ecx
lea ecx, [ebp - 0x28]
call fcn.10021720
mov esi, dword [ebp - 0x28]
mov eax, 0x485d90
cmp esi, edi
jne 0x10041855
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 4], 0x15
mov esi, dword [ebp - 0x48]
mov eax, dword [esi]
mov dword [ebp - 0x34], eax
cmp eax, esi
je 0x10041937
lea edx, [eax + 0x10]
lea eax, [edx + 0x18]
push eax
lea ecx, [ebp - 0x130]
call fcn.10055790
add esp, 4
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x16
call fcn.10053b00
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x15
call fcn.10007a20
lea ecx, [ebp - 0x34]
call fcn.10021720
mov eax, dword [ebp - 0x34]
cmp eax, esi
jne 0x100418f1
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
push edx
push ecx
call fcn.100557b0
add esp, 8
lea ecx, [ebp - 0x54]
call fcn.10053ae0
test eax, eax
je 0x10041a44
call fcn.1001de40
push 0x100e80d4
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], 0
call fcn.100266f0
push str.___CALL_dbo._HandleFortressStructureDestroyed_______
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x17
call fcn.10010960
push ecx
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x18
push eax
push 0x100e80d4
lea ecx, [ebp - 0x30]
call fcn.100268a0
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x17
call fcn.10007a20
push 3
lea eax, [ebp - 0x18]
push eax
push 0
lea ecx, [ebp - 0x30]
call fcn.1002ac50
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x30]
push 0
mov eax, dword [esi + 0x34]
mov eax, dword [eax + 0x18]
add eax, 8
push eax
push 1
call fcn.1002ac50
mov eax, dword [esi + 0x34]
push ecx
mov ecx, dword [eax + 0x18]
add ecx, 0x14
call fcn.10007a10
push eax
push 2
lea ecx, [ebp - 0x30]
call fcn.1002ac30
sub esp, 8
lea ecx, [ebp - 0x54]
call fcn.10053ab0
mov ecx, eax
call fcn.10007a10
push eax
push 3
lea ecx, [ebp - 0x30]
call fcn.1002ac30
push ecx
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x6c]
call fcn.100264a0
add esp, 4
mov byte [ebp - 4], 0x19
nop dword [eax]
lea ecx, [ebp - 0x6c]
call fcn.10026ab0
test al, al
jne 0x10041a20
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1a
call fcn.10027d70
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1b
call fcn.10027d70
lea ecx, [ebp - 0x54]
call fcn.10053b60
lea ecx, [ebp - 0x48]
call fcn.100213e0
lea ecx, [ebp - 0x78]
call fcn.10041a80
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 4
call fcn.10078e0c
int3