Function at 0x1004fa80
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b3a2f
mov eax, dword fs:[0]
push eax
sub esp, 0xf98
mov eax, dword [0x100d99c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x41c], edi
xorps xmm0, xmm0
mov dword [ebp - 0x188], 0x626d6961
lea ecx, [ebp - 0x188]
mov word [ebp - 0x184], 0x746f
mov byte [ebp - 0x182], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x448], xmm0
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004faf6
sub ecx, edx
lea eax, [ebp - 0x188]
push ecx
push eax
lea ecx, [ebp - 0x448]
call fcn.1001d5b0
lea eax, [ebp - 0x448]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1004fb3f
cmp dword [ebp - 0x434], 0x10
mov ecx, edi
push dword [ebp - 0x438]
cmovae eax, dword [ebp - 0x448]
push eax
call fcn.10025620
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x1004fb80
mov edx, dword [ebp - 0x448]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004fb76
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x438], 0
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x434], 0xf
mov byte [ebp - 0x448], 0
lea esi, [edi + 0x30]
mov dword [ebp - 0x160], 0x62616e65
lea edx, [ecx + 1]
mov word [ebp - 0x15c], 0x656c
mov byte [ebp - 0x15a], 0
movups xmmword [ebp - 0x478], xmm0
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004fbe0
sub ecx, edx
lea eax, [ebp - 0x160]
push ecx
push eax
lea ecx, [ebp - 0x478]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x168], 0x62616e65
mov word [ebp - 0x164], 0x656c
lea edx, [ecx + 1]
mov byte [ebp - 0x162], 0
movups xmmword [ebp - 0x460], xmm0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004fc44
sub ecx, edx
lea eax, [ebp - 0x168]
push ecx
push eax
lea ecx, [ebp - 0x460]
call fcn.1001d5b0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 2
lea eax, [ebp - 0x478]
cmp ecx, eax
je 0x1004fc8b
cmp dword [ebp - 0x464], 0x10
push dword [ebp - 0x468]
cmovae eax, dword [ebp - 0x478]
push eax
call fcn.10025620
lea ecx, [edi + 0xa0]
mov byte [edi + 0x99], 1
lea eax, [ebp - 0x460]
cmp ecx, eax
je 0x1004fcbc
cmp dword [ebp - 0x44c], 0x10
push dword [ebp - 0x450]
cmovae eax, dword [ebp - 0x460]
push eax
call fcn.10025620
mov byte [edi + 0x9c], 0
mov ecx, dword [ebp - 0x44c]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x1004fd01
mov edx, dword [ebp - 0x460]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004fcf7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0xf
mov byte [ebp - 0x460], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x1004fd5d
mov edx, dword [ebp - 0x478]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004fd53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov dword [ebp - 0x4c], esi
lea esi, [edi + 0x18]
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0xf
mov byte [ebp - 0x478], 0
mov dword [edi + 0x48], 0
imul eax, dword [edi + 0x48], 0xeb
add eax, 0x14
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1004fdb2
mov eax, dword [ebp - 0x4c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x1004fdbe
lea eax, [ebp - 0x4c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0x170], 0x656c6973
lea ecx, [ebp - 0x170]
mov word [ebp - 0x16c], 0x746e
mov byte [ebp - 0x16a], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x508], xmm0
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 0x4f4], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004fe00
sub ecx, edx
lea eax, [ebp - 0x170]
push ecx
push eax
lea ecx, [ebp - 0x508]
call fcn.1001d5b0
mov dword [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x198], 0xc9c0c5df
mov dword [ebp - 0x194], 0xcd8cd8c2
mov dword [ebp - 0x190], 0xc3cec1c5
mov word [ebp - 0x18c], 0xacd8
nop dword [eax]
xor byte [ebp + eax - 0x198], 0xac
inc eax
cmp eax, 0xe
jb 0x1004fe50
xorps xmm0, xmm0
mov dword [ebp - 0x480], 0
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x47c], 0
movups xmmword [ebp - 0x490], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004fe85
sub ecx, edx
lea eax, [ebp - 0x198]
push ecx
push eax
lea ecx, [ebp - 0x490]
call fcn.1001d5b0
lea ecx, [edi + 0xf0]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x508]
cmp ecx, eax
je 0x1004fecf
cmp dword [ebp - 0x4f4], 0x10
push dword [ebp - 0x4f8]
cmovae eax, dword [ebp - 0x508]
push eax
call fcn.10025620
lea ecx, [edi + 0x128]
mov byte [edi + 0x121], 1
lea eax, [ebp - 0x490]
cmp ecx, eax
je 0x1004ff00
cmp dword [ebp - 0x47c], 0x10
push dword [ebp - 0x480]
cmovae eax, dword [ebp - 0x490]
push eax
call fcn.10025620
mov byte [edi + 0x124], 0
mov ecx, dword [ebp - 0x47c]
mov byte [ebp - 4], 3
cmp ecx, 0x10
jb 0x1004ff45
mov edx, dword [ebp - 0x490]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ff3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x4f4]
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x47c], 0xf
mov byte [ebp - 0x490], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x1004ffa1
mov edx, dword [ebp - 0x508]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ff97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov dword [ebp - 0x4f8], 0
lea eax, [edi + 0xb8]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4f4], 0xf
mov byte [ebp - 0x508], 0
mov dword [edi + 0xd0], 0
imul eax, dword [edi + 0xd0], 0xeb
add eax, 0x14
mov dword [edi + 0xbc], eax
mov dword [edi + 0xc4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd4], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10050008
mov eax, dword [ebp - 0x50]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10050014
lea eax, [ebp - 0x50]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0x766f66
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x4b0], 0
movups xmmword [ebp - 0x4c0], xmm0
mov dword [ebp - 0x4ac], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050045
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x4c0]
call fcn.1001d5b0
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x140], 0xc0cbc2cd
mov dword [ebp - 0x13c], 0xc5c08cc9
mov dword [ebp - 0x138], 0xacd8c5c1
nop dword [eax + eax]
xor byte [ebp + eax - 0x140], 0xac
inc eax
cmp eax, 0xc
jb 0x10050090
xorps xmm0, xmm0
mov dword [ebp - 0x498], 0
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x494], 0
movups xmmword [ebp - 0x4a8], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100500c5
sub ecx, edx
lea eax, [ebp - 0x140]
push ecx
push eax
lea ecx, [ebp - 0x4a8]
call fcn.1001d5b0
lea ecx, [edi + 0x218]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x4c0]
cmp ecx, eax
je 0x1005010f
cmp dword [ebp - 0x4ac], 0x10
push dword [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4c0]
push eax
call fcn.10025620
lea ecx, [edi + 0x250]
mov byte [edi + 0x249], 1
lea eax, [ebp - 0x4a8]
cmp ecx, eax
je 0x10050140
cmp dword [ebp - 0x494], 0x10
push dword [ebp - 0x498]
cmovae eax, dword [ebp - 0x4a8]
push eax
call fcn.10025620
mov byte [edi + 0x24c], 0
mov ecx, dword [ebp - 0x494]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x10050185
mov edx, dword [ebp - 0x4a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005017b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x498], 0
mov dword [ebp - 0x494], 0xf
mov byte [ebp - 0x4a8], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x100501e1
mov edx, dword [ebp - 0x4c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100501d7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov dword [ebp - 0x4b0], 0
lea eax, [edi + 0x1e0]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4ac], 0xf
mov byte [ebp - 0x4c0], 0
mov dword [edi + 0x1f8], 0
imul eax, dword [edi + 0x1f8], 0xeb
add eax, 0x14
mov dword [edi + 0x1e4], eax
mov dword [edi + 0x1ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1fc], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10050248
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10050254
lea eax, [ebp - 0x54]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0x400], 0xb0
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x4e0], 0
movups xmmword [ebp - 0x4f0], xmm0
mov dword [ebp - 0x4dc], 0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10050285
sub ecx, edx
lea eax, [ebp - 0x400]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x4f0]
call fcn.1003d410
mov dword [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x11c], 0xf3dac3ca
mov dword [ebp - 0x118], 0xd9c3c1cd
mov word [ebp - 0x114], 0xd8c2
mov byte [ebp - 0x112], 0xac
xor byte [ebp + eax - 0x11c], 0xac
inc eax
cmp eax, 0xb
jb 0x100502d4
xorps xmm0, xmm0
mov dword [ebp - 0x4c8], 0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x4c4], 0
movups xmmword [ebp - 0x4d8], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050310
sub ecx, edx
lea eax, [ebp - 0x11c]
push ecx
push eax
lea ecx, [ebp - 0x4d8]
call fcn.1001d5b0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 8
push 0x100bbcd7
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x618], 0
movups xmmword [ebp - 0x628], xmm0
mov dword [ebp - 0x614], 0
call fcn.1001d5b0
lea ecx, [edi + 0x2a0]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x4d8]
cmp ecx, eax
je 0x1005038e
cmp dword [ebp - 0x4c4], 0x10
push dword [ebp - 0x4c8]
cmovae eax, dword [ebp - 0x4d8]
push eax
call fcn.10025620
mov byte [edi + 0x2d1], 0
lea ecx, [edi + 0x308]
mov dword [edi + 0x320], 0
lea eax, [ebp - 0x4f0]
mov dword [edi + 0x278], 8
mov dword [edi + 0x27c], 8
mov dword [edi + 0x2dc], 0x3f800000
mov dword [edi + 0x2e0], 0x43340000
mov dword [edi + 0x2d8], 0x43340000
mov dword [edi + 0x2ec], 0
mov dword [edi + 0x2e4], 0x3f800000
cmp ecx, eax
je 0x1005040f
cmp dword [ebp - 0x4dc], 8
push dword [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x4f0]
push eax
call fcn.1004f8c0
mov ecx, dword [ebp - 0x614]
mov byte [ebp - 4], 8
cmp ecx, 0x10
jb 0x1005044d
mov edx, dword [ebp - 0x628]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10050443
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 0xf
mov byte [ebp - 0x628], 0
mov byte [ebp - 4], 7
cmp ecx, 0x10
jb 0x100504a2
mov edx, dword [ebp - 0x4d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10050498
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100504f6
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], 0xf
mov byte [ebp - 0x4d8], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 8
jb 0x10050506
mov edx, dword [ebp - 0x4f0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100504fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100504fc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100ae001
add esp, 8
xor eax, eax
mov dword [ebp - 0x4e0], 0
lea ecx, [edi + 0x2c0]
mov dword [ebp - 0x4dc], 7
mov word [ebp - 0x4f0], ax
mov dword [ebp - 0x78], 0x10029930
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10050544
mov dword [eax], 0x10029930
add dword [ecx + 4], 4
jmp 0x1005054e
lea edx, [ebp - 0x78]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0x268]
mov dword [ebp - 0x58], eax
mov dword [edi + 0x280], 0
imul eax, dword [edi + 0x280], 0xeb
add eax, 0x14
mov dword [edi + 0x26c], eax
mov dword [edi + 0x274], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x284], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1005059a
mov eax, dword [ebp - 0x58]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100505a6
lea eax, [ebp - 0x58]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0x64616568
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xcc], 0
movups xmmword [ebp - 0xc88], xmm0
mov dword [ebp - 0xc78], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc74], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100505e0
sub ecx, edx
lea eax, [ebp - 0xd0]
push ecx
push eax
lea ecx, [ebp - 0xc88]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x158], 0x73656863
mov word [ebp - 0x154], 0x74
lea edx, [ecx + 1]
movups xmmword [ebp - 0xc70], xmm0
mov dword [ebp - 0xc60], 0
mov dword [ebp - 0xc5c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050640
sub ecx, edx
lea eax, [ebp - 0x158]
push ecx
push eax
lea ecx, [ebp - 0xc70]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0x79646f62
mov byte [ebp - 0xd4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xc58], xmm0
mov dword [ebp - 0xc48], 0
mov dword [ebp - 0xc44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050698
sub ecx, edx
lea eax, [ebp - 0xd8]
push ecx
push eax
lea ecx, [ebp - 0xc58]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0x736d7261
mov byte [ebp - 0xdc], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xc40], xmm0
mov dword [ebp - 0xc30], 0
mov dword [ebp - 0xc2c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100506f0
sub ecx, edx
lea eax, [ebp - 0xe0]
push ecx
push eax
lea ecx, [ebp - 0xc40]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0x7367656c
mov byte [ebp - 0xe4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xc28], xmm0
mov dword [ebp - 0xc18], 0
mov dword [ebp - 0xc14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050748
sub ecx, edx
lea eax, [ebp - 0xe8]
push ecx
push eax
lea ecx, [ebp - 0xc28]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0x74656566
mov byte [ebp - 0xc4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xc10], xmm0
mov dword [ebp - 0xc00], 0
mov dword [ebp - 0xbfc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100507a0
sub ecx, edx
lea eax, [ebp - 0xc8]
push ecx
push eax
lea ecx, [ebp - 0xc10]
call fcn.1001d5b0
lea eax, [ebp - 0x3db]
mov dword [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0xbf8]
push ecx
lea edx, [ebp - 0xc88]
push edx
lea ecx, [ebp - 0x740]
call fcn.1004c8f0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x178], 0x62746968
mov word [ebp - 0x174], 0x786f
lea edx, [ecx + 1]
mov byte [ebp - 0x172], 0
movups xmmword [ebp - 0x598], xmm0
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050828
sub ecx, edx
lea eax, [ebp - 0x178]
push ecx
push eax
lea ecx, [ebp - 0x598]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x180], 0x62746968
mov word [ebp - 0x17c], 0x786f
lea edx, [ecx + 1]
mov byte [ebp - 0x17a], 0
movups xmmword [ebp - 0x580], xmm0
mov dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050890
sub ecx, edx
lea eax, [ebp - 0x180]
push ecx
push eax
lea ecx, [ebp - 0x580]
call fcn.1001d5b0
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x54c], 0
mov dword [ebp - 0x548], 0
lea ecx, [edi + 0x35c]
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x598]
cmp ecx, eax
je 0x100508f8
cmp dword [ebp - 0x584], 0x10
push dword [ebp - 0x588]
cmovae eax, dword [ebp - 0x598]
push eax
call fcn.10025620
lea ecx, [edi + 0x394]
mov byte [edi + 0x38d], 1
lea eax, [ebp - 0x580]
cmp ecx, eax
je 0x10050929
cmp dword [ebp - 0x56c], 0x10
push dword [ebp - 0x570]
cmovae eax, dword [ebp - 0x580]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x38d], al
cmovne eax, ecx
mov dword [edi + 0x3c8], eax
add eax, 0x14
mov dword [edi + 0x334], eax
mov dword [edi + 0x338], eax
mov ecx, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x100509a6
lea ecx, [edi + 0x3ac]
mov esi, eax
nop dword [eax]
mov eax, dword [edi + 0x3b0]
push esi
cmp eax, dword [edi + 0x3b4]
je 0x1005098f
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0x3b0], 0x18
jmp 0x10050995
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0x3ac]
cmp esi, dword [ebp - 0x18]
jne 0x10050970
lea esi, [edi + 0x18]
mov ecx, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x9c], eax
cmp eax, ecx
je 0x10050a61
lea esi, [edi + 0x3bc]
nop dword [eax]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x1c], eax
push dword [esi + 4]
push dword [esi]
call fcn.100adb90
mov ecx, dword [esi + 4]
mov dword [ebp - 0x98], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x3b0]
sub ecx, dword [edi + 0x3ac]
imul ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
jae 0x10050a32
cmp eax, dword [edi + 0x3c4]
je 0x10050a23
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10050a32
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.100333e0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x98], eax
jne 0x10050a46
mov eax, dword [edi + 0x388]
test eax, eax
je 0x10050a46
call eax
mov eax, dword [ebp - 0x9c]
add eax, 4
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x14]
jne 0x100509d0
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x550]
call fcn.1001faa0
lea ecx, [ebp - 0x580]
call fcn.1001f960
lea ecx, [ebp - 0x598]
call fcn.1001f960
lea ecx, [ebp - 0x740]
call fcn.1003fb10
push fcn.1001f960
push 6
push 0x18
lea eax, [ebp - 0xc88]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [edi + 0x324]
mov dword [ebp - 0x48], eax
mov dword [edi + 0x33c], 0
imul eax, dword [edi + 0x33c], 0xeb
add eax, 0x14
mov dword [edi + 0x328], eax
mov dword [edi + 0x330], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x340], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10050af5
mov eax, dword [ebp - 0x48]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10050b01
lea eax, [ebp - 0x48]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0xf0], 0x64616568
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0xec], 0
movups xmmword [ebp - 0xd18], xmm0
mov dword [ebp - 0xd08], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xd04], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050b40
sub ecx, edx
lea eax, [ebp - 0xf0]
push ecx
push eax
lea ecx, [ebp - 0xd18]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x150], 0x73656863
mov word [ebp - 0x14c], 0x74
lea edx, [ecx + 1]
movups xmmword [ebp - 0xd00], xmm0
mov dword [ebp - 0xcf0], 0
mov dword [ebp - 0xcec], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050ba0
sub ecx, edx
lea eax, [ebp - 0x150]
push ecx
push eax
lea ecx, [ebp - 0xd00]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0x79646f62
mov byte [ebp - 0xf4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xce8], xmm0
mov dword [ebp - 0xcd8], 0
mov dword [ebp - 0xcd4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050bf8
sub ecx, edx
lea eax, [ebp - 0xf8]
push ecx
push eax
lea ecx, [ebp - 0xce8]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], 0x736d7261
mov byte [ebp - 0xfc], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xcd0], xmm0
mov dword [ebp - 0xcc0], 0
mov dword [ebp - 0xcbc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050c50
sub ecx, edx
lea eax, [ebp - 0x100]
push ecx
push eax
lea ecx, [ebp - 0xcd0]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x108], 0x7367656c
mov byte [ebp - 0x104], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xcb8], xmm0
mov dword [ebp - 0xca8], 0
mov dword [ebp - 0xca4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050ca8
sub ecx, edx
lea eax, [ebp - 0x108]
push ecx
push eax
lea ecx, [ebp - 0xcb8]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x110], 0x74656566
mov byte [ebp - 0x10c], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xca0], xmm0
mov dword [ebp - 0xc90], 0
mov dword [ebp - 0xc8c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050d00
sub ecx, edx
lea eax, [ebp - 0x110]
push ecx
push eax
lea ecx, [ebp - 0xca0]
call fcn.1001d5b0
lea eax, [ebp - 0x3da]
mov dword [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0xc88]
push ecx
lea edx, [ebp - 0xd18]
push edx
lea ecx, [ebp - 0x65c]
call fcn.1004c8f0
mov byte [ebp - 4], 0x1a
xor eax, eax
mov dword [ebp - 0x1c0], 0xced8c5c4
mov dword [ebp - 0x1bc], 0xc4f3d4c3
mov dword [ebp - 0x1b8], 0xc3d8dfc5
mov word [ebp - 0x1b4], 0xd5de
mov byte [ebp - 0x1b2], 0xac
nop word [eax + eax]
xor byte [ebp + eax - 0x1c0], 0xac
inc eax
cmp eax, 0xf
jb 0x10050d80
xorps xmm0, xmm0
mov dword [ebp - 0x5b8], 0
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x5b4], 0
movups xmmword [ebp - 0x5c8], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050db5
sub ecx, edx
lea eax, [ebp - 0x1c0]
push ecx
push eax
lea ecx, [ebp - 0x5c8]
call fcn.1001d5b0
mov byte [ebp - 4], 0x1b
xor eax, eax
mov dword [ebp - 0x1d0], 0xced8c5c4
mov dword [ebp - 0x1cc], 0xc48cd4c3
mov dword [ebp - 0x1c8], 0xc3d8dfc5
mov word [ebp - 0x1c4], 0xd5de
mov byte [ebp - 0x1c2], 0xac
nop word [eax + eax]
xor byte [ebp + eax - 0x1d0], 0xac
inc eax
cmp eax, 0xf
jb 0x10050e10
xorps xmm0, xmm0
mov dword [ebp - 0x5a0], 0
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x59c], 0
movups xmmword [ebp - 0x5b0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10050e45
sub ecx, edx
lea eax, [ebp - 0x1d0]
push ecx
push eax
lea ecx, [ebp - 0x5b0]
call fcn.1001d5b0
mov dword [ebp - 0x514], 0
mov dword [ebp - 0x510], 0
mov dword [ebp - 0x50c], 0
lea ecx, [edi + 0x404]
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x5c8]
cmp ecx, eax
je 0x10050ead
cmp dword [ebp - 0x5b4], 0x10
push dword [ebp - 0x5b8]
cmovae eax, dword [ebp - 0x5c8]
push eax
call fcn.10025620
lea ecx, [edi + 0x43c]
mov byte [edi + 0x435], 1
lea eax, [ebp - 0x5b0]
cmp ecx, eax
je 0x10050ede
cmp dword [ebp - 0x59c], 0x10
push dword [ebp - 0x5a0]
cmovae eax, dword [ebp - 0x5b0]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x435], al
cmovne eax, ecx
mov dword [edi + 0x470], eax
add eax, 0x14
mov dword [edi + 0x3dc], eax
mov dword [edi + 0x3e0], eax
mov ecx, dword [ebp - 0x658]
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x98], ecx
cmp eax, ecx
je 0x10050f5a
lea ecx, [edi + 0x454]
mov esi, eax
mov eax, dword [edi + 0x458]
push esi
cmp eax, dword [edi + 0x45c]
je 0x10050f40
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0x458], 0x18
jmp 0x10050f46
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0x454]
cmp esi, dword [ebp - 0x98]
jne 0x10050f21
lea esi, [edi + 0x18]
mov ecx, dword [ebp - 0x510]
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x9c], eax
cmp eax, ecx
je 0x1005100e
lea esi, [edi + 0x464]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x24], eax
push dword [esi + 4]
push dword [esi]
call fcn.100adb90
mov ecx, dword [esi + 4]
mov dword [ebp - 0x14], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x458]
sub ecx, dword [edi + 0x454]
imul ecx
mov ecx, dword [ebp - 0x24]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
jae 0x10050fdf
cmp eax, dword [edi + 0x46c]
je 0x10050fd0
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10050fdf
lea ecx, [ebp - 0x24]
push ecx
push eax
mov ecx, esi
call fcn.100333e0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jne 0x10050ff0
mov eax, dword [edi + 0x430]
test eax, eax
je 0x10050ff0
call eax
mov eax, dword [ebp - 0x9c]
add eax, 4
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x98]
jne 0x10050f80
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x514]
call fcn.1001faa0
lea ecx, [ebp - 0x5b0]
call fcn.1001f960
lea ecx, [ebp - 0x5c8]
call fcn.1001f960
lea ecx, [ebp - 0x65c]
call fcn.1003fb10
push fcn.1001f960
push 6
push 0x18
lea eax, [ebp - 0xd18]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [edi + 0x3cc]
mov dword [ebp - 0x60], eax
mov dword [edi + 0x3e4], 0
imul eax, dword [edi + 0x3e4], 0xeb
add eax, 0x14
mov dword [edi + 0x3d0], eax
mov dword [edi + 0x3d8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3e8], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100510a2
mov eax, dword [ebp - 0x60]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100510ae
lea eax, [ebp - 0x60]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0xa8], 0x64616568
lea ecx, [ebp - 0xa8]
mov byte [ebp - 0xa4], 0
movups xmmword [ebp - 0xbf8], xmm0
mov dword [ebp - 0xbe8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xbe4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100510e6
sub ecx, edx
lea eax, [ebp - 0xa8]
push ecx
push eax
lea ecx, [ebp - 0xbf8]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x148], 0x73656863
mov word [ebp - 0x144], 0x74
lea edx, [ecx + 1]
movups xmmword [ebp - 0xbe0], xmm0
mov dword [ebp - 0xbd0], 0
mov dword [ebp - 0xbcc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051143
sub ecx, edx
lea eax, [ebp - 0x148]
push ecx
push eax
lea ecx, [ebp - 0xbe0]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0x79646f62
mov byte [ebp - 0xac], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xbc8], xmm0
mov dword [ebp - 0xbb8], 0
mov dword [ebp - 0xbb4], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100511a0
sub ecx, edx
lea eax, [ebp - 0xb0]
push ecx
push eax
lea ecx, [ebp - 0xbc8]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], 0x7367656c
mov byte [ebp - 0xb4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xbb0], xmm0
mov dword [ebp - 0xba0], 0
mov dword [ebp - 0xb9c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100511f8
sub ecx, edx
lea eax, [ebp - 0xb8]
push ecx
push eax
lea ecx, [ebp - 0xbb0]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc0], 0x74656566
mov byte [ebp - 0xbc], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xb98], xmm0
mov dword [ebp - 0xb88], 0
mov dword [ebp - 0xb84], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051250
sub ecx, edx
lea eax, [ebp - 0xc0]
push ecx
push eax
lea ecx, [ebp - 0xb98]
call fcn.1001d5b0
lea eax, [ebp - 0x3d9]
mov dword [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0xb80]
push ecx
lea edx, [ebp - 0xbf8]
push edx
lea ecx, [ebp - 0x668]
call fcn.1004c8f0
mov byte [ebp - 4], 0x23
xor eax, eax
mov dword [ebp - 0x128], 0xd8c0d9c1
mov dword [ebp - 0x124], 0xc5c3dcc5
mov word [ebp - 0x120], 0xd8c2
mov byte [ebp - 0x11e], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x128], 0xac
inc eax
cmp eax, 0xb
jb 0x100512c0
xorps xmm0, xmm0
mov dword [ebp - 0x5e8], 0
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x5e4], 0
movups xmmword [ebp - 0x5f8], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100512f5
sub ecx, edx
lea eax, [ebp - 0x128]
push ecx
push eax
lea ecx, [ebp - 0x5f8]
call fcn.1001d5b0
mov byte [ebp - 4], 0x24
xor eax, eax
mov dword [ebp - 0x134], 0xd8c0d9c1
mov dword [ebp - 0x130], 0xc3dc81c5
mov dword [ebp - 0x12c], 0xacd8c2c5
nop word [eax + eax]
xor byte [ebp + eax - 0x134], 0xac
inc eax
cmp eax, 0xc
jb 0x10051340
xorps xmm0, xmm0
mov dword [ebp - 0x5d0], 0
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x5cc], 0
movups xmmword [ebp - 0x5e0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051375
sub ecx, edx
lea eax, [ebp - 0x134]
push ecx
push eax
lea ecx, [ebp - 0x5e0]
call fcn.1001d5b0
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], 0
lea ecx, [edi + 0x4ac]
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x5f8]
cmp ecx, eax
je 0x100513dd
cmp dword [ebp - 0x5e4], 0x10
push dword [ebp - 0x5e8]
cmovae eax, dword [ebp - 0x5f8]
push eax
call fcn.10025620
lea ecx, [edi + 0x4e4]
mov byte [edi + 0x4dd], 1
lea eax, [ebp - 0x5e0]
cmp ecx, eax
je 0x1005140e
cmp dword [ebp - 0x5cc], 0x10
push dword [ebp - 0x5d0]
cmovae eax, dword [ebp - 0x5e0]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x4dd], al
cmovne eax, ecx
mov dword [edi + 0x518], eax
add eax, 0x14
mov dword [edi + 0x484], eax
mov dword [edi + 0x488], eax
mov ecx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x98], ecx
cmp eax, ecx
je 0x1005148a
lea ecx, [edi + 0x4fc]
mov esi, eax
mov eax, dword [edi + 0x500]
push esi
cmp eax, dword [edi + 0x504]
je 0x10051470
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0x500], 0x18
jmp 0x10051476
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0x4fc]
cmp esi, dword [ebp - 0x98]
jne 0x10051451
lea esi, [edi + 0x18]
mov ecx, dword [ebp - 0x51c]
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x9c], eax
cmp eax, ecx
je 0x1005153e
lea esi, [edi + 0x50c]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x20], eax
push dword [esi + 4]
push dword [esi]
call fcn.100adb90
mov ecx, dword [esi + 4]
mov dword [ebp - 0x14], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x500]
sub ecx, dword [edi + 0x4fc]
imul ecx
mov ecx, dword [ebp - 0x20]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
jae 0x1005150f
cmp eax, dword [edi + 0x514]
je 0x10051500
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005150f
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.100333e0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jne 0x10051520
mov eax, dword [edi + 0x4d8]
test eax, eax
je 0x10051520
call eax
mov eax, dword [ebp - 0x9c]
add eax, 4
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x98]
jne 0x100514b0
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x520]
call fcn.1001faa0
lea ecx, [ebp - 0x5e0]
call fcn.1001f960
lea ecx, [ebp - 0x5f8]
call fcn.1001f960
lea ecx, [ebp - 0x668]
call fcn.1003fb10
push fcn.1001f960
push 5
push 0x18
lea eax, [ebp - 0xbf8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [edi + 0x474]
mov dword [ebp - 0x64], eax
mov dword [edi + 0x48c], 0
imul eax, dword [edi + 0x48c], 0xeb
add eax, 0x14
mov dword [edi + 0x478], eax
mov dword [edi + 0x480], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x490], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100515d2
mov eax, dword [ebp - 0x64]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100515de
lea eax, [ebp - 0x64]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x414]
mov dword [ebp - 0x414], 0x25
push eax
lea ecx, [ebp - 0x860]
call fcn.1004c860
mov dword [ebp - 4], 0x27
xor eax, eax
mov dword [ebp - 0x230], 0xced8c5c4
mov dword [ebp - 0x22c], 0xdff3d4c3
mov dword [ebp - 0x228], 0xc9c0cdcf
mov byte [ebp - 0x224], 0xac
nop dword [eax + eax]
xor byte [ebp + eax - 0x230], 0xac
inc eax
cmp eax, 0xd
jb 0x10051630
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x848]
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x28
push 0x100bbcd7
lea ecx, [ebp - 0xb50]
mov dword [ebp - 0xb40], 0
movups xmmword [ebp - 0xb50], xmm0
mov dword [ebp - 0xb3c], 0
call fcn.1001d5b0
lea ecx, [edi + 0x554]
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x848]
cmp ecx, eax
je 0x100516b2
cmp dword [ebp - 0x834], 0x10
push dword [ebp - 0x838]
cmovae eax, dword [ebp - 0x848]
push eax
call fcn.10025620
mov byte [edi + 0x585], 0
lea ecx, [edi + 0x5bc]
mov dword [edi + 0x5d4], 0
lea eax, [ebp - 0x860]
mov dword [edi + 0x52c], 8
mov dword [edi + 0x530], 8
mov dword [edi + 0x590], 0x3f800000
mov dword [edi + 0x594], 0x42c80000
mov dword [edi + 0x58c], 0x42b40000
mov dword [edi + 0x5a0], 0
mov dword [edi + 0x598], 0x3f800000
cmp ecx, eax
je 0x10051733
cmp dword [ebp - 0x84c], 8
push dword [ebp - 0x850]
cmovae eax, dword [ebp - 0x860]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xb50]
call fcn.1001f960
lea ecx, [ebp - 0x848]
call fcn.1001f960
lea ecx, [ebp - 0x860]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea ecx, [edi + 0x574]
mov dword [ebp - 0x94], 0x10029970
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1005177f
mov dword [eax], 0x10029970
add dword [ecx + 4], 4
jmp 0x1005178c
lea edx, [ebp - 0x94]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0x51c]
mov dword [ebp - 0x68], eax
mov dword [edi + 0x534], 0
imul eax, dword [edi + 0x534], 0xeb
add eax, 0x14
mov dword [edi + 0x520], eax
mov dword [edi + 0x528], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x538], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100517d8
mov eax, dword [ebp - 0x68]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100517e4
lea eax, [ebp - 0x68]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x410]
mov dword [ebp - 0x410], 0x25
push eax
lea ecx, [ebp - 0x8a8]
call fcn.1004c860
movaps xmm0, xmmword [0x100bb620]
mov eax, 0x10
pxor xmm0, xmmword [0x100bccd0]
mov dword [ebp - 4], 0x2a
mov word [ebp - 0x66c], 0xacc9
movups xmmword [ebp - 0x67c], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x67c], 0xac
inc eax
cmp eax, 0x12
jb 0x10051830
lea eax, [ebp - 0x67c]
push eax
lea ecx, [ebp - 0x890]
call fcn.10034dd0
movaps xmm0, xmmword [0x100bb620]
mov eax, 0x10
pxor xmm0, xmmword [0x100bccc0]
mov byte [ebp - 4], 0x2b
mov word [ebp - 0x640], 0xacc9
movups xmmword [ebp - 0x650], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x650], 0xac
inc eax
cmp eax, 0x12
jb 0x10051880
lea eax, [ebp - 0x650]
push eax
lea ecx, [ebp - 0x878]
call fcn.10034dd0
lea ecx, [edi + 0x610]
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x890]
cmp ecx, eax
je 0x100518ce
cmp dword [ebp - 0x87c], 0x10
push dword [ebp - 0x880]
cmovae eax, dword [ebp - 0x890]
push eax
call fcn.10025620
lea ecx, [edi + 0x660]
mov byte [edi + 0x641], 1
lea eax, [ebp - 0x878]
cmp ecx, eax
je 0x100518ff
cmp dword [ebp - 0x864], 0x10
push dword [ebp - 0x868]
cmovae eax, dword [ebp - 0x878]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x641], al
cmovne eax, ecx
lea ecx, [edi + 0x678]
mov dword [edi + 0x690], eax
add eax, 8
mov dword [edi + 0x5e8], eax
mov dword [edi + 0x5ec], eax
lea eax, [ebp - 0x8a8]
mov dword [edi + 0x64c], 0x3f800000
mov dword [edi + 0x650], 0x42c80000
mov dword [edi + 0x648], 0x42480000
mov dword [edi + 0x65c], 0
mov dword [edi + 0x654], 0x3f800000
cmp ecx, eax
je 0x10051980
cmp dword [ebp - 0x894], 8
push dword [ebp - 0x898]
cmovae eax, dword [ebp - 0x8a8]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0x878]
call fcn.1001f960
lea ecx, [ebp - 0x890]
call fcn.1001f960
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x630]
mov dword [ebp - 0x88], 0x10029950
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x100519cc
mov dword [ecx], 0x10029950
add dword [eax + 4], 4
jmp 0x100519e1
lea edx, [ebp - 0x88]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x630]
mov dword [ebp - 0x90], 0x10029730
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x100519ff
mov dword [ecx], 0x10029730
add dword [eax + 4], 4
jmp 0x10051a0e
lea edx, [ebp - 0x90]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x5d8]
mov dword [ebp - 0x6c], eax
mov dword [edi + 0x5f0], 0
imul eax, dword [edi + 0x5f0], 0xeb
add eax, 0x14
mov dword [edi + 0x5dc], eax
mov dword [edi + 0x5e4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x5f4], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10051a5a
mov eax, dword [ebp - 0x6c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10051a66
lea eax, [ebp - 0x6c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
push 0x100bc5bc
lea ecx, [ebp - 0x8f0]
call fcn.1004c860
mov dword [ebp - 4], 0x2d
xor eax, eax
mov dword [ebp - 0x2b8], 0xc5c2c5c1
mov dword [ebp - 0x2b4], 0xf3c0cdc1
mov dword [ebp - 0x2b0], 0xcdc1cdc8
mov word [ebp - 0x2ac], 0xc9cb
mov byte [ebp - 0x2aa], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x2b8], 0xac
inc eax
cmp eax, 0xf
jb 0x10051ab0
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x8d8]
call fcn.10034dd0
mov byte [ebp - 4], 0x2e
xor eax, eax
mov dword [ebp - 0x2c8], 0xc5c2c5c1
mov dword [ebp - 0x2c4], 0x8cc0cdc1
mov dword [ebp - 0x2c0], 0xcdc1cdc8
mov word [ebp - 0x2bc], 0xc9cb
mov byte [ebp - 0x2ba], 0xac
xor byte [ebp + eax - 0x2c8], 0xac
inc eax
cmp eax, 0xf
jb 0x10051b04
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.10034dd0
lea ecx, [edi + 0x754]
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x8d8]
cmp ecx, eax
je 0x10051b52
cmp dword [ebp - 0x8c4], 0x10
push dword [ebp - 0x8c8]
cmovae eax, dword [ebp - 0x8d8]
push eax
call fcn.10025620
lea ecx, [edi + 0x7a4]
mov byte [edi + 0x785], 1
lea eax, [ebp - 0x8c0]
cmp ecx, eax
je 0x10051b83
cmp dword [ebp - 0x8ac], 0x10
push dword [ebp - 0x8b0]
cmovae eax, dword [ebp - 0x8c0]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x785], al
cmovne eax, ecx
lea ecx, [edi + 0x7bc]
mov dword [edi + 0x7d4], eax
add eax, 8
mov dword [edi + 0x72c], eax
mov dword [edi + 0x730], eax
lea eax, [ebp - 0x8f0]
mov dword [edi + 0x790], 0x3f800000
mov dword [edi + 0x794], 0x42d20000
mov dword [edi + 0x78c], 0x42200000
mov dword [edi + 0x7a0], 0
mov dword [edi + 0x798], 0x3f800000
cmp ecx, eax
je 0x10051c04
cmp dword [ebp - 0x8dc], 8
push dword [ebp - 0x8e0]
cmovae eax, dword [ebp - 0x8f0]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0x8c0]
call fcn.1001f960
lea ecx, [ebp - 0x8d8]
call fcn.1001f960
lea ecx, [ebp - 0x8f0]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x71c]
mov dword [ebp - 0x70], eax
mov dword [edi + 0x734], 0
imul eax, dword [edi + 0x734], 0xeb
add eax, 0x14
mov dword [edi + 0x720], eax
mov dword [edi + 0x728], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x738], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10051c78
mov eax, dword [ebp - 0x70]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10051c84
lea eax, [ebp - 0x70]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x3b4]
mov dword [ebp - 0x3b4], 0x656e6570
push eax
lea ecx, [ebp - 0x920]
mov dword [ebp - 0x3b0], 0x74617274
mov word [ebp - 0x3ac], 0x65
call fcn.10034dd0
movaps xmm0, xmmword [0x100bb620]
lea eax, [ebp - 0xddc]
pxor xmm0, xmmword [0x100bcb90]
lea ecx, [ebp - 0x908]
push eax
mov dword [ebp - 4], 0x30
movups xmmword [ebp - 0xddc], xmm0
call fcn.10034dd0
lea ecx, [edi + 0x898]
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x920]
cmp ecx, eax
je 0x10051d10
cmp dword [ebp - 0x90c], 0x10
push dword [ebp - 0x910]
cmovae eax, dword [ebp - 0x920]
push eax
call fcn.10025620
lea ecx, [edi + 0x8d0]
mov byte [edi + 0x8c9], 1
lea eax, [ebp - 0x908]
cmp ecx, eax
je 0x10051d41
cmp dword [ebp - 0x8f4], 0x10
push dword [ebp - 0x8f8]
cmovae eax, dword [ebp - 0x908]
push eax
call fcn.10025620
lea ecx, [ebp - 0x908]
mov byte [edi + 0x8cc], 0
call fcn.1001f960
lea ecx, [ebp - 0x920]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [edi + 0x860]
mov dword [ebp - 0x5c], eax
mov dword [edi + 0x878], 0
imul eax, dword [edi + 0x878], 0xeb
add eax, 0x14
mov dword [edi + 0x864], eax
mov dword [edi + 0x86c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x87c], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10051db1
mov eax, dword [ebp - 0x5c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10051dbd
lea eax, [ebp - 0x5c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x384]
mov dword [ebp - 0x384], 0x66696e6b
push eax
lea ecx, [ebp - 0x950]
mov dword [ebp - 0x380], 0x746f6265
mov byte [ebp - 0x37c], 0
call fcn.10034dd0
movaps xmm0, xmmword [0x100bb620]
mov eax, 0x10
pxor xmm0, xmmword [0x100bd0e0]
mov dword [ebp - 4], 0x32
mov word [ebp - 0x68c], 0xacc9
movups xmmword [ebp - 0x69c], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x69c], 0xac
inc eax
cmp eax, 0x12
jb 0x10051e20
lea eax, [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x938]
call fcn.10034dd0
lea ecx, [edi + 0xa64]
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x950]
cmp ecx, eax
je 0x10051e6e
cmp dword [ebp - 0x93c], 0x10
push dword [ebp - 0x940]
cmovae eax, dword [ebp - 0x950]
push eax
call fcn.10025620
lea ecx, [edi + 0xa9c]
mov byte [edi + 0xa95], 1
lea eax, [ebp - 0x938]
cmp ecx, eax
je 0x10051e9f
cmp dword [ebp - 0x924], 0x10
push dword [ebp - 0x928]
cmovae eax, dword [ebp - 0x938]
push eax
call fcn.10025620
lea ecx, [ebp - 0x938]
mov byte [edi + 0xa98], 0
call fcn.1001f960
lea ecx, [ebp - 0x950]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [edi + 0xa2c]
mov dword [ebp - 0x74], eax
mov dword [edi + 0xa44], 0
imul eax, dword [edi + 0xa44], 0xeb
add eax, 0x14
mov dword [edi + 0xa30], eax
mov dword [edi + 0xa38], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xa48], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10051f0f
mov eax, dword [ebp - 0x74]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10051f1b
lea eax, [ebp - 0x74]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x368]
mov dword [ebp - 0x368], 0x7375657a
push eax
lea ecx, [ebp - 0x980]
mov dword [ebp - 0x364], 0x746f62
call fcn.10034dd0
movaps xmm0, xmmword [0x100bb620]
mov eax, 0x10
pxor xmm0, xmmword [0x100bd0a0]
mov dword [ebp - 4], 0x34
mov word [ebp - 0x6a0], 0xacde
movups xmmword [ebp - 0x6b0], xmm0
nop dword [eax]
xor byte [ebp + eax - 0x6b0], 0xac
inc eax
cmp eax, 0x12
jb 0x10051f70
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x968]
call fcn.10034dd0
lea ecx, [edi + 0xaec]
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x980]
cmp ecx, eax
je 0x10051fbe
cmp dword [ebp - 0x96c], 0x10
push dword [ebp - 0x970]
cmovae eax, dword [ebp - 0x980]
push eax
call fcn.10025620
lea ecx, [edi + 0xb24]
mov byte [edi + 0xb1d], 1
lea eax, [ebp - 0x968]
cmp ecx, eax
je 0x10051fef
cmp dword [ebp - 0x954], 0x10
push dword [ebp - 0x958]
cmovae eax, dword [ebp - 0x968]
push eax
call fcn.10025620
lea ecx, [ebp - 0x968]
mov byte [edi + 0xb20], 0
call fcn.1001f960
lea ecx, [ebp - 0x980]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [edi + 0xab4]
mov dword [ebp - 0x38], eax
mov dword [edi + 0xacc], 0
imul eax, dword [edi + 0xacc], 0xeb
add eax, 0x14
mov dword [edi + 0xab8], eax
mov dword [edi + 0xac0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xad0], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1005205f
mov eax, dword [ebp - 0x38]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x1005206b
lea eax, [ebp - 0x38]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xor eax, eax
lea ecx, [ebp - 0x9c8]
mov word [ebp - 0x3f8], ax
lea eax, [ebp - 0x3f8]
push eax
call fcn.1004c860
movaps xmm0, xmmword [0x100bb620]
lea eax, [ebp - 0xd2c]
pxor xmm0, xmmword [0x100bcf40]
lea ecx, [ebp - 0x9b0]
push eax
mov dword [ebp - 4], 0x36
movups xmmword [ebp - 0xd2c], xmm0
mov byte [ebp - 0xd1c], 0
call fcn.10034dd0
movaps xmm0, xmmword [0x100bb620]
lea eax, [ebp - 0xd40]
pxor xmm0, xmmword [0x100bcf30]
lea ecx, [ebp - 0x998]
push eax
mov byte [ebp - 4], 0x37
movups xmmword [ebp - 0xd40], xmm0
mov byte [ebp - 0xd30], 0
call fcn.10034dd0
lea ecx, [edi + 0x1b60]
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x9b0]
cmp ecx, eax
je 0x1005211d
cmp dword [ebp - 0x99c], 0x10
push dword [ebp - 0x9a0]
cmovae eax, dword [ebp - 0x9b0]
push eax
call fcn.10025620
lea ecx, [edi + 0x1bb0]
mov byte [edi + 0x1b91], 1
lea eax, [ebp - 0x998]
cmp ecx, eax
je 0x1005214e
cmp dword [ebp - 0x984], 0x10
push dword [ebp - 0x988]
cmovae eax, dword [ebp - 0x998]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1b91], al
cmovne eax, ecx
lea ecx, [edi + 0x1bc8]
mov dword [edi + 0x1be0], eax
add eax, 8
mov dword [edi + 0x1b38], eax
mov dword [edi + 0x1b3c], eax
lea eax, [ebp - 0x9c8]
mov dword [edi + 0x1b9c], 0x3f800000
mov dword [edi + 0x1ba0], 0x40c00000
mov dword [edi + 0x1b98], 0x40a00000
mov dword [edi + 0x1bac], 0
mov dword [edi + 0x1ba4], 0x3f800000
cmp ecx, eax
je 0x100521cf
cmp dword [ebp - 0x9b4], 8
push dword [ebp - 0x9b8]
cmovae eax, dword [ebp - 0x9c8]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0x998]
call fcn.1001f960
lea ecx, [ebp - 0x9b0]
call fcn.1001f960
lea ecx, [ebp - 0x9c8]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x1b28]
mov dword [ebp - 0x3c], eax
mov dword [edi + 0x1b40], 0
imul eax, dword [edi + 0x1b40], 0xeb
add eax, 0x14
mov dword [edi + 0x1b2c], eax
mov dword [edi + 0x1b34], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1b44], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10052243
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x1005224f
lea eax, [ebp - 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x1e0], 0x66666f
push eax
lea ecx, [ebp - 0xe84]
call fcn.10034dd0
lea eax, [ebp - 0x358]
mov dword [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0xe6c]
mov dword [ebp - 0x358], 0x61776c61
mov word [ebp - 0x354], 0x7379
mov byte [ebp - 0x352], 0
call fcn.10034dd0
mov byte [ebp - 4], 0x3a
xor eax, eax
mov dword [ebp - 0x2d8], 0xcfd8c5c4
mov dword [ebp - 0x2d4], 0xcfc2cdc4
mov dword [ebp - 0x2d0], 0xcdca8cc9
mov word [ebp - 0x2cc], 0xc0c5
mov byte [ebp - 0x2ca], 0xac
xor byte [ebp + eax - 0x2d8], 0xac
inc eax
cmp eax, 0xf
jb 0x100522d2
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0xe54]
call fcn.10034dd0
lea eax, [ebp - 0x406]
mov dword [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0xe3c]
push ecx
lea edx, [ebp - 0xe84]
push edx
lea ecx, [ebp - 0x734]
call fcn.1004c8f0
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x9f8]
mov dword [ebp - 0x2a0], 0x6d6f6f7a
mov byte [ebp - 0x29c], 0
call fcn.10034dd0
mov byte [ebp - 4], 0x3d
xor eax, eax
mov dword [ebp - 0x1b0], 0xc3d8d9cd
mov dword [ebp - 0x1ac], 0xc3cfdf8c
mov word [ebp - 0x1a8], 0xc9dc
mov byte [ebp - 0x1a6], 0xac
nop word [eax + eax]
xor byte [ebp + eax - 0x1b0], 0xac
inc eax
cmp eax, 0xb
jb 0x10052370
lea eax, [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.10034dd0
lea ecx, [edi + 0xec0]
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x9f8]
cmp ecx, eax
je 0x100523be
cmp dword [ebp - 0x9e4], 0x10
push dword [ebp - 0x9e8]
cmovae eax, dword [ebp - 0x9f8]
push eax
call fcn.10025620
lea ecx, [edi + 0xef8]
mov byte [edi + 0xef1], 1
lea eax, [ebp - 0x9e0]
cmp ecx, eax
je 0x100523ef
cmp dword [ebp - 0x9cc], 0x10
push dword [ebp - 0x9d0]
cmovae eax, dword [ebp - 0x9e0]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xef1], al
cmovne eax, ecx
mov dword [edi + 0xf24], eax
add eax, 0x14
mov dword [edi + 0xe98], eax
mov dword [edi + 0xe9c], eax
mov ecx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x734]
mov dword [ebp - 0x98], ecx
cmp eax, ecx
je 0x1005246b
lea ecx, [edi + 0xf10]
mov esi, eax
mov eax, dword [edi + 0xf14]
push esi
cmp eax, dword [edi + 0xf18]
je 0x10052451
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0xf14], 0x18
jmp 0x10052457
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0xf10]
cmp esi, dword [ebp - 0x98]
jne 0x10052432
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0xf14]
lea eax, [edi + 0xf10]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10052496
mov dword [edi + 0xf20], 0
lea ecx, [ebp - 0x9e0]
call fcn.1001f960
lea ecx, [ebp - 0x9f8]
call fcn.1001f960
lea ecx, [ebp - 0x734]
call fcn.1003fb10
push fcn.1001f960
push 3
push 0x18
lea eax, [ebp - 0xe84]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [edi + 0xe88]
mov dword [ebp - 0x40], eax
mov dword [edi + 0xea0], 1
imul eax, dword [edi + 0xea0], 0xeb
add eax, 0x14
mov dword [edi + 0xe8c], eax
mov dword [edi + 0xe94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xea4], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1005251f
mov eax, dword [ebp - 0x40]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x1005252b
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x390]
mov dword [ebp - 0x390], 0x70736f6e
push eax
lea ecx, [ebp - 0xa28]
mov dword [ebp - 0x38c], 0x64616572
mov byte [ebp - 0x388], 0
call fcn.10034dd0
movaps xmm0, xmmword [0x100bb620]
mov eax, 0x10
pxor xmm0, xmmword [0x100bd180]
mov dword [ebp - 4], 0x3f
mov word [ebp - 0x6b4], 0xacc8
movups xmmword [ebp - 0x6c4], xmm0
xor byte [ebp + eax - 0x6c4], 0xac
inc eax
cmp eax, 0x12
jb 0x10052583
lea eax, [ebp - 0x6c4]
push eax
lea ecx, [ebp - 0xa10]
call fcn.10034dd0
lea ecx, [edi + 0xf60]
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0xa28]
cmp ecx, eax
je 0x100525d1
cmp dword [ebp - 0xa14], 0x10
push dword [ebp - 0xa18]
cmovae eax, dword [ebp - 0xa28]
push eax
call fcn.10025620
lea ecx, [edi + 0xf98]
mov byte [edi + 0xf91], 1
lea eax, [ebp - 0xa10]
cmp ecx, eax
je 0x10052602
cmp dword [ebp - 0x9fc], 0x10
push dword [ebp - 0xa00]
cmovae eax, dword [ebp - 0xa10]
push eax
call fcn.10025620
lea ecx, [ebp - 0xa10]
mov byte [edi + 0xf94], 0
call fcn.1001f960
lea ecx, [ebp - 0xa28]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea ecx, [edi + 0xf80]
mov dword [ebp - 0x84], 0x10029890
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1005264a
mov dword [eax], 0x10029890
add dword [ecx + 4], 4
jmp 0x10052657
lea edx, [ebp - 0x84]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0xf28]
mov dword [ebp - 0x44], eax
mov dword [edi + 0xf40], 1
imul eax, dword [edi + 0xf40], 0xeb
add eax, 0x14
mov dword [edi + 0xf2c], eax
mov dword [edi + 0xf34], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf44], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100526a3
mov eax, dword [ebp - 0x44]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100526af
lea eax, [ebp - 0x44]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x39c]
mov dword [ebp - 0x39c], 0x65726f6e
push eax
lea ecx, [ebp - 0xa58]
mov dword [ebp - 0x398], 0x6c696f63
mov byte [ebp - 0x394], 0
call fcn.10034dd0
movaps xmm0, xmmword [0x100bb620]
mov eax, 0x10
pxor xmm0, xmmword [0x100bce80]
mov dword [ebp - 4], 0x41
mov word [ebp - 0x6c8], 0xacc0
movups xmmword [ebp - 0x6d8], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x6d8], 0xac
inc eax
cmp eax, 0x12
jb 0x10052710
lea eax, [ebp - 0x6d8]
push eax
lea ecx, [ebp - 0xa40]
call fcn.10034dd0
lea ecx, [edi + 0xfe8]
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0xa58]
cmp ecx, eax
je 0x1005275e
cmp dword [ebp - 0xa44], 0x10
push dword [ebp - 0xa48]
cmovae eax, dword [ebp - 0xa58]
push eax
call fcn.10025620
lea ecx, [edi + 0x1020]
mov byte [edi + 0x1019], 1
lea eax, [ebp - 0xa40]
cmp ecx, eax
je 0x1005278f
cmp dword [ebp - 0xa2c], 0x10
push dword [ebp - 0xa30]
cmovae eax, dword [ebp - 0xa40]
push eax
call fcn.10025620
lea ecx, [ebp - 0xa40]
mov byte [edi + 0x101c], 0
call fcn.1001f960
lea ecx, [ebp - 0xa58]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [edi + 0xfb0]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xfc8], 1
imul eax, dword [edi + 0xfc8], 0xeb
add eax, 0x14
mov dword [edi + 0xfb4], eax
mov dword [edi + 0xfbc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xfcc], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100527ff
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x1005280b
lea eax, [ebp - 0x2c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x3c0]
mov dword [ebp - 0x3c0], 0x63746968
push eax
lea ecx, [ebp - 0xa88]
mov dword [ebp - 0x3bc], 0x636e6168
mov word [ebp - 0x3b8], 0x65
call fcn.10034dd0
lea eax, [ebp - 0x3cc]
mov dword [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0xa70]
mov dword [ebp - 0x3cc], 0x63746968
mov dword [ebp - 0x3c8], 0x636e6168
mov word [ebp - 0x3c4], 0x65
call fcn.10034dd0
lea ecx, [edi + 0x1070]
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0xa88]
cmp ecx, eax
je 0x1005289e