Function at 0x100879af
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0x900
mov eax, 0x100daf26
call fcn.100c75fc
mov ebx, dword [ebp + 8]
xor eax, eax
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x4fc], ebx
lea ecx, [ebx - 0x14]
mov dword [ebp - 0x560], edi
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 4], eax
call fcn.10085df6
test al, al
jne 0x100879f4
mov eax, 0x80004001
jmp 0x1008d799
mov eax, dword [ebx + 0xd4]
mov ecx, dword [ebx + 0xac]
dec eax
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x550], eax
test ecx, ecx
je 0x10087a33
mov cl, byte [ebx + 0xd8]
mov byte [ebp - 0x549], cl
test cl, cl
jne 0x10087a2e
mov eax, dword [ebx + 0x84]
xor ebx, ebx
inc ebx
xor ecx, ecx
jmp 0x10087a5f
xor ebx, ebx
inc ebx
jmp 0x10087a4e
cmp byte [ebx + 0xcf], 0
je 0x10087a52
cmp byte [ebx + 0xd0], 0
je 0x10087a52
xor ebx, ebx
inc ebx
mov byte [ebp - 0x549], bl
xor ecx, ecx
jmp 0x10087a65
xor ecx, ecx
xor ebx, ebx
mov byte [ebp - 0x549], cl
mov eax, ecx
inc ebx
mov dword [ebp - 0x550], eax
cmp eax, 0x400
jge 0x100879ea
mov dword [ebp - 0x4e8], ecx
mov eax, dword [esi]
lea ecx, [ebp - 0x4e8]
push ecx
push 0x100df3a4
push esi
mov byte [ebp - 4], bl
call dword [eax]
mov esi, eax
test esi, esi
je 0x10087aab
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x4e8]
test ecx, ecx
je 0x10087aa4
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, esi
jmp 0x1008d799
mov eax, dword [ebp - 0x4e8]
test eax, eax
jne 0x10087aba
jmp 0x100879ea
test edi, edi
jne 0x10087ad2
mov byte [ebp - 4], 4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
jmp 0x1008d799
lea ecx, [ebp - 0x76c]
call fcn.10086a04
xor eax, eax
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], eax
lea ecx, [ebp - 0x6b0]
mov byte [ebp - 4], 6
call fcn.10086b17
lea ecx, [ebp - 0x780]
call fcn.1001bf8f
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x780]
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x68c], eax
xor eax, eax
mov byte [ebp - 0x654], bl
mov ebx, eax
mov dword [ebp - 0x6a0], ecx
mov dword [ebp - 0x698], ecx
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x688], 0x10
mov dword [ebp - 0x5f0], ebx
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], eax
mov esi, eax
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a8], esi
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 4], 9
mov edi, eax
mov edx, dword [ebp - 0x4fc]
cmp edi, dword [edx + 0x68]
jae 0x10087bab
push eax
lea ecx, [ebp - 0x5a8]
call fcn.1001956c
xor eax, eax
lea ecx, [ebp - 0x5f0]
push eax
call fcn.100200df
mov esi, dword [ebp - 0x5a8]
inc edi
xor eax, eax
jmp 0x10087b7b
mov ebx, dword [ebp - 0x5f0]
mov edi, eax
mov dword [ebp - 0x570], edi
cmp edi, dword [ebp + 0x10]
jae 0x10087fa6
mov ecx, dword [ebp - 0x560]
lea edx, [ebp - 0x7cc]
push edx
lea edx, [ebp - 0x7c8]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x7c4]
push edx
push edi
push ecx
call dword [eax + 0x14]
mov dword [ebp - 0x538], eax
test eax, eax
je 0x10087c3c
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov ecx, dword [ebp - 0x4e8]
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x10087c31
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, dword [ebp - 0x538]
jmp 0x1008d799
cmp dword [ebp - 0x7c8], 0
jne 0x10087c91
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x7cc]
cmp ecx, dword [edx + 0x7c]
jae 0x10087f5d
mov eax, dword [edx + 0x78]
imul eax, dword [eax + ecx*4], 0x18
add eax, dword [edx + 0x40]
cmp dword [ebp - 0x7c4], 0
mov eax, dword [eax + 0x10]
jne 0x10087c80
test eax, eax
js 0x10087f5d
inc dword [esi + eax*4]
jmp 0x10087f5d
test eax, eax
js 0x10087f5d
mov byte [eax + ebx], 1
jmp 0x10087f5d
cmp byte [ebp - 0x549], 0
jne 0x10087cc3
mov eax, dword [ebp - 0x550]
test eax, eax
js 0x10087f57
mov edx, dword [ebp - 0x4fc]
cmp eax, dword [ebp - 0x5ec]
jge 0x10087f5d
mov byte [ebx + eax], 1
jmp 0x10087f5d
xor eax, eax
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x620], eax
mov ecx, dword [ebp - 0x560]
lea edx, [ebp - 0x628]
push edx
push 3
push edi
mov eax, dword [ecx]
push ecx
mov byte [ebp - 4], 0xb
call dword [eax + 0x18]
mov edi, eax
test edi, edi
je 0x10087d46
lea ecx, [ebp - 0x628]
call fcn.1001b82d
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x4e8]
test ecx, ecx
je 0x10087d3f
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, edi
jmp 0x1008d799
push 8
pop eax
cmp word [ebp - 0x628], ax
je 0x10087daa
lea ecx, [ebp - 0x628]
call fcn.1001b82d
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x4e8]
test eax, eax
je 0x10087da0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80070057
jmp 0x1008d799
mov edi, dword [ebp - 0x620]
test edi, edi
jne 0x10087df4
lea ecx, [ebp - 0x628]
call fcn.1001b82d
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xe
jmp 0x10087d90
lea edx, [ebp - 0x6c0]
mov ecx, edi
call fcn.1001a239
mov ecx, eax
cmp dword [ebp - 0x6c0], edi
jne 0x10087e4e
lea ecx, [ebp - 0x628]
call fcn.1001b82d
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xf
jmp 0x10087d90
mov eax, ecx
or eax, edx
je 0x10087f63
xor eax, eax
cmp edx, eax
ja 0x10087f63
jb 0x10087e70
cmp ecx, 0x400
ja 0x10087f63
mov eax, dword [ebp - 0x6c0]
movzx eax, word [eax]
test ax, ax
je 0x10087ed9
push 0x3a
pop edi
cmp ax, di
je 0x10087ed9
push 0x2f
pop edi
cmp ax, di
je 0x10087ed9
push 0x5c
pop edi
cmp ax, di
je 0x10087ed9
lea ecx, [ebp - 0x628]
call fcn.1001b82d
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x11
jmp 0x10087d90
mov edi, dword [ebp - 0x4fc]
lea eax, [ecx - 1]
cmp eax, dword [edi + 0x68]
jae 0x10087eeb
mov byte [ebx + eax], 1
mov eax, dword [edi + 0xd4]
test eax, eax
jle 0x10087f42
cmp ecx, eax
jne 0x10087eff
xor eax, eax
cmp edx, eax
je 0x10087f42
lea ecx, [ebp - 0x628]
call fcn.1001b82d
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x12
jmp 0x10087d90
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 9
call fcn.1001b82d
mov edi, dword [ebp - 0x570]
mov edx, dword [ebp - 0x4fc]
inc edi
jmp 0x10087bb3
lea ecx, [ebp - 0x628]
call fcn.1001b82d
push esi
call fcn.100c751e
push ebx
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x10
jmp 0x10087d90
xor eax, eax
mov edi, eax
cmp dword [edx + 0x68], eax
jbe 0x10087fd3
cmp byte [ebx + edi], 0
jne 0x10087fcd
push edi
lea ecx, [edx + 8]
call fcn.100875b7
cmp eax, dword [esi + edi*4]
mov edx, dword [ebp - 0x4fc]
setne al
mov byte [ebx + edi], al
inc edi
cmp edi, dword [edx + 0x68]
jb 0x10087faf
push esi
call fcn.100c751e
mov esi, dword [ebp - 0x550]
mov edi, dword [ebp - 0x4fc]
pop ecx
xor ecx, ecx
test esi, esi
js 0x10088000
mov eax, ecx
cmp dword [edi + 0x68], eax
jbe 0x10088000
cmp eax, esi
je 0x10087ffa
mov byte [ebx + eax], cl
inc eax
cmp eax, dword [edi + 0x68]
jb 0x10087ff3
mov dword [ebp - 0x4f0], ecx
mov ecx, dword [ebp - 0x560]
lea edx, [ebp - 0x4f0]
push 0x13
pop eax
push edx
mov byte [ebp - 4], al
mov eax, dword [ecx]
push 0x100df2e4
push ecx
call dword [eax]
xor eax, eax
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x560]
lea edx, [ebp - 0x4ec]
push edx
push 0x100df2f4
push ecx
mov eax, dword [ecx]
mov byte [ebp - 4], 0x14
call dword [eax]
xor eax, eax
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], eax
cmp byte [ebp - 0x549], 0
push 0x15
pop eax
mov byte [ebp - 4], al
jne 0x100887a5
cmp dword [ebp - 0x4ec], 0
jne 0x10088083
cmp dword [ebp - 0x53c], 0
je 0x100887a5
cmp esi, dword [ebp - 0x5ec]
jge 0x10088099
test esi, esi
js 0x10088099
cmp byte [ebx + esi], 0
je 0x100887a5
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x90c]
call fcn.10086a4d
mov ecx, dword [ebp - 0x4ec]
xor eax, eax
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x5dc], eax
mov dword [ebp - 0x618], eax
test ecx, ecx
je 0x10088177
mov eax, dword [ecx]
lea edx, [ebp - 0x618]
push edx
lea edx, [ebp - 0x5dc]
push edx
lea edx, [ebp - 0x614]
push edx
push 0x3e
push ecx
call dword [eax + 0x10]
mov esi, eax
test esi, esi
je 0x10088163
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x17
test eax, eax
je 0x1008811e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x18
test eax, eax
je 0x10088132
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x19
jmp 0x10087a94
mov ecx, dword [ebp - 0x5dc]
test ecx, ecx
jne 0x10088228
mov ecx, dword [ebp - 0x4ec]
mov eax, dword [ebp - 0x53c]
test eax, eax
je 0x100882f6
lea edx, [ebp - 0x618]
push edx
lea edx, [ebp - 0x5dc]
push edx
lea eax, [edi - 0xc]
mov ecx, dword [eax]
lea edx, [ebp - 0x614]
push edx
push 0x3e
push eax
call dword [ecx + 0x10]
mov esi, eax
test esi, esi
je 0x1008821a
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x100881d5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x100881e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x1c
jmp 0x10087a94
mov ecx, dword [ebp - 0x5dc]
test ecx, ecx
je 0x100882ea
cmp dword [ebp - 0x618], 1
je 0x100882ae
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x1008825b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x1008826f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x4e8]
test eax, eax
je 0x10087ac8
jmp 0x10087ac2
mov edx, dword [ebp - 0x550]
cmp edx, dword [ebp - 0x530]
jl 0x100882cf
lea ecx, [ebp - 0x534]
call fcn.100870b1
mov ecx, dword [ebp - 0x5dc]
jmp 0x100882ae
mov eax, dword [ebp - 0x534]
push ecx
push dword [ebp - 0x614]
mov ecx, dword [eax + edx*4]
call fcn.100a6ade
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x53c]
mov ecx, dword [ebp - 0x4ec]
mov edx, eax
lea eax, [edi - 0x14]
neg edx
sbb edx, edx
test eax, edx
je 0x10088315
cmp dword [ebp - 0x53c], 0
lea eax, [edi - 0xc]
push 8
pop esi
cmovne esi, eax
jmp 0x10088319
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x8fc]
mov edx, esi
push eax
push 0xa
call fcn.1008760e
mov edi, eax
test edi, edi
je 0x1008839e
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x20
test eax, eax
je 0x10088359
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x21
test eax, eax
je 0x1008836d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x22
jmp 0x10087d2f
mov ecx, dword [ebp - 0x4ec]
lea eax, [ebp - 0x8f4]
push eax
push 0xb
mov edx, esi
call fcn.1008760e
mov edi, eax
test edi, edi
je 0x10088429
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x23
test eax, eax
je 0x100883e4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x24
test eax, eax
je 0x100883f8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x25
jmp 0x10087d2f
mov ecx, dword [ebp - 0x4ec]
lea eax, [ebp - 0x8ec]
push eax
push 0xc
mov edx, esi
call fcn.1008760e
mov edi, eax
test edi, edi
je 0x100884b4
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x26
test eax, eax
je 0x1008846f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x27
test eax, eax
je 0x10088483
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x28
jmp 0x10087d2f
xor eax, eax
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x600], eax
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x29
test eax, eax
je 0x100885f9
mov ecx, dword [eax]
lea edx, [ebp - 0x608]
push edx
push 9
push eax
call dword [ecx + 0xc]
mov edi, eax
test edi, edi
je 0x10088563
lea ecx, [ebp - 0x608]
call fcn.1001b82d
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x2a
test eax, eax
je 0x1008851e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x2b
test eax, eax
je 0x10088532
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x2c
jmp 0x10087d2f
push 0x13
pop edi
cmp word [ebp - 0x608], di
je 0x100886a5
cmp word [ebp - 0x608], 0
je 0x100885fc
lea ecx, [ebp - 0x608]
call fcn.1001b82d
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x2d
test eax, eax
je 0x100885b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x2e
test eax, eax
je 0x100885c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
push 0x2f
pop eax
mov byte [ebp - 4], al
jmp 0x10087d90
push 0x13
pop edi
test esi, esi
je 0x10088734
mov eax, dword [ebp - 0x4fc]
lea edx, [ebp - 0x608]
add eax, 0xfffffff4
push edx
push 9
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov esi, eax
test esi, esi
je 0x1008869c
lea ecx, [ebp - 0x608]
call fcn.1001b82d
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x30
test eax, eax
je 0x10088657
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x31
test eax, eax
je 0x1008866b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x32
jmp 0x10087a94
cmp word [ebp - 0x608], di
jne 0x100886b0
mov eax, dword [ebp - 0x600]
jmp 0x1008873a
cmp word [ebp - 0x608], 0
je 0x10088734
lea ecx, [ebp - 0x608]
call fcn.1001b82d
lea ecx, [ebp - 0x90c]
call fcn.10086c6c
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x33
test eax, eax
je 0x100886ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x34
test eax, eax
je 0x10088703
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x35
jmp 0x10087d90
mov eax, dword [ebp - 0x8e4]
or eax, 0x10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x608]
mov dword [ebp - 0x8e4], eax
call fcn.1001b82d
mov esi, dword [ebp - 0x550]
lea eax, [ebp - 0x6b0]
push esi
push eax
lea edx, [ebp - 0x6f0]
lea ecx, [ebp - 0x514]
call fcn.10087342
mov eax, dword [ebp - 0x514]
lea edx, [ebp - 0x90c]
push edx
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [eax + ecx*4]
call fcn.10086e0a
lea ecx, [ebp - 0x90c]
mov byte [ebp - 4], 0x15
call fcn.10086c6c
lea ecx, [ebp - 0x548]
call fcn.100181e7
xor eax, eax
mov byte [ebp - 4], 0x36
mov ecx, eax
mov dword [ebp - 0x518], eax
or edx, 0xffffffff
cmp ecx, dword [ebp + 0x10]
jae 0x1008a430
mov eax, edx
mov dword [ebp - 0x5a0], edx
mov edx, dword [ebp - 0x560]
lea esi, [ebp - 0x5e0]
push esi
lea esi, [ebp - 0x6bc]
mov dword [ebp - 0x4f4], eax
push esi
lea esi, [ebp - 0x60c]
mov dword [ebp - 0x5a8], eax
push esi
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x5a4], eax
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x14]
mov esi, eax
test esi, esi
je 0x10088882
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x37
test eax, eax
je 0x1008883d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x38
test eax, eax
je 0x10088851
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x39
jmp 0x10087a94
mov edi, dword [ebp - 0x60c]
mov esi, dword [ebp - 0x6bc]
test edi, edi
je 0x100888a1
test esi, esi
je 0x100888a1
mov ecx, dword [ebp - 0x5e0]
jmp 0x10088a17
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x5e0]
mov dword [ebp - 0x528], ecx
cmp ecx, dword [edx + 0x7c]
jae 0x10089613
mov eax, dword [edx + 0x78]
imul ecx, dword [eax + ecx*4], 0x18
add ecx, dword [edx + 0x40]
mov eax, dword [ecx + 0x10]
test eax, eax
js 0x10088959
cmp byte [eax + ebx], 0
jne 0x10088a03
test edi, edi
jne 0x100888e7
test esi, esi
je 0x10089613
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
push 0x3a
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x4ec]
test eax, eax
je 0x10088914
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x3b
test eax, eax
je 0x10088928
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x3c
jmp 0x1008829b
test esi, esi
je 0x10089613
mov ecx, dword [ecx + 8]
test ecx, ecx
js 0x10088a03
shl ecx, 6
add ecx, dword [edx + 0x1c]
call fcn.10085dcb
test al, al
je 0x10088a03
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x3d
test eax, eax
je 0x100889aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x3e
test eax, eax
je 0x100889be
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov eax, dword [ebp - 0x4e8]
mov byte [ebp - 4], 0x3f
test eax, eax
je 0x100879ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100879ea
mov ecx, dword [ebp - 0x528]
or eax, 0xffffffff
test edi, edi
cmove eax, ecx
mov dword [ebp - 0x5a0], eax
push 0xffffffffffffffff
test esi, esi
pop eax
cmovne ecx, eax
xor edx, edx
xor eax, eax
mov dword [ebp - 0x528], ecx
mov byte [ebp - 0x505], dl
mov dword [ebp - 0x790], eax
mov dword [ebp - 0x788], edx
mov edi, dword [ebp - 0x4fc]
lea edx, [ebp - 0x790]
push edx
push 6
push ecx
push dword [ebp - 0x518]
lea ecx, [edi - 0x14]
mov byte [ebp - 4], 0x40
push dword [ebp - 0x560]
call fcn.100875e4
mov esi, eax
test esi, esi
je 0x10088ae6
lea ecx, [ebp - 0x790]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
push 0x41
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x4ec]
test eax, eax
je 0x10088aa1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x42
test eax, eax
je 0x10088ab5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x43
jmp 0x10087a94
push 0xb
pop eax
cmp word [ebp - 0x790], ax
jne 0x10088bd2
cmp word [ebp - 0x788], 0
setne byte [ebp - 0x505]
lea ecx, [ebp - 0x790]
call fcn.1001b82d
xor ecx, ecx
xor eax, eax
mov byte [ebp - 0x521], cl
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x798], ecx
lea eax, [ebp - 0x7a0]
mov byte [ebp - 4], 0x47
push eax
push 0x3f
push dword [ebp - 0x528]
lea ecx, [edi - 0x14]
push dword [ebp - 0x518]
push dword [ebp - 0x560]
call fcn.100875e4
mov esi, eax
test esi, esi
je 0x10088c5b
lea ecx, [ebp - 0x7a0]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x48
test eax, eax
je 0x10088b8d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x49
test eax, eax
je 0x10088ba1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x4a
jmp 0x10087a94
cmp word [ebp - 0x790], 0
je 0x10088b05
lea ecx, [ebp - 0x790]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x44
test eax, eax
je 0x10088c16
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x45
test eax, eax
je 0x10088c2a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x46
jmp 0x10087d90
push 0xb
pop eax
cmp word [ebp - 0x7a0], ax
jne 0x10088d10
cmp word [ebp - 0x798], 0
setne byte [ebp - 0x521]
lea ecx, [ebp - 0x7a0]
call fcn.1001b82d
mov al, byte [ebp - 0x505]
test al, al
je 0x10088d99
cmp byte [ebp - 0x521], 0
je 0x10088d99
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x4e
test eax, eax
je 0x10088ccb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x4f
test eax, eax
je 0x10088cdf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x50
jmp 0x10087d90
cmp word [ebp - 0x7a0], 0
je 0x10088c7a
lea ecx, [ebp - 0x7a0]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x4b
test eax, eax
je 0x10088d54
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x4c
test eax, eax
je 0x10088d68
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x4d
jmp 0x10087d90
xorps xmm0, xmm0
movlpd qword [ebp - 0x6b8], xmm0
movlpd qword [ebp - 0x5f8], xmm0
test al, al
jne 0x10089077
mov eax, dword [ebp - 0x60c]
test eax, eax
jne 0x10088e37
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 0x7d4], eax
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x51
push ecx
push 0x5b
push dword [ebp - 0x5e0]
lea esi, [edi - 0x14]
mov eax, dword [esi]
push esi
call dword [eax + 0x18]
push 0x15
pop eax
cmp word [ebp - 0x7dc], ax
jne 0x10088e0c
mov eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x590], eax
jmp 0x10088e24
mov eax, dword [ebp - 0x5f4]
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0x5f8]
mov dword [ebp - 0x564], eax
lea ecx, [ebp - 0x7dc]
call fcn.1001b82d
mov eax, dword [ebp - 0x60c]
jmp 0x10088e52
mov ecx, dword [ebp - 0x5f4]
lea esi, [edi - 0x14]
mov dword [ebp - 0x590], ecx
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x564], ecx
xor ecx, ecx
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x630], ecx
mov byte [ebp - 4], 0x52
test eax, eax
je 0x10088f0c
mov ecx, dword [ebp - 0x560]
lea edx, [ebp - 0x638]
push edx
push 7
push dword [ebp - 0x518]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov esi, eax
test esi, esi
je 0x10088fa2
lea ecx, [ebp - 0x638]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x53
test eax, eax
je 0x10088ec7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x54
test eax, eax
je 0x10088edb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x55
jmp 0x10087a94
mov eax, dword [esi]
lea ecx, [ebp - 0x638]
push ecx
push 7
push dword [ebp - 0x5e0]
push esi
call dword [eax + 0x18]
mov esi, eax
test esi, esi
je 0x10088fa2
lea ecx, [ebp - 0x638]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x56
test eax, eax
je 0x10088f5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x57
test eax, eax
je 0x10088f71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x58
jmp 0x10087a94
push 0x15
pop eax
cmp word [ebp - 0x638], ax
jne 0x10088fcb
mov esi, dword [ebp - 0x630]
mov dword [ebp - 0x578], esi
mov esi, dword [ebp - 0x62c]
mov dword [ebp - 0x568], esi
jmp 0x1008906a
cmp word [ebp - 0x638], 0
je 0x10089052
lea ecx, [ebp - 0x638]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x59
test eax, eax
je 0x1008900b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x5a
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x4f0]
test eax, eax
je 0x10089021
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x5b
jmp 0x10087d90
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x578], eax
lea ecx, [ebp - 0x638]
call fcn.1001b82d
jmp 0x100890a7
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x5f4]
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0x5f8]
mov dword [ebp - 0x564], eax
xor eax, eax
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x5d0], eax
push 0x5c
pop eax
mov byte [ebp - 4], al
lea ecx, [edi - 0x14]
lea eax, [ebp - 0x5d8]
push eax
push 3
push dword [ebp - 0x528]
push dword [ebp - 0x518]
push dword [ebp - 0x560]
call fcn.100875e4
mov esi, eax
test esi, esi
je 0x1008915f
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x5d
test eax, eax
je 0x1008911a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x5e
test eax, eax
je 0x1008912e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x5f
jmp 0x10087a94
push 8
pop eax
cmp word [ebp - 0x5d8], ax
jne 0x1008a32e
mov esi, dword [ebp - 0x5d0]
mov dword [ebp - 0x504], esi
test esi, esi
je 0x1008a3b5
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x544], eax
mov byte [ebp - 0x522], al
mov eax, dword [ebp - 0x548]
mov word [eax], cx
cmp byte [ebp - 0x549], cl
jne 0x100892a3
mov eax, dword [ebp - 0x550]
lea edx, [ebp - 0x6f0]
push eax
mov dword [ebp - 0x570], eax
lea ecx, [ebp - 0x514]
lea eax, [ebp - 0x6b0]
push eax
call fcn.10087342
mov eax, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x550]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0x4f8], edx
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x504], esi
test ax, ax
jne 0x1008a1ec
cmp byte [ebp - 0x521], al
je 0x10089956
mov ecx, dword [ebp - 0x548]
push 0x3a
pop eax
mov edx, eax
call fcn.100188fb
mov esi, eax
mov dword [ebp - 0x504], esi
test esi, esi
jns 0x100897ba
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x7c
test eax, eax
je 0x1008925e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x7d
test eax, eax
je 0x10089272
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x7e
jmp 0x10087d90
lea edx, [ebp - 0x610]
mov ecx, esi
call fcn.1001a239
mov ecx, eax
cmp dword [ebp - 0x610], esi
jne 0x10089335
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x66
test eax, eax
je 0x100892f0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x67
test eax, eax
je 0x10089304
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x68
jmp 0x10087d90
mov eax, ecx
or eax, edx
je 0x1008a2b3
xor eax, eax
cmp edx, eax
ja 0x1008a2b3
jb 0x10089357
cmp ecx, 0x400
ja 0x1008a2b3
lea esi, [ecx - 1]
mov dword [ebp - 0x570], esi
cmp esi, dword [ebp - 0x5ec]
jge 0x100893ec
cmp byte [ebx + esi], al
jne 0x100893ec
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x6c
test eax, eax
je 0x100893a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x6d
test eax, eax
je 0x100893bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x6e
jmp 0x1008829b
push esi
lea eax, [ebp - 0x6b0]
push eax
lea edx, [ebp - 0x6f0]
lea ecx, [ebp - 0x514]
call fcn.10087342
mov eax, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x610]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 4]
mov edx, dword [eax]
movzx eax, word [ecx]
mov dword [ebp - 0x4f8], edx
test ax, ax
jne 0x100894d2
cmp byte [ebp - 0x505], al
je 0x10089457
cmp byte [ebp - 0x521], al
jne 0x10089457
mov eax, dword [edx]
mov esi, eax
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x5a8], eax
mov byte [ebp - 0x522], 1
jmp 0x1008958e
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x6f
test eax, eax
je 0x1008948d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x70
test eax, eax
je 0x100894a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x71
jmp 0x10087d90
push 0x3a
pop esi
cmp ax, si
jne 0x100896a0
cmp byte [ebp - 0x505], 0
jne 0x10089625
cmp byte [ebp - 0x521], 0
je 0x10089625
mov eax, dword [edx]
lea ecx, [ebp - 0x874]
mov dword [ebp - 0x4f4], eax
mov esi, eax
mov dword [ebp - 0x5a8], eax
call fcn.100869e2
mov eax, dword [ebp - 0x578]
lea ecx, [ebp - 0x864]
mov dword [ebp - 0x86c], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x868], eax
mov eax, dword [ebp - 0x610]
add eax, 2
mov byte [ebp - 4], 0x75
push eax
call fcn.100183d2
mov eax, dword [ebp - 0x6e0]
mov ecx, esi
mov dword [ebp - 0x874], eax
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [eax + ecx*4]
lea eax, [ebp - 0x874]
push eax
add ecx, 0x64
call fcn.10086f80
push 0x5c
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x5a4], eax
pop eax
push dword [ebp - 0x864]
mov byte [ebp - 4], al
call fcn.100c751e
mov edx, dword [ebp - 0x4f8]
pop ecx
test esi, esi
js 0x1008a2a8
mov esi, dword [ebp - 0x4f4]
mov al, byte [ebp - 0x522]
test al, al
jne 0x1008996a
mov esi, dword [ebp - 0x4f4]
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0x36
call fcn.1001b82d
mov ecx, dword [ebp - 0x564]
mov eax, ecx
mov edx, dword [ebp - 0x590]
or eax, edx
je 0x100895ed
test esi, esi
js 0x100895ed
cmp dword [ebp - 0x574], 0
jge 0x100895ed
mov eax, dword [ebp - 0x6f0]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x518]
lea esi, [ebp - 0x5ac]
sub esp, 0x10
mov dword [ebp - 0x5ac], eax
mov edi, esp
lea ecx, [ebp - 0x6e4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10087004
mov ecx, dword [ebp - 0x518]
inc ecx
mov dword [ebp - 0x518], ecx
jmp 0x100887be
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x72
test eax, eax
je 0x1008965b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x73
test eax, eax
je 0x1008966f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x74
jmp 0x10087d90
push 0x5c
pop esi
cmp ax, si
je 0x10089731
push 0x2f
pop esi
cmp ax, si
je 0x10089731
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x79
test eax, eax
je 0x100896ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x7a
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x4f0]
test eax, eax
je 0x10089700
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x7b
jmp 0x10087d90
lea esi, [ecx + 2]
xor eax, eax
cmp word [esi], ax
jne 0x100891e7
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x76
test eax, eax
je 0x10089775
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x77
test eax, eax
je 0x10089789
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x78
jmp 0x10087d90
cmp esi, 1
jne 0x100897fa
mov eax, dword [ebp - 0x548]
push 0x3a
pop ecx
cmp word [eax + 4], cx
jne 0x100897fa
movzx eax, word [eax]
push 0x61
pop ecx
cmp ax, cx
jb 0x100897e1
push 0x7a
pop ecx
cmp ax, cx
jbe 0x100897f1
push 0x41
pop ecx
cmp ax, cx
jb 0x100897fa
push 0x5a
pop ecx
cmp ax, cx
ja 0x100897fa
push 2
pop esi
mov dword [ebp - 0x504], esi
lea eax, [ebp - 0x548]
push eax
push esi
lea ecx, [ebp - 0x7e8]
call fcn.100180aa
or dword [ebp - 0x5c4], 1
cmp dword [ebp - 0x7e4], 0
mov ecx, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0x7f
jne 0x1008982b
mov eax, dword [ecx]
jmp 0x1008985d
lea eax, [ebp - 0x51c]
push eax
lea eax, [ebp - 0x7e8]
push eax
lea eax, [ebp - 0x6f0]
push eax
call fcn.10087506
test al, al
je 0x1008986b
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x51c]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x5a8], eax
jmp 0x100898bb
mov ecx, dword [ebp - 0x4f8]
mov esi, dword [ecx + 0x14]
sub esi, 1
js 0x100898af
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x7e8]
mov edi, dword [eax + esi*4]
mov eax, dword [ebp - 0x6f0]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + 0x40]
call fcn.1001a736
test eax, eax
je 0x10089a93
sub esi, 1
mov ecx, dword [ebp - 0x4f8]
jns 0x10089879
mov edi, dword [ebp - 0x4fc]
mov eax, dword [ebp - 0x4f4]
mov esi, dword [ebp - 0x504]
test eax, eax
js 0x10089944
lea ecx, [ebp - 0x894]
call fcn.100869e2
mov eax, dword [ebp - 0x578]
lea ecx, [ebp - 0x884]
mov dword [ebp - 0x88c], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0x548]
mov byte [ebp - 4], 0x80
lea eax, [eax + esi*2]
add eax, 2
push eax
call fcn.100183d2
mov eax, dword [ebp - 0x6e0]
mov ecx, dword [ebp - 0x4f4]
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [eax + ecx*4]
lea eax, [ebp - 0x894]
push eax
add ecx, 0x64
call fcn.10086f80
push dword [ebp - 0x884]
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x5a4], eax
call fcn.100c751e
pop ecx
push 0x5c
pop eax
push dword [ebp - 0x7e8]
mov byte [ebp - 4], al
call fcn.100c751e
pop ecx
mov esi, dword [ebp - 0x4f4]
test esi, esi
jns 0x1008959c
mov al, byte [ebp - 0x522]
test al, al
jne 0x1008998b
mov esi, dword [ebp - 0x6ec]
lea ecx, [ebp - 0x6f0]
mov dword [ebp - 0x4f4], esi
mov dword [ebp - 0x5a8], esi
call fcn.10087072
mov eax, dword [ebp - 0x6f0]
mov esi, dword [eax + esi*4]
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0x554], esi
mov dword [esi + 8], eax
lea ecx, [esi + 0x40]
mov eax, dword [ebp - 0x568]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x505]
mov byte [esi + 0x5c], al
lea eax, [ebp - 0x548]
push eax
call fcn.100182f2
mov eax, dword [ebp - 0x6e0]
mov dword [esi], eax
xor eax, eax
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 0x7b8], eax
lea eax, [ebp - 0x7c0]
mov byte [ebp - 4], 0x81
push eax
push 9
push dword [ebp - 0x528]
add edi, 0xffffffec
push dword [ebp - 0x518]
mov ecx, edi
push dword [ebp - 0x560]
call fcn.100875e4
mov esi, eax
test esi, esi
je 0x10089aac
lea ecx, [ebp - 0x7c0]
call fcn.1001b82d
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x82
test eax, eax
je 0x10089a4e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x83
test eax, eax
je 0x10089a62
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x84
jmp 0x10087a94
mov eax, edi
mov edi, dword [ebp - 0x4fc]
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x5a8], eax
jmp 0x100898b5
cmp word [ebp - 0x7c0], 0
jne 0x10089aba
xor eax, eax
jmp 0x10089ad0
push 0x13
pop eax
cmp word [ebp - 0x7c0], ax
jne 0x1008a166
mov eax, dword [ebp - 0x7b8]
cmp byte [ebp - 0x505], 0
mov esi, dword [ebp - 0x554]
mov dword [esi + 0x28], eax
je 0x10089ae6
or dword [esi + 0x28], 0x10
push 0x5c
pop eax
lea ecx, [ebp - 0x7c0]
mov byte [ebp - 4], al
call fcn.1001b82d
lea eax, [esi + 0x10]
mov ecx, edi
push eax
push 0xa
push dword [ebp - 0x528]
push dword [ebp - 0x518]
push dword [ebp - 0x560]
call fcn.1008769a
mov esi, eax
test esi, esi
je 0x10089b97
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x88
test eax, eax
je 0x10089b52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x89
test eax, eax
je 0x10089b66
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x8a
jmp 0x10087a94
mov eax, dword [ebp - 0x554]
mov ecx, edi
add eax, 0x18
push eax
push 0xb
pop eax
push eax
push dword [ebp - 0x528]
push dword [ebp - 0x518]
push dword [ebp - 0x560]
call fcn.1008769a
mov esi, eax
test esi, esi
je 0x10089c3f
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x8b
test eax, eax
je 0x10089bfa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x8c
test eax, eax
je 0x10089c0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x8d
jmp 0x10087a94
mov eax, dword [ebp - 0x554]
mov ecx, edi
add eax, 0x20
push eax
push 0xc
push dword [ebp - 0x528]
push dword [ebp - 0x518]
push dword [ebp - 0x560]
call fcn.1008769a
mov esi, eax
test esi, esi
je 0x10089ce5
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x8e
test eax, eax
je 0x10089ca0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x8f
test eax, eax
je 0x10089cb4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x90
jmp 0x10087a94
xor eax, eax
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x7a8], eax
lea eax, [ebp - 0x7b0]
mov byte [ebp - 4], 0x91
push eax
push 0x32
pop eax
push eax
push dword [ebp - 0x528]
mov ecx, edi
push dword [ebp - 0x518]
push dword [ebp - 0x560]
call fcn.100875e4
mov esi, eax
test esi, esi
je 0x10089dab
lea ecx, [ebp - 0x7b0]
call fcn.1001b82d
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x92
test eax, eax
je 0x10089d66
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x93
test eax, eax
je 0x10089d7a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x94
jmp 0x10087a94
push 8
pop eax
cmp word [ebp - 0x7b0], ax
jne 0x10089dfb
mov ecx, dword [ebp - 0x554]
push dword [ebp - 0x7a8]
lea ecx, [ecx + 0x4c]
call fcn.100190f5
push 0x5c
pop eax
lea ecx, [ebp - 0x7b0]
mov byte [ebp - 4], al
call fcn.1001b82d
mov esi, dword [ebp - 0x570]
cmp esi, dword [ebp - 0x530]
jl 0x10089e8b
lea ecx, [ebp - 0x534]
call fcn.100870b1
jmp 0x10089de2
cmp word [ebp - 0x7b0], 0
je 0x10089dcb
lea ecx, [ebp - 0x7b0]
call fcn.1001b82d
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x95
test eax, eax
je 0x10089e46
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x96
test eax, eax
je 0x10089e5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x97
jmp 0x10087d90
cmp byte [ebp - 0x521], 0
jne 0x1008a0e7
mov eax, dword [ebp - 0x4f0]
mov edx, dword [ebp - 0x528]
test eax, eax
jne 0x10089eb0
test edx, edx
js 0x1008a0e7
mov ecx, dword [ebp - 0x534]
mov esi, dword [ecx + esi*4]
xor ecx, ecx
mov dword [ebp - 0x5c0], ecx
mov dword [ebp - 0x5b8], ecx
mov dword [ebp - 0x5bc], ecx
test edx, edx
js 0x10089f00
mov edi, dword [ebp - 0x4fc]
lea ebx, [ebp - 0x5bc]
push ebx
lea ebx, [ebp - 0x5b8]
push ebx
lea ebx, [ebp - 0x5c0]
push ebx
lea eax, [edi - 0x10]
mov ecx, dword [eax]
push 0x3e
push edx
push eax
call dword [ecx + 0x10]
mov ebx, dword [ebp - 0x5f0]
jmp 0x10089f29
mov ecx, dword [eax]
lea edx, [ebp - 0x5bc]
push edx
lea edx, [ebp - 0x5b8]
push edx
lea edx, [ebp - 0x5c0]
push edx
push 0x3e
push dword [ebp - 0x518]
push eax
call dword [ecx + 0x10]
mov edi, dword [ebp - 0x4fc]
cmp dword [ebp - 0x5b8], 0
je 0x10089fd8
cmp dword [ebp - 0x5bc], 1
je 0x10089fba
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x98
test eax, eax
je 0x10089f75
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x99
test eax, eax
je 0x10089f89
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x9a
jmp 0x1008829b
push dword [ebp - 0x5b8]
mov ecx, esi
push dword [ebp - 0x5c0]
call fcn.100a6ade
mov esi, dword [ebp - 0x554]
mov dword [esi + 0x58], eax
jmp 0x10089fde
mov esi, dword [ebp - 0x554]
mov edx, dword [ebp - 0x528]
xor eax, eax
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5bc], eax
test edx, edx
js 0x1008a019
lea eax, [edi - 0x10]
lea edi, [ebp - 0x5bc]
push edi
lea edi, [ebp - 0x5b8]
push edi
lea edi, [ebp - 0x5c0]
push edi
push 0x59
push edx
jmp 0x1008a03c
mov eax, dword [ebp - 0x4f0]
lea edx, [ebp - 0x5bc]
push edx
lea edx, [ebp - 0x5b8]
push edx
lea edx, [ebp - 0x5c0]
push edx
push 0x59
push dword [ebp - 0x518]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
cmp dword [ebp - 0x5b8], 0
je 0x1008a0e7
cmp dword [ebp - 0x5bc], 1
je 0x1008a0d3
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x9b
test eax, eax
je 0x1008a08e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x9c
test eax, eax
je 0x1008a0a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x9d
jmp 0x1008829b
push dword [ebp - 0x5b8]
lea ecx, [esi + 0x70]
push dword [ebp - 0x5c0]
call fcn.10023c4c
cmp byte [ebp - 0x522], 0
jne 0x100895aa
cmp byte [ebp - 0x505], 0
je 0x1008a14c
mov esi, dword [ebp - 0x4f8]
lea eax, [ebp - 0x5b0]
push eax
lea eax, [ebp - 0x548]
mov ecx, esi
push eax
lea eax, [ebp - 0x6f0]
push eax
call fcn.10087506
test al, al
je 0x1008a131
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x5b0]
mov eax, dword [ecx + eax*4]
jmp 0x1008a13f
push dword [ebp - 0x5b0]
lea ecx, [esi + 4]
call fcn.10087790
mov esi, dword [ebp - 0x4f4]
mov dword [eax], esi
jmp 0x100895b0
mov ecx, dword [ebp - 0x4f8]
mov esi, dword [ebp - 0x4f4]
push esi
lea ecx, [ecx + 0x10]
call fcn.1001956c
jmp 0x100895b0
lea ecx, [ebp - 0x7c0]
call fcn.1001b82d
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x85
test eax, eax
je 0x1008a1a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x86
test eax, eax
je 0x1008a1bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x87
jmp 0x10087d90
push 0x5c
pop ecx
cmp ax, cx
je 0x1008a213
push 0x2f
pop ecx
cmp ax, cx
je 0x1008a213
push eax
lea ecx, [ebp - 0x548]
call fcn.1001874e
mov edx, dword [ebp - 0x4f8]
jmp 0x100891e7
lea eax, [ebp - 0x538]
mov ecx, edx
push eax
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x6f0]
push eax
call fcn.10087506
mov esi, dword [ebp - 0x538]
test al, al
jne 0x1008a283
mov ecx, dword [ebp - 0x4f8]
push esi
lea ecx, [ecx + 4]
call fcn.10087790
mov edi, eax
lea ecx, [ebp - 0x6f0]
lea eax, [ebp - 0x6b0]
push eax
call fcn.10086fc2
mov dword [edi], eax
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6ec]
mov ecx, dword [eax + ecx*4 - 4]
lea eax, [ebp - 0x548]
push eax
add ecx, 0x40
call fcn.100182f2
mov edi, dword [ebp - 0x4fc]
mov eax, dword [ebp - 0x4f8]
mov eax, dword [eax + 4]
mov edx, dword [eax + esi*4]
xor eax, eax
mov dword [ebp - 0x544], eax
xor ecx, ecx
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0x4f8], edx
mov word [eax], cx
mov esi, dword [ebp - 0x504]
jmp 0x100891e7
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x69
test eax, eax
je 0x1008a2e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x6a
test eax, eax
je 0x1008a2fd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x6b
jmp 0x10087d90
cmp word [ebp - 0x5d8], 0
je 0x1008a3b5
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x60
test eax, eax
je 0x1008a36e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x61
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x4f0]
test eax, eax
je 0x1008a384
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x62
jmp 0x10087d90
lea ecx, [ebp - 0x5d8]
call fcn.1001b82d
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x63
test eax, eax
je 0x1008a3eb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0x64
test eax, eax
je 0x1008a3ff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0x65
jmp 0x10087d90
mov esi, dword [ebp - 0x510]
mov edi, dword [ebp - 0x5ec]
mov dword [ebp - 0x570], esi
cmp esi, edi
jae 0x1008a45f
mov edx, esi
cmp byte [ebx + edx], 0
lea eax, [edx + 1]
cmovne eax, esi
inc edx
mov esi, eax
cmp edx, edi
jb 0x1008a448
mov dword [ebp - 0x570], eax
lea eax, [esi - 1]
push eax
lea eax, [ebp - 0x6b0]
push eax
lea edx, [ebp - 0x6f0]
lea ecx, [ebp - 0x514]
call fcn.10087342
xor eax, eax
mov esi, eax
cmp esi, dword [ebp - 0x510]
jae 0x1008a4a8
cmp esi, edi
jae 0x1008a491
cmp byte [ebx + esi], 0
je 0x1008a4a5
mov eax, dword [ebp - 0x514]
lea ecx, [ebp - 0x76c]
push dword [eax + esi*4]
call fcn.1008da9b
inc esi
jmp 0x1008a47f
mov esi, dword [ebp - 0x4fc]
lea ecx, [ebp - 0x500]
xorps xmm0, xmm0
movlpd qword [ebp - 0x5b4], xmm0
mov esi, dword [esi + 0x20]
push esi
call fcn.1001c175
mov byte [ebp - 4], 0x9e
test esi, esi
je 0x1008a4dc
mov edi, dword [ebp - 0x500]
mov ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov esi, dword [ebp - 0x4fc]
xor eax, eax
mov ecx, eax
cmp dword [esi + 0x68], eax
jbe 0x1008a584
mov edi, dword [ebp - 0x5b4]
mov edx, eax
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x568], edi
cmp byte [ebx + ecx], 0
jne 0x1008a579
mov eax, dword [esi + 0x28]
add edi, dword [eax + edx]
mov dword [ebp - 0x568], edi
mov edi, dword [ebp - 0x578]
adc edi, dword [eax + edx + 4]
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x578], edi
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x18]
mov esi, dword [eax + 0x14]
mov dword [ebp - 0x538], edi
lea eax, [esi + edi]
cmp esi, eax
jae 0x1008a56d
imul edi, esi, 0x18
mov eax, dword [ebp - 0x4fc]
mov eax, dword [eax + 0x40]
mov esi, dword [eax + edi + 8]
test esi, esi
js 0x1008a561
mov eax, dword [ebp - 0x500]
inc dword [eax + esi*4]
add edi, 0x18
sub dword [ebp - 0x538], 1
jne 0x1008a547
mov edi, dword [ebp - 0x568]
mov esi, dword [ebp - 0x4fc]
inc ecx
add edx, 0x40
cmp ecx, dword [esi + 0x68]
jb 0x1008a509
jmp 0x1008a59c
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x5b4]
mov dword [ebp - 0x568], eax
mov edi, dword [ebp - 0x6d4]
xor ecx, ecx
mov esi, ecx
test edi, edi
je 0x1008a622
mov eax, dword [ebp - 0x6d8]
mov edx, dword [eax + esi*4]
shl edx, 4
add edx, dword [ebp - 0x6e4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
js 0x1008a5f0
mov edx, dword [ebp - 0x4fc]
cmp ecx, dword [edx + 0x7c]
jae 0x1008a61b
mov eax, dword [edx + 0x78]
imul eax, dword [eax + ecx*4], 0x18
add eax, dword [edx + 0x40]
mov ecx, dword [eax + 8]
test ecx, ecx
js 0x1008a61b
mov eax, dword [ebp - 0x500]
inc dword [eax + ecx*4]
mov edi, dword [ebp - 0x6d4]
jmp 0x1008a61b
mov ecx, dword [edx + 4]
mov eax, dword [ebp - 0x6f0]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx + 8]
test ecx, ecx
js 0x1008a609
mov eax, dword [eax + 0x64]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 8]
add dword [ebp - 0x568], ecx
mov eax, dword [eax + 0xc]
adc dword [ebp - 0x578], eax
inc esi
cmp esi, edi
jb 0x1008a5aa
xor ecx, ecx
mov edx, dword [ebp - 0x4fc]
mov esi, ecx
mov eax, dword [edx + 0x20]
test eax, eax
je 0x1008a65d
mov edi, ecx
mov ecx, dword [edx + 0x1c]
add ecx, edi
call fcn.10085dcb
xor ecx, ecx
test al, al
je 0x1008a64c
mov eax, dword [ebp - 0x500]
mov dword [eax + esi*4], ecx
mov edx, dword [ebp - 0x4fc]
inc esi
add edi, 0x40
mov eax, dword [edx + 0x20]
cmp esi, eax
jb 0x1008a633
mov esi, dword [ebp - 0x500]
mov edi, ecx
test eax, eax
je 0x1008a6c9
mov dword [ebp - 0x504], ecx
xor eax, eax
cmp dword [esi + edi*4], eax
je 0x1008a6b6
mov eax, dword [edx + 0x1c]
add eax, ecx
mov ecx, eax
mov dword [ebp - 0x51c], eax
call fcn.10085de2
mov edx, dword [ebp - 0x4fc]
test al, al
je 0x1008a6b0
mov ecx, dword [ebp - 0x51c]
mov eax, dword [edx + 0x34]
mov ecx, dword [ecx + 0x1c]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [esi + eax*4], 1
mov esi, dword [ebp - 0x500]
mov ecx, dword [ebp - 0x504]
mov eax, dword [edx + 0x20]
inc edi
add ecx, 0x40
mov dword [ebp - 0x504], ecx
cmp edi, eax
jb 0x1008a66f
xor ecx, ecx
mov dword [ebp - 0x504], ecx
test eax, eax
je 0x1008a738
xor edi, edi
mov eax, edi
mov dword [ebp - 0x564], edi
cmp dword [esi + ecx*4], edi
je 0x1008a723
mov edi, dword [edx + 0x1c]
add edi, eax
mov ecx, edi
call fcn.10085de2
mov ecx, dword [ebp - 0x504]
mov edx, dword [ebp - 0x4fc]
test al, al
jne 0x1008a71b
mov eax, dword [ebp - 0x568]
add eax, dword [edi]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x578]
adc eax, dword [edi + 4]
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x564]
xor edi, edi
inc ecx
add eax, 0x40
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x564], eax
cmp ecx, dword [edx + 0x20]
jb 0x1008a6dd
mov ecx, dword [ebp - 0x560]
push dword [ebp - 0x578]
push dword [ebp - 0x568]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov esi, eax
test esi, esi
je 0x1008a7d2
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0x9f
test eax, eax
je 0x1008a78d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xa0
test eax, eax
je 0x1008a7a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xa1
jmp 0x10087a94
push 0x28
call fcn.100c7442
mov edi, eax
mov dword [ebp - 0x574], edi
pop ecx
test edi, edi
je 0x1008a81d
xor eax, eax
xor esi, esi
mov dword [edi + 0x14], eax
mov dword [edi], vtable.NCompress::CCopyCoder.0
mov dword [edi + 4], vtable.NCompress::CCopyCoder.1.0
mov dword [edi + 8], vtable.NCompress::CCopyCoder.2.0
mov dword [edi + 0xc], vtable.NCompress::CCopyCoder.3.0
mov dword [edi + 0x10], vtable.NCompress::CCopyCoder.4.0
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
jmp 0x1008a827
xor esi, esi
mov edi, esi
mov dword [ebp - 0x574], edi
mov dword [ebp - 0x814], edi
test edi, edi
je 0x1008a837
mov eax, dword [edi]
push edi
call dword [eax + 4]
push 0x38
mov byte [ebp - 4], 0xa2
call fcn.100c7442
pop ecx
mov dword [ebp - 0x51c], eax
mov byte [ebp - 4], 0xa3
test eax, eax
je 0x1008a85a
mov ecx, eax
call fcn.100a5f08
mov esi, eax
mov dword [ebp - 0x528], esi
mov byte [ebp - 4], 0xa2
mov dword [ebp - 0x6b4], esi
test esi, esi
je 0x1008a874
mov eax, dword [esi]
push esi
call dword [eax + 4]
push 1
push dword [ebp - 0x560]
mov ecx, esi
mov byte [ebp - 4], 0xa4
call fcn.100a5f94
xor eax, eax
lea ecx, [ebp - 0x3e4]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x5b4], xmm0
call fcn.100878bf
cmp dword [ebp - 0x53c], 0
je 0x1008a8db
mov eax, dword [ebp - 0x4fc]
mov eax, dword [eax + 0xa8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x3e0], eax
mov eax, dword [ecx]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x3d8], eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x3e4]
call fcn.1008db86
mov ecx, dword [ebp - 0x4e8]
lea edx, [ebp - 0x234]
push 0xd0
call fcn.100a6a96
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008a9bf
mov byte [ebp - 4], 0xa5
test esi, esi
je 0x1008a91f
mov ecx, dword [esi]
push esi
call dword [ecx + 8]
mov byte [ebp - 4], 0xa6
test edi, edi
je 0x1008a92d
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xa7
test eax, eax
je 0x1008a964
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xa8
test eax, eax
je 0x1008a978
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xa9
mov eax, dword [ebp - 0x4e8]
test eax, eax
je 0x1008a9b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x51c]
jmp 0x1008d799
xor eax, eax
mov dword [ebp - 0x55c], 0xd0
push 0x78
mov dword [ebp - 0x558], eax
call fcn.100c7442
mov dword [ebp - 0x4f8], eax
pop ecx
test eax, eax
je 0x1008a9f3
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], vtable.NArchive::NWim::CInStreamWithSha1.0
mov dword [eax + 8], ecx
jmp 0x1008a9fb
xor eax, eax
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x5f4], eax
test eax, eax
je 0x1008aa0b
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x4f4], ecx
mov eax, dword [ebp - 0x4fc]
mov byte [ebp - 4], 0xab
cmp dword [eax + 0xac], 2
jne 0x1008aa89
push 0x28
call fcn.100c7442
mov dword [ebp - 0x590], eax
pop ecx
test eax, eax
je 0x1008aa50
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], vtable.CLimitedSequentialInStream.0
mov dword [eax + 8], ecx
jmp 0x1008aa58
xor eax, eax
mov dword [ebp - 0x590], eax
push eax
lea ecx, [ebp - 0x4f4]
call fcn.1001c69c
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x590]
add ecx, 8
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 4]
push dword [eax + 0xb0]
call fcn.1001c69c
xor ecx, ecx
mov dword [ebp - 0x584], ecx
mov dword [ebp - 0x580], ecx
mov dword [ebp - 0x57c], ecx
mov dword [ebp - 0x59c], ecx
mov dword [ebp - 0x598], ecx
mov dword [ebp - 0x594], ecx
xorps xmm0, xmm0
mov byte [ebp - 4], 0xad
movlpd qword [ebp - 0x520], xmm0
mov edx, ecx
mov eax, dword [ebp - 0x51c]
mov dword [ebp - 0x504], eax
mov eax, dword [ebp - 0x520]
movlpd qword [ebp - 0x5c8], xmm0
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x538], edx
cmp edx, dword [eax + 0x20]
jae 0x1008b333
mov eax, dword [eax + 0x1c]
mov ecx, edx
shl ecx, 6
add ecx, eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x53c], ecx
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x5c4], eax
test eax, eax
jne 0x1008ab62
call fcn.10085de2
test al, al
je 0x1008b253
mov ecx, dword [ebp - 0x53c]
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 0x1c]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x500]
cmp dword [eax + ecx*4], 0
je 0x1008b253
xor eax, eax
mov ecx, esi
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
call fcn.100a5ffe
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008ac71
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
pop ecx
pop ecx
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xae
test eax, eax
je 0x1008abb1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xaf
test eax, eax
je 0x1008abc5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb0
test esi, esi
je 0x1008abd3
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xb1
test edi, edi
je 0x1008abe1
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xb2
test eax, eax
je 0x1008ac18
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xb3
test eax, eax
je 0x1008ac2c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xb4
mov ecx, dword [ebp - 0x4e8]
test ecx, ecx
je 0x1008a9b4
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
jmp 0x1008a9b4
mov esi, dword [ebp - 0x53c]
lea edi, [ebp - 0x424]
push 8
pop eax
mov ecx, eax
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x53c]
inc eax
mov word [ebp - 0x404], ax
mov eax, dword [ebp - 0x5c4]
push 0x14
mov dword [ebp - 0x400], eax
lea esi, [edi + 0x2c]
lea eax, [ebp - 0x3f8]
push esi
push eax
call fcn.100c8430
mov al, byte [edi + 0x18]
add esp, 0xc
mov byte [ebp - 0x522], al
test al, 0x10
je 0x1008ae3c
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [edi + 0x1c]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
mov ecx, edi
call fcn.10085de2
test al, al
je 0x1008ae07
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
cmp ecx, esi
ja 0x1008ade6
jb 0x1008ad02
cmp eax, edx
jae 0x1008ade6
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
pop ecx
pop ecx
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xb5
test eax, eax
je 0x1008ad2e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xb6
test eax, eax
je 0x1008ad42
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x528]
mov byte [ebp - 4], 0xb7
test esi, esi
je 0x1008ad56
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov edi, dword [ebp - 0x574]
mov byte [ebp - 4], 0xb8
test edi, edi
je 0x1008ad6a
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xb9
test eax, eax
je 0x1008ada1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xba
test eax, eax
je 0x1008adb5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xbb
jmp 0x1008829b
sub eax, edx
sbb ecx, esi
add eax, dword [ebp - 0x564]
mov dword [ebp - 0x41c], eax
adc ecx, dword [ebp - 0x504]
mov dword [ebp - 0x418], ecx
mov al, byte [edi + 0x18]
jmp 0x1008ae37
mov eax, dword [ebp - 0x554]
add dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x550]
adc dword [ebp - 0x504], eax
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov al, byte [ebp - 0x522]
mov dword [ebp - 0x554], edx
mov dword [ebp - 0x550], ecx
lea esi, [edi + 0x2c]
jmp 0x1008ae7f
xorps xmm0, xmm0
movlpd qword [ebp - 0x520], xmm0
mov ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x504], ecx
mov ecx, dword [ebp - 0x520]
movlpd qword [ebp - 0x5c8], xmm0
mov dword [ebp - 0x564], ecx
mov ecx, dword [ebp - 0x5c4]
mov dword [ebp - 0x550], ecx
mov ecx, dword [ebp - 0x5c8]
mov dword [ebp - 0x554], ecx
test al, 0x10
je 0x1008ae92
mov ecx, edi
call fcn.10085de2
test al, al
je 0x1008af93
push dword [ebp - 0x580]
lea edx, [ebp - 0x59c]
push esi
mov esi, dword [ebp - 0x584]
mov ecx, esi
call fcn.10087380
test eax, eax
js 0x1008af99
push dword [ebp - 0x59c]
call fcn.100c751e
push esi
call fcn.100c751e
pop ecx
pop ecx
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xbc
test eax, eax
je 0x1008aedb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xbd
test eax, eax
je 0x1008aeef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x528]
mov byte [ebp - 4], 0xbe
test esi, esi
je 0x1008af03
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov edi, dword [ebp - 0x574]
mov byte [ebp - 4], 0xbf
test edi, edi
je 0x1008af17
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xc0
test eax, eax
je 0x1008af4e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xc1
test eax, eax
je 0x1008af62
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xc2
jmp 0x1008829b
mov esi, dword [ebp - 0x584]
test byte [edi + 0x18], 0x10
je 0x1008afae
mov ecx, edi
call fcn.10085dcb
test al, al
je 0x1008b22c
mov eax, dword [ebp - 0x4fc]
xor edx, edx
movzx ecx, word [edi + 0x20]
push edx
push edx
mov eax, dword [eax + 0xa8]
push dword [edi + 0xc]
push dword [edi + 8]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0xb0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008b0c4
push dword [ebp - 0x59c]
call fcn.100c751e
push esi
call fcn.100c751e
pop ecx
pop ecx
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xc3
test eax, eax
je 0x1008b00c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xc4
test eax, eax
je 0x1008b020
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x528]
mov byte [ebp - 4], 0xc5
test esi, esi
je 0x1008b034
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov edi, dword [ebp - 0x574]
mov byte [ebp - 4], 0xc6
test edi, edi
je 0x1008b048
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xc7
test eax, eax
je 0x1008b07f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xc8
test eax, eax
je 0x1008b093
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xc9
jmp 0x1008ac58
mov edx, dword [ebp - 0x590]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0x528]
mov edi, dword [ebp - 0x574]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
xor ecx, ecx
push esi
push ecx
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ecx
push ecx
mov byte [edx + 0x20], cl
push dword [ebp - 0x4e8]
mov eax, dword [edi]
push dword [ebp - 0x4f4]
push edi
call dword [eax + 0xc]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008b1e3
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
pop ecx
pop ecx
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xca
test eax, eax
je 0x1008b13b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xcb
test eax, eax
je 0x1008b14f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcc
test esi, esi
je 0x1008b15d
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [edi]
push edi
mov byte [ebp - 4], 0xcd
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xce
test eax, eax
je 0x1008b19e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xcf
test eax, eax
je 0x1008b1b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xd0
jmp 0x1008ac58
mov edx, dword [ebp - 0x53c]
mov eax, dword [edi + 0x20]
cmp eax, dword [edx]
jne 0x1008b25f
mov eax, dword [edi + 0x24]
cmp eax, dword [edx + 4]
jne 0x1008b25f
mov eax, dword [ebp - 0x55c]
mov ecx, dword [ebp - 0x558]
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], ecx
add eax, dword [edx]
mov dword [ebp - 0x55c], eax
adc ecx, dword [edx + 4]
mov dword [ebp - 0x558], ecx
mov eax, dword [edx]
add dword [esi + 0x18], eax
mov eax, dword [edx + 4]
adc dword [esi + 0x1c], eax
sub esp, 0x40
lea esi, [ebp - 0x424]
push 0x10
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x584]
call fcn.100456a4
mov esi, dword [ebp - 0x528]
mov edi, dword [ebp - 0x574]
mov edx, dword [ebp - 0x538]
inc edx
jmp 0x1008aaf6
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
pop ecx
pop ecx
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xd1
test eax, eax
je 0x1008b28b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xd2
test eax, eax
je 0x1008b29f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd3
test esi, esi
je 0x1008b2ad
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [edi]
push edi
mov byte [ebp - 4], 0xd4
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xd5
test eax, eax
je 0x1008b2ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xd6
test eax, eax
je 0x1008b302
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xd7
jmp 0x1008829b
xor eax, eax
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x5b0]
mov edx, dword [ebp - 0x5b4]
mov byte [ebp - 4], 0xd8
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x564], edx
mov dword [ebp - 0x5c4], eax
cmp eax, dword [ebp - 0x6d4]
jae 0x1008c4bc
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], ecx
mov ecx, esi
call fcn.100a5ffe
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008b47a
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xd9
test eax, eax
je 0x1008b3ce
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xda
test eax, eax
je 0x1008b3e2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xdb
test esi, esi
je 0x1008b3f0
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xdc
test edi, edi
je 0x1008b3fe
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xdd
test eax, eax
je 0x1008b435
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xde
test eax, eax
je 0x1008b449
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xdf
jmp 0x1008ac58
mov eax, dword [ebp - 0x6d8]
mov edx, dword [ebp - 0x5c4]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0x6f0]
shl edx, 4
add edx, dword [ebp - 0x6e4]
mov dword [ebp - 0x53c], edx
mov ecx, dword [edx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x518], eax
test ecx, ecx
js 0x1008b4d5
cmp byte [eax + 0x5d], 0
jne 0x1008c4a4
mov eax, dword [eax + 0x64]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], eax
jmp 0x1008b4f7
cmp byte [eax + 0x5c], 0
mov ecx, dword [eax + 8]
mov dword [ebp - 0x554], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x550], ecx
je 0x1008b4f7
cmp dword [eax + 0x74], 0
je 0x1008c4a4
mov ecx, dword [edx + 0xc]
test ecx, ecx
js 0x1008b840
mov edx, dword [ebp - 0x4fc]
cmp ecx, dword [edx + 0x7c]
jb 0x1008b5f5
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xe0
test eax, eax
je 0x1008b549
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xe1
test eax, eax
je 0x1008b55d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe2
test esi, esi
je 0x1008b56b
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xe3
test edi, edi
je 0x1008b579
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xe4
test eax, eax
je 0x1008b5b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xe5
test eax, eax
je 0x1008b5c4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xe6
jmp 0x1008829b
mov eax, dword [edx + 0x78]
imul eax, dword [eax + ecx*4], 0x18
add eax, dword [edx + 0x40]
mov eax, dword [eax + 8]
test eax, eax
jns 0x1008b700
mov eax, dword [ebp - 0x554]
or eax, dword [ebp - 0x550]
je 0x1008c4a4
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xe7
test eax, eax
je 0x1008b654
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xe8
test eax, eax
je 0x1008b668
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe9
test esi, esi
je 0x1008b676
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xea
test edi, edi
je 0x1008b684
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xeb
test eax, eax
je 0x1008b6bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xec
test eax, eax
je 0x1008b6cf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xed
jmp 0x1008829b
mov ecx, dword [ebp - 0x584]
shl eax, 6
add eax, 0x2c
add eax, dword [edx + 0x1c]
lea edx, [ebp - 0x59c]
push 0xffffffffffffffff
push eax
call fcn.10087380
mov ecx, eax
test ecx, ecx
jns 0x1008b80b
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xee
test eax, eax
je 0x1008b75f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xef
test eax, eax
je 0x1008b773
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf0
test esi, esi
je 0x1008b781
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xf1
test edi, edi
je 0x1008b78f
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xf2
test eax, eax
je 0x1008b7c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xf3
test eax, eax
je 0x1008b7da
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xf4
jmp 0x1008829b
mov eax, dword [ebp - 0x53c]
mov edx, dword [ebp - 0x518]
mov eax, dword [eax + 8]
mov dword [ebp - 0x51c], eax
test eax, eax
jns 0x1008b82c
mov dword [edx + 4], ecx
jmp 0x1008c4a4
mov eax, dword [edx + 0x64]
mov edx, dword [ebp - 0x51c]
mov eax, dword [eax + edx*4]
mov dword [eax + 4], ecx
jmp 0x1008c4a4
xor eax, eax
mov dword [ebp - 0x58c], eax
mov ecx, dword [ebp - 0x560]
lea ebx, [ebp - 0x58c]
push ebx
push dword [edx]
mov byte [ebp - 4], 0xf5
mov eax, dword [ecx]
push ecx
call dword [eax + 0x1c]
mov ebx, dword [ebp - 0x5f0]
xor edx, edx
inc edx
mov dword [ebp - 0x51c], eax
cmp eax, edx
jne 0x1008b8aa
mov ecx, dword [ebp - 0x53c]
xor eax, eax
cmp dword [ecx + 8], eax
jl 0x1008b89b
mov eax, dword [ebp - 0x518]
inc dword [eax + 0x60]
mov ecx, dword [ecx + 8]
mov eax, dword [eax + 0x64]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x1c], dl
jmp 0x1008c32b
mov edx, dword [ebp - 0x518]
mov byte [edx + 0x5d], 1
jmp 0x1008c32b
test eax, eax
je 0x1008b9aa
mov eax, dword [ebp - 0x58c]
mov byte [ebp - 4], 0xf6
test eax, eax
je 0x1008b8c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xf7
test eax, eax
je 0x1008b8fe
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov byte [ebp - 4], 0xf8
test eax, eax
je 0x1008b912
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf9
test esi, esi
je 0x1008b920
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xfa
test edi, edi
je 0x1008b92e
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 4], 0xfb
test eax, eax
je 0x1008b965
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov byte [ebp - 4], 0xfc
test eax, eax
je 0x1008b979
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov byte [ebp - 4], 0xfd
jmp 0x1008ac58
or eax, 0xffffffff
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x58c]
test eax, eax
jne 0x1008bac6
mov ecx, dword [ebp - 0x518]
cmp byte [ecx + 0x5c], al
jne 0x1008bcd6
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov byte [ebp - 4], 0xff
test eax, eax
je 0x1008ba08
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x100
test eax, eax
je 0x1008ba1f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x101
test esi, esi
je 0x1008ba30
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x102
test edi, edi
je 0x1008ba41
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x103
test eax, eax
je 0x1008ba7b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x104
test eax, eax
je 0x1008ba92
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x105
jmp 0x10087d90
mov ecx, dword [ebp - 0x53c]
xor edx, edx
cmp dword [ecx + 8], edx
jge 0x1008bcd0
mov dword [ebp - 0x5e4], edx
mov ecx, dword [eax]
lea edx, [ebp - 0x5e4]
push edx
push 0x100df0e4
push eax
mov dword [ebp - 4], 0x106
call dword [ecx]
mov eax, dword [ebp - 0x5e4]
test eax, eax
je 0x1008bc79
mov ecx, dword [eax]
lea edx, [ebp - 0x274]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x1008bc73
mov ecx, dword [ebp - 0x518]
mov eax, dword [ebp - 0x250]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x24c]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x248]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x244]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x240]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x23c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x238]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x264]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x260]
mov dword [ecx + 0x34], eax
cmp dword [ebp - 0x254], 1
ja 0x1008bb80
xor eax, eax
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0x26c]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x268]
mov dword [ecx + 0x3c], eax
mov eax, dword [ecx + 0x30]
or eax, dword [ecx + 0x34]
je 0x1008bbbb
lea eax, [ebp - 0x5a8]
push eax
mov eax, dword [ebp - 0x53c]
lea ecx, [ebp - 0x6f0]
mov edx, dword [eax + 4]
call fcn.100872d1
mov dword [ebp - 0x5b0], eax
mov edx, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x538], edx
cmp edx, dword [ebp - 0x554]
jne 0x1008bbe1
cmp ecx, dword [ebp - 0x550]
je 0x1008bc73
mov eax, edx
and eax, ecx
cmp eax, 0xffffffff
je 0x1008bc73
mov eax, edx
mov edx, dword [ebp - 0x568]
sub eax, dword [ebp - 0x554]
sbb ecx, dword [ebp - 0x550]
add edx, eax
mov eax, dword [ebp - 0x578]
adc eax, ecx
mov dword [ebp - 0x51c], eax
js 0x1008bc43
jg 0x1008bc1c
xor ecx, ecx
cmp edx, ecx
jbe 0x1008bc43
mov ecx, dword [ebp - 0x560]
push dword [ebp - 0x51c]
mov dword [ebp - 0x578], eax
push edx
mov eax, dword [ecx]
push ecx
mov dword [ebp - 0x568], edx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x274]
jmp 0x1008bc49
mov eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x518]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x270]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x5e4]
mov dword [ebp - 4], 0x107
test eax, eax
je 0x1008bc8a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x5b0]
mov dword [ebp - 4], 0xf5
test ecx, ecx
js 0x1008bcca
mov eax, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x518]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
test ecx, ecx
js 0x1008c32b
mov eax, dword [ebp - 0x584]
shl ecx, 6
inc dword [ecx + eax + 0x24]
jmp 0x1008c32b
mov eax, dword [ebp - 0x58c]
mov ecx, dword [ebp - 0x518]
mov edx, dword [ebp - 0x53c]
cmp dword [edx + 8], 0
jge 0x1008c064
cmp dword [ecx + 0x74], 0
je 0x1008c064
push 8
pop edx
cmp dword [ecx + 0x74], edx
jae 0x1008be06
mov dword [ebp - 4], 0x108
test eax, eax
je 0x1008bd0d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x109
test eax, eax
je 0x1008bd48
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x10a
test eax, eax
je 0x1008bd5f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x10b
test esi, esi
je 0x1008bd70
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x10c
test edi, edi
je 0x1008bd81
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x10d
test eax, eax
je 0x1008bdbb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x10e
test eax, eax
je 0x1008bdd2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x10f
jmp 0x1008829b
lea ecx, [ebp - 0x4e4]
call fcn.100127a0
mov ecx, dword [ebp - 0x518]
mov eax, dword [ecx + 0x74]
mov edx, dword [ecx + 0x70]
add eax, 0xfffffff8
push eax
add edx, 8
mov dword [ebp - 0x538], eax
lea ecx, [ebp - 0x4e4]
call fcn.100127e0
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0x4e4]
call fcn.10011df0
push dword [ebp - 0x580]
mov ecx, dword [ebp - 0x584]
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x59c]
call fcn.10087380
mov dword [ebp - 0x5b0], eax
test eax, eax
js 0x1008be7c
mov ecx, eax
mov eax, dword [ebp - 0x584]
shl ecx, 6
inc dword [ecx + eax + 0x24]
jmp 0x1008c059
mov edx, dword [ebp - 0x518]
mov eax, dword [ebp - 0x580]
push dword [ebp - 0x538]
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [edx + 0x70]
add edx, 8
mov dword [ebp - 0x5b0], eax
call fcn.100a6a96
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008bfc3
mov ecx, dword [ebp - 0x58c]
mov dword [ebp - 4], 0x110
test ecx, ecx
je 0x1008beca
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x111
test eax, eax
je 0x1008bf05
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x112
test eax, eax
je 0x1008bf1c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x113
test esi, esi
je 0x1008bf2d
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x114
test edi, edi
je 0x1008bf3e
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x115
test eax, eax
je 0x1008bf78
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x116
test eax, eax
je 0x1008bf8f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x117
jmp 0x1008a9a4
mov eax, dword [ebp - 0x55c]
xor ecx, ecx
mov esi, dword [ebp - 0x538]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x328], eax
xor eax, eax
inc eax
mov dword [ebp - 0x334], esi
mov word [ebp - 0x314], ax
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x38]
push 0x14
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x330], ecx
push eax
mov dword [ebp - 0x324], esi
mov dword [ebp - 0x320], ecx
mov byte [ebp - 0x31c], cl
call fcn.100c8430
add dword [ebp - 0x55c], esi
lea esi, [ebp - 0x334]
push 0
pop eax
adc dword [ebp - 0x558], eax
sub esp, 0x34
push 0x10
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x584]
call fcn.100456a4
mov esi, dword [ebp - 0x528]
mov edi, dword [ebp - 0x574]
mov eax, dword [ebp - 0x518]
jmp 0x1008c322
mov ecx, dword [ebp - 0x4f8]
push eax
lea ecx, [ecx + 8]
call fcn.1001c69c
lea ecx, [ebp - 0x58c]
call fcn.10038c46
mov ecx, dword [ebp - 0x4f8]
call fcn.10087780
mov eax, dword [edi]
xor ecx, ecx
push esi
push ecx
push ecx
push dword [ebp - 0x4e8]
push dword [ebp - 0x4f8]
push edi
call dword [eax + 0xc]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008c1ba
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 4], 0x118
test eax, eax
je 0x1008c0c5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x119
test eax, eax
je 0x1008c100
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x11a
test eax, eax
je 0x1008c117
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x11b
test esi, esi
je 0x1008c128
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [edi]
push edi
mov dword [ebp - 4], 0x11c
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x11d
test eax, eax
je 0x1008c16f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x11e
test eax, eax
je 0x1008c186
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x11f
jmp 0x1008ac58
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0x554], eax
or eax, ecx
mov dword [ebp - 0x550], ecx
je 0x1008c32b
mov ecx, dword [ebp - 0x4f8]
lea edx, [ebp - 0x4c]
lea ecx, [ecx + 0x18]
call fcn.10011df0
push dword [ebp - 0x580]
mov ecx, dword [ebp - 0x584]
lea eax, [ebp - 0x4c]
push eax
lea edx, [ebp - 0x59c]
call fcn.10087380
mov dword [ebp - 0x5b0], eax
test eax, eax
js 0x1008c266
mov edx, dword [ebp - 0x554]
mov ecx, eax
mov eax, dword [ebp - 0x584]
shl ecx, 6
inc dword [ecx + eax + 0x24]
lea ecx, [ebp - 0x55c]
mov eax, dword [ebp - 0x4e8]
neg edx
push ecx
mov ecx, dword [ebp - 0x550]
push 1
mov ebx, dword [eax]
adc ecx, 0
neg ecx
push ecx
push edx
push eax
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x4e8]
push dword [ebp - 0x558]
push dword [ebp - 0x55c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov ebx, dword [ebp - 0x5f0]
jmp 0x1008c309
mov eax, dword [ebp - 0x580]
mov esi, dword [ebp - 0x554]
mov edi, dword [ebp - 0x550]
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x2e8], eax
xor eax, eax
mov byte [ebp - 0x2dc], al
inc eax
mov word [ebp - 0x2d4], ax
mov dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x4c]
push 0x14
push eax
lea eax, [ebp - 0x2c8]
mov dword [ebp - 0x2f4], esi
push eax
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2e0], edi
call fcn.100c8430
add dword [ebp - 0x55c], esi
lea esi, [ebp - 0x2f4]
adc dword [ebp - 0x558], edi
sub esp, 0x34
push 0x10
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x584]
call fcn.100456a4
mov esi, dword [ebp - 0x528]
mov edi, dword [ebp - 0x574]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x518]
test ecx, ecx
js 0x1008c322
mov eax, dword [eax + 0x64]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x5b0]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x58c]
call fcn.10038c46
mov eax, dword [ebp - 0x564]
add eax, dword [ebp - 0x554]
mov ecx, dword [ebp - 0x560]
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x504]
adc eax, dword [ebp - 0x550]
mov dword [ebp - 0x504], eax
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x20]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008c486
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 4], 0x120
test eax, eax
je 0x1008c38d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x121
test eax, eax
je 0x1008c3c8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x122
test eax, eax
je 0x1008c3df
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x123
test esi, esi
je 0x1008c3f0
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x124
test edi, edi
je 0x1008c401
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x125
test eax, eax
je 0x1008c43b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x126
test eax, eax
je 0x1008c452
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x127
jmp 0x1008ac58
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 4], 0x128
test eax, eax
je 0x1008c49d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xd8
mov eax, dword [ebp - 0x5c4]
mov ecx, dword [ebp - 0x504]
inc eax
mov edx, dword [ebp - 0x564]
jmp 0x1008b363
mov ecx, dword [ebp - 0x570]
cmp dword [ebp - 0x530], ecx
jae 0x1008c4d7
lea ecx, [ebp - 0x534]
call fcn.100870b1
jmp 0x1008c4bc
xor eax, eax
cmp eax, ecx
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x564]
mov eax, dword [ebp - 0x504]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], eax
mov dword [esi + 0x20], ecx
mov ecx, esi
mov dword [esi + 0x24], eax
jae 0x1008ce68
call fcn.100a5ffe
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008c60d
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x129
test eax, eax
je 0x1008c54f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x12a
test eax, eax
je 0x1008c566
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x12b
test esi, esi
je 0x1008c577
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x12c
test edi, edi
je 0x1008c588
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x12d
test eax, eax
je 0x1008c5c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x12e
test eax, eax
je 0x1008c5d9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x12f
jmp 0x1008ac58
mov ecx, dword [ebp - 0x53c]
cmp ecx, dword [ebp - 0x5ec]
jae 0x1008ca7c
cmp byte [ebx + ecx], 0
jne 0x1008ca7c
mov edx, dword [ebp - 0x4fc]
lea edi, [ebp - 0x854]
mov eax, ecx
shl eax, 6
push 0x10
mov esi, dword [edx + 0x28]
add esi, eax
mov eax, dword [edx + 0xa8]
pop ecx
xor edx, edx
push edx
mov eax, dword [eax + 4]
push edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0xb0]
push dword [ebp - 0x848]
push dword [ebp - 0x84c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008c77c
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], pe_nt_image_headers32
test eax, eax
je 0x1008c6b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x131
test eax, eax
je 0x1008c6c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x528]
mov dword [ebp - 4], 0x132
test esi, esi
je 0x1008c6e0
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov edi, dword [ebp - 0x574]
mov dword [ebp - 4], 0x133
test edi, edi
je 0x1008c6f7
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x134
test eax, eax
je 0x1008c731
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x135
test eax, eax
je 0x1008c748
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x136
jmp 0x1008ac58
mov ecx, dword [ebp - 0x590]
xor edx, edx
mov eax, dword [ebp - 0x854]
mov esi, dword [ebp - 0x528]
mov edi, dword [ebp - 0x574]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x850]
push esi
mov dword [ecx + 0x14], eax
push edx
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], edx
push edx
mov byte [ecx + 0x20], dl
push dword [ebp - 0x4e8]
mov eax, dword [edi]
push dword [ebp - 0x4f4]
push edi
call dword [eax + 0xc]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008c8c3
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x137
test eax, eax
je 0x1008c809
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x138
test eax, eax
je 0x1008c820
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x139
test esi, esi
je 0x1008c831
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [edi]
push edi
mov dword [ebp - 4], 0x13a
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x13b
test eax, eax
je 0x1008c878
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x13c
test eax, eax
je 0x1008c88f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x13d
jmp 0x1008ac58
mov eax, dword [ebp - 0x854]
cmp dword [edi + 0x20], eax
jne 0x1008c987
mov eax, dword [ebp - 0x850]
cmp dword [edi + 0x24], eax
jne 0x1008c987
mov eax, dword [ebp - 0x55c]
lea esi, [ebp - 0x854]
sub esp, 0x40
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x848], eax
xor eax, eax
inc eax
push 0x10
pop ecx
mov edi, esp
mov word [ebp - 0x834], ax
mov dword [ebp - 0x830], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x584]
call fcn.100456a4
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 0xa4]
test ecx, ecx
je 0x1008c95e
mov eax, dword [ebp - 0x53c]
inc eax
cmp ecx, eax
jne 0x1008c95e
push 8
pop eax
mov ecx, eax
lea esi, [ebp - 0x854]
lea edi, [ebp - 0x374]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 0xa4]
mov dword [ebp - 0x3bc], eax
mov esi, dword [ebp - 0x528]
mov eax, dword [ebp - 0x854]
mov ecx, dword [ebp - 0x850]
add dword [esi + 0x18], eax
adc dword [esi + 0x1c], ecx
add dword [ebp - 0x55c], eax
adc dword [ebp - 0x558], ecx
jmp 0x1008ce50
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x13e
test eax, eax
je 0x1008c9c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x13f
test eax, eax
je 0x1008c9d9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x140
test esi, esi
je 0x1008c9ea
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [edi]
push edi
mov dword [ebp - 4], 0x141
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x142
test eax, eax
je 0x1008ca31
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x143
test eax, eax
je 0x1008ca48
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x144
jmp 0x1008829b
mov eax, dword [ebp - 0x514]
push 8
mov edi, dword [eax + ecx*4]
pop eax
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x534]
mov dword [ebp - 0x538], edi
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.100a6b72
mov ecx, dword [ebp - 0x56c]
add ecx, eax
mov dword [ebp - 0x51c], edx
mov dword [ebp - 0x56c], ecx
mov eax, dword [esi + 4]
lea eax, [eax*8 + 7]
add eax, ecx
lea ecx, [ebp - 0x76c]
and eax, 0xfffffff8
mov dword [ebp - 0x56c], eax
lea eax, [ebp - 0x6b0]
push eax
call fcn.10086e0a
push edi
lea ecx, [ebp - 0x76c]
call fcn.1008dda8
mov ecx, dword [ebp - 0x56c]
add ecx, eax
mov dword [ebp - 0x56c], ecx
push ecx
lea ecx, [ebp - 0x588]
call fcn.1008690d
mov eax, dword [ebp - 0x588]
mov ecx, dword [esi + 4]
push 8
mov dword [ebp - 4], 0x145
mov dword [eax + 4], ecx
pop ecx
mov edx, ecx
mov dword [ebp - 0x56c], edx
mov eax, dword [esi + 4]
test eax, eax
jne 0x1008cb37
mov eax, dword [ebp - 0x588]
mov dword [eax], ecx
jmp 0x1008cbdc
xor ecx, ecx
mov edi, ecx
test eax, eax
je 0x1008cb71
mov eax, dword [esi]
mov ecx, dword [ebp - 0x588]
push 8
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 4]
mov dword [ecx + edx], eax
xor eax, eax
mov dword [ecx + edx + 4], eax
inc edi
mov edx, dword [ebp - 0x56c]
pop eax
add edx, eax
mov dword [ebp - 0x56c], edx
mov eax, dword [esi + 4]
cmp edi, eax
jb 0x1008cb3f
xor ecx, ecx
mov edi, ecx
test eax, eax
je 0x1008cbc9
mov eax, dword [esi]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008cbaf
push eax
mov eax, dword [ebp - 0x588]
push dword [ecx]
add eax, edx
push eax
call fcn.100c8430
mov edx, dword [ebp - 0x56c]
add esp, 0xc
add edx, dword [ebp - 0x51c]
mov dword [ebp - 0x56c], edx
inc edi
cmp edi, dword [esi + 4]
jb 0x1008cb77
xor ecx, ecx
jmp 0x1008cbc9
mov byte [eax + edx], cl
mov edx, dword [ebp - 0x56c]
inc edx
mov dword [ebp - 0x56c], edx
mov eax, dword [ebp - 0x588]
test dl, 7
jne 0x1008cbb9
mov edi, dword [ebp - 0x538]
mov dword [eax], edx
mov eax, dword [ebp - 0x584]
lea ecx, [ebp - 0x76c]
mov dword [ebp - 0x6f4], eax
lea eax, [ebp - 0x56c]
push eax
push dword [ebp - 0x588]
push edi
call fcn.1008dc97
lea ecx, [ebp - 0x484]
call fcn.100127a0
push dword [ebp - 0x56c]
mov edx, dword [ebp - 0x588]
lea ecx, [ebp - 0x484]
call fcn.100127e0
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x484]
call fcn.10011df0
mov eax, dword [ebp - 0x55c]
xor edx, edx
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x2a8], eax
xor eax, eax
inc eax
mov dword [ebp - 0x2b4], ecx
mov word [ebp - 0x294], ax
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x60]
push 0x14
push eax
lea eax, [ebp - 0x288]
mov dword [ebp - 0x2b0], edx
push eax
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a0], edx
mov byte [ebp - 0x29c], 2
call fcn.100c8430
sub esp, 0x34
lea esi, [ebp - 0x2b4]
push 0x10
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x584]
call fcn.100456a4
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 0xa4]
test ecx, ecx
je 0x1008cce7
mov eax, dword [ebp - 0x53c]
inc eax
cmp ecx, eax
jne 0x1008cce7
push 8
pop eax
mov ecx, eax
lea esi, [ebp - 0x2b4]
lea edi, [ebp - 0x374]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 0xa4]
mov dword [ebp - 0x3bc], eax
push dword [ebp - 0x56c]
mov edx, dword [ebp - 0x588]
mov ecx, dword [ebp - 0x4e8]
call fcn.100a6a96
mov dword [ebp - 0x51c], eax
push dword [ebp - 0x588]
test eax, eax
je 0x1008ce1c
call fcn.100c751e
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0x10
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x146
test eax, eax
je 0x1008cd52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x147
test eax, eax
je 0x1008cd69
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x528]
mov dword [ebp - 4], 0x148
test esi, esi
je 0x1008cd80
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov edi, dword [ebp - 0x574]
mov dword [ebp - 4], 0x149
test edi, edi
je 0x1008cd97
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x14a
test eax, eax
je 0x1008cdd1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x14b
test eax, eax
je 0x1008cde8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x14c
jmp 0x1008a9a4
call fcn.100c751e
mov eax, dword [ebp - 0x56c]
xor ecx, ecx
add dword [ebp - 0x55c], eax
push ecx
adc dword [ebp - 0x558], ecx
mov dword [ebp - 0x588], ecx
mov dword [ebp - 4], 0xd8
call fcn.100c751e
mov esi, dword [ebp - 0x528]
pop ecx
pop ecx
mov eax, dword [ebp - 0x53c]
mov edi, dword [ebp - 0x574]
inc eax
mov ecx, dword [ebp - 0x570]
jmp 0x1008c4d9
call fcn.100a5ffe
mov dword [ebp - 0x51c], eax
test eax, eax
je 0x1008cf74
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x14d
test eax, eax
je 0x1008ceb6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x14e
test eax, eax
je 0x1008cecd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x14f
test esi, esi
je 0x1008cede
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x150
test edi, edi
je 0x1008ceef
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x151
test eax, eax
je 0x1008cf29
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x152
test eax, eax
je 0x1008cf40
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x153
jmp 0x1008ac58
mov ecx, dword [ebp - 0x580]
mov eax, ecx
push 0x32
pop edx
mul edx
mov byte [ebp - 0x39c], 2
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x3a8], eax
xor eax, eax
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x538], eax
cmp eax, ecx
jae 0x1008d118
lea ecx, [ebp - 0x94]
push ecx
mov ecx, eax
shl ecx, 6
add ecx, dword [ebp - 0x584]
call fcn.1008dc61
mov ecx, dword [ebp - 0x4e8]
lea edx, [ebp - 0x94]
push 0x32
pop eax
push eax
call fcn.100a6a96
mov dword [ebp - 0x51c], eax
test eax, eax
jne 0x1008d01f
mov ecx, dword [ebp - 0x580]
push 0x32
pop eax
add dword [ebp - 0x55c], eax
push 0
pop eax
adc dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x538]
inc eax
jmp 0x1008cfba
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0xc
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x154
test eax, eax
je 0x1008d05a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x155
test eax, eax
je 0x1008d071
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x156
test esi, esi
je 0x1008d082
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x157
test edi, edi
je 0x1008d093
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x158
test eax, eax
je 0x1008d0cd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x159
test eax, eax
je 0x1008d0e4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x15a
jmp 0x1008a9a4
push str._WIM_
lea ecx, [ebp - 0x778]
call fcn.10017f98
push dword [ebp - 0x558]
mov edx, str.TOTALBYTES
mov dword [ebp - 4], 0x15b
push dword [ebp - 0x55c]
lea ecx, [ebp - 0x778]
call fcn.100870f8
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x504], eax
cmp ecx, dword [ebp - 0x510]
jae 0x1008d305
mov eax, dword [ebp - 0x514]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x570], eax
call fcn.10019466
mov ecx, dword [ebp - 0x504]
push 0x5c
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x4fc]
cmp dword [eax + 0xb8], 1
jne 0x1008d1c3
mov eax, dword [eax + 0xb4]
mov edx, dword [eax]
cmp ecx, dword [edx + 0x38]
jae 0x1008d1c3
mov eax, dword [edx + 0x34]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x34]
mov eax, dword [edx + 0x24]
push dword [eax + ecx*4]
lea ecx, [ebp - 0x810]
call fcn.10086ec4
mov ecx, dword [ebp - 0x504]
cmp ecx, dword [ebp - 0x5ec]
jae 0x1008d1d5
cmp byte [ebx + ecx], 0
je 0x1008d2d2
cmp dword [ebp - 0x80c], 0
jne 0x1008d22d
inc ecx
lea edx, [ebp - 0x24]
call fcn.100178c5
push str.IMAGE
lea ecx, [ebp - 0x810]
call fcn.1001829b
lea ecx, [ebp - 0x800]
mov byte [ebp - 0x804], 1
call fcn.10019592
push str.INDEX
mov ecx, eax
mov dword [ebp - 0x51c], eax
call fcn.1001829b
mov ecx, dword [ebp - 0x51c]
lea eax, [ebp - 0x24]
push eax
add ecx, 0xc
call fcn.1001829b
lea eax, [ebp - 0x24]
mov edx, str.NAME
push eax
lea ecx, [ebp - 0x810]
call fcn.1008718d
mov ecx, dword [ebp - 0x570]
call fcn.10087568
xor ecx, ecx
dec eax
push ecx
push eax
mov edx, str.DIRCOUNT
lea ecx, [ebp - 0x810]
call fcn.10087271
mov ecx, dword [ebp - 0x570]
call fcn.1008758f
xor ecx, ecx
mov edx, str.FILECOUNT
push ecx
push eax
lea ecx, [ebp - 0x810]
call fcn.10087271
mov ecx, dword [ebp - 0x570]
lea eax, [ebp - 0x6f0]
push eax
call fcn.1008770a
push edx
push eax
mov edx, str.TOTALBYTES
lea ecx, [ebp - 0x810]
call fcn.10087271
lea eax, [ebp - 0x780]
mov edx, str.CREATIONTIME
push eax
lea ecx, [ebp - 0x810]
call fcn.100871d2
lea eax, [ebp - 0x780]
mov edx, str.LASTMODIFICATIONTIME
push eax
lea ecx, [ebp - 0x810]
call fcn.100871d2
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x810]
call fcn.10019610
lea ecx, [ebp - 0x810]
mov byte [ebp - 4], 0x5b
call fcn.10019521
mov ecx, dword [ebp - 0x504]
inc ecx
mov dword [ebp - 0x504], ecx
jmp 0x1008d155
push str.__WIM_
lea ecx, [ebp - 0x778]
call fcn.10018640
lea ecx, [ebp - 0x6cc]
call fcn.100181e7
lea edx, [ebp - 0x6cc]
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x778]
call fcn.1001a367
test al, al
jne 0x1008d45f
push dword [ebp - 0x6cc]
call fcn.100c751e
push dword [ebp - 0x778]
call fcn.100c751e
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0x14
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x15e
test eax, eax
je 0x1008d38e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x15f
test eax, eax
je 0x1008d3a5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x160
test esi, esi
je 0x1008d3b6
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x161
test edi, edi
je 0x1008d3c7
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x162
test eax, eax
je 0x1008d401
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x163
test eax, eax
je 0x1008d418
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov ecx, dword [ebp - 0x4e8]
mov dword [ebp - 4], 0x164
test ecx, ecx
je 0x1008d457
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
xor eax, eax
inc eax
jmp 0x1008d799
mov eax, dword [ebp - 0x6c8]
lea ecx, [ebp - 0x570]
lea eax, [eax*2 + 2]
push eax
mov dword [ebp - 0x538], eax
call fcn.1008690d
mov eax, dword [ebp - 0x570]
mov ecx, 0xfeff
mov word [eax], cx
xor ecx, ecx
mov edx, ecx
cmp dword [ebp - 0x6c8], ecx
jbe 0x1008d4b0
mov ecx, dword [ebp - 0x6cc]
mov cx, word [ecx + edx*2]
mov word [eax + edx*2 + 2], cx
inc edx
cmp edx, dword [ebp - 0x6c8]
jb 0x1008d498
push dword [ebp - 0x538]
mov ecx, dword [ebp - 0x4e8]
mov edx, eax
call fcn.100a6a96
mov dword [ebp - 0x51c], eax
push dword [ebp - 0x570]
test eax, eax
je 0x1008d5eb
call fcn.100c751e
push dword [ebp - 0x6cc]
call fcn.100c751e
push dword [ebp - 0x778]
call fcn.100c751e
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0x18
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x165
test eax, eax
je 0x1008d52d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x166
test eax, eax
je 0x1008d544
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x167
test esi, esi
je 0x1008d555
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x168
test edi, edi
je 0x1008d566
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x169
test eax, eax
je 0x1008d5a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x16a
test eax, eax
je 0x1008d5b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x16b
jmp 0x1008a9a4
call fcn.100c751e
push dword [ebp - 0x6cc]
mov byte [ebp - 4], 0x5b
call fcn.100c751e
mov eax, dword [ebp - 0x538]
xor edx, edx
pop ecx
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x55c]
pop ecx
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x558]
push edx
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x4e8]
push edx
push edx
mov dword [ebp - 0x390], edx
mov dword [ebp - 0x380], edx
mov byte [ebp - 0x37c], 2
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x510]
lea ecx, [ebp - 0x3e4]
mov dword [ebp - 0x3c0], eax
lea eax, [ebp - 0x164]
push eax
call fcn.1008db86
mov ecx, dword [ebp - 0x4e8]
lea edx, [ebp - 0x164]
push 0xd0
call fcn.100a6a96
push dword [ebp - 0x778]
mov dword [ebp - 0x51c], eax
call fcn.100c751e
push dword [ebp - 0x5a8]
call fcn.100c751e
push dword [ebp - 0x59c]
call fcn.100c751e
push dword [ebp - 0x584]
call fcn.100c751e
add esp, 0x10
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 4], 0x16c
test eax, eax
je 0x1008d6d0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 4], 0x16d
test eax, eax
je 0x1008d6e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x16e
test esi, esi
je 0x1008d6f8
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x16f
test edi, edi
je 0x1008d709
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x500]
call fcn.100c751e
push dword [ebp - 0x548]
call fcn.100c751e
pop ecx
pop ecx
lea ecx, [ebp - 0x534]
call fcn.10086c0a
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 4], 0x170
test eax, eax
je 0x1008d743
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 4], 0x171
test eax, eax
je 0x1008d75a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x6b0]
call fcn.10086c6c
lea ecx, [ebp - 0x514]
call fcn.10086baa
lea ecx, [ebp - 0x76c]
call fcn.10086c41
mov dword [ebp - 4], 0x172
jmp 0x1008a9a4
call fcn.100c7549
ret 0x10