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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b5139
mov eax, dword fs:[0]
push eax
mov eax, 0x10e0
call fcn.100ae5c0
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 esi, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x98], 0x6373696d
lea ecx, [ebp - 0x98]
mov byte [ebp - 0x94], 0
movups xmmword [ebp - 0x44c], xmm0
mov dword [ebp - 0x43c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x438], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064d90
sub ecx, edx
lea eax, [ebp - 0x98]
push ecx
push eax
lea ecx, [ebp - 0x44c]
call fcn.1001d5b0
lea eax, [ebp - 0x44c]
mov dword [ebp - 4], 0
cmp esi, eax
je 0x10064dd9
cmp dword [ebp - 0x438], 0x10
mov ecx, esi
push dword [ebp - 0x43c]
cmovae eax, dword [ebp - 0x44c]
push eax
call fcn.10025620
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x10064e1a
mov edx, dword [ebp - 0x44c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10064e10
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100658d6
push ecx
push edx
call fcn.100ae001
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x43c], 0
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x438], 0xf
mov byte [ebp - 0x44c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x208], 0x696c6167
mov dword [ebp - 0x204], 0x72616c
movups xmmword [ebp - 0xef4], xmm0
mov dword [ebp - 0xee4], 0
mov dword [ebp - 0xee0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064e70
sub ecx, edx
lea eax, [ebp - 0x208]
push ecx
push eax
lea ecx, [ebp - 0xef4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0x616d6166
mov word [ebp - 0x13c], 0x73
lea edx, [ecx + 1]
movups xmmword [ebp - 0xedc], xmm0
mov dword [ebp - 0xecc], 0
mov dword [ebp - 0xec8], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064ed0
sub ecx, edx
lea eax, [ebp - 0x140]
push ecx
push eax
lea ecx, [ebp - 0xedc]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x37346b61
mov byte [ebp - 0x9c], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xec4], xmm0
mov dword [ebp - 0xeb4], 0
mov dword [ebp - 0xeb0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064f28
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0xec4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0x3161346d
mov byte [ebp - 0xa4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xeac], xmm0
mov dword [ebp - 0xe9c], 0
mov dword [ebp - 0xe98], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064f80
sub ecx, edx
lea eax, [ebp - 0xa8]
push ecx
push eax
lea ecx, [ebp - 0xeac]
call fcn.1001d5b0
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x190], 0x9dcd98c1
mov dword [ebp - 0x18c], 0xc0c5dff3
mov dword [ebp - 0x188], 0xc9cfc2c9
mov word [ebp - 0x184], 0xacde
nop dword [eax]
xor byte [ebp + eax - 0x190], 0xac
inc eax
cmp eax, 0xe
jb 0x10064fd0
xorps xmm0, xmm0
mov dword [ebp - 0xe84], 0
lea ecx, [ebp - 0x190]
mov dword [ebp - 0xe80], 0
movups xmmword [ebp - 0xe94], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065005
sub ecx, edx
lea eax, [ebp - 0x190]
push ecx
push eax
lea ecx, [ebp - 0xe94]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], 0x30677373
mov word [ebp - 0x134], 0x38
lea edx, [ecx + 1]
movups xmmword [ebp - 0xe7c], xmm0
mov dword [ebp - 0xe6c], 0
mov dword [ebp - 0xe68], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065060
sub ecx, edx
lea eax, [ebp - 0x138]
push ecx
push eax
lea ecx, [ebp - 0xe7c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x677561
movups xmmword [ebp - 0xe64], xmm0
mov dword [ebp - 0xe54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe50], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100650b0
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0xe64]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x148], 0x35356773
mov word [ebp - 0x144], 0x36
lea edx, [ecx + 1]
movups xmmword [ebp - 0xe4c], xmm0
mov dword [ebp - 0xe3c], 0
mov dword [ebp - 0xe38], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065107
sub ecx, edx
lea eax, [ebp - 0x148]
push ecx
push eax
lea ecx, [ebp - 0xe4c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x707761
movups xmmword [ebp - 0xe34], xmm0
mov dword [ebp - 0xe24], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe20], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065152
sub ecx, edx
lea eax, [ebp - 0x70]
push ecx
push eax
lea ecx, [ebp - 0xe34]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x178], 0x72616373
mov word [ebp - 0x174], 0x3032
lea edx, [ecx + 1]
mov byte [ebp - 0x172], 0
movups xmmword [ebp - 0xe1c], xmm0
mov dword [ebp - 0xe0c], 0
mov dword [ebp - 0xe08], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100651b0
sub ecx, edx
lea eax, [ebp - 0x178]
push ecx
push eax
lea ecx, [ebp - 0xe1c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x130], 0x67733367
mov word [ebp - 0x12c], 0x31
lea edx, [ecx + 1]
movups xmmword [ebp - 0xe04], xmm0
mov dword [ebp - 0xdf4], 0
mov dword [ebp - 0xdf0], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065210
sub ecx, edx
lea eax, [ebp - 0x130]
push ecx
push eax
lea ecx, [ebp - 0xe04]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0x61766f6e
mov byte [ebp - 0xac], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xdec], xmm0
mov dword [ebp - 0xddc], 0
mov dword [ebp - 0xdd8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065268
sub ecx, edx
lea eax, [ebp - 0xb0]
push ecx
push eax
lea ecx, [ebp - 0xdec]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x180], 0x30316d78
mov word [ebp - 0x17c], 0x3431
lea edx, [ecx + 1]
mov byte [ebp - 0x17a], 0
movups xmmword [ebp - 0xdd4], xmm0
mov dword [ebp - 0xdc4], 0
mov dword [ebp - 0xdc0], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100652d0
sub ecx, edx
lea eax, [ebp - 0x180]
push ecx
push eax
lea ecx, [ebp - 0xdd4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], 0x3767616d
mov byte [ebp - 0xb4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xdbc], xmm0
mov dword [ebp - 0xdac], 0
mov dword [ebp - 0xda8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065328
sub ecx, edx
lea eax, [ebp - 0xb8]
push ecx
push eax
lea ecx, [ebp - 0xdbc]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc0], 0x3934326d
mov byte [ebp - 0xbc], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xda4], xmm0
mov dword [ebp - 0xd94], 0
mov dword [ebp - 0xd90], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065380
sub ecx, edx
lea eax, [ebp - 0xc0]
push ecx
push eax
lea ecx, [ebp - 0xda4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x128], 0x6567656e
mov word [ebp - 0x124], 0x76
lea edx, [ecx + 1]
movups xmmword [ebp - 0xd8c], xmm0
mov dword [ebp - 0xd7c], 0
mov dword [ebp - 0xd78], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100653e0
sub ecx, edx
lea eax, [ebp - 0x128]
push ecx
push eax
lea ecx, [ebp - 0xd8c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x120], 0x3163616d
mov word [ebp - 0x11c], 0x30
lea edx, [ecx + 1]
movups xmmword [ebp - 0xd74], xmm0
mov dword [ebp - 0xd64], 0
mov dword [ebp - 0xd60], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065440
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0xd74]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x39706d
movups xmmword [ebp - 0xd5c], xmm0
mov dword [ebp - 0xd4c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xd48], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065490
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0xd5c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x37706d
movups xmmword [ebp - 0xd44], xmm0
mov dword [ebp - 0xd34], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xd30], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100654d8
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0xd44]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x118], 0x34706d75
mov word [ebp - 0x114], 0x35
lea edx, [ecx + 1]
movups xmmword [ebp - 0xd2c], xmm0
mov dword [ebp - 0xd1c], 0
mov dword [ebp - 0xd18], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065530
sub ecx, edx
lea eax, [ebp - 0x118]
push ecx
push eax
lea ecx, [ebp - 0xd2c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x303970
movups xmmword [ebp - 0xd14], xmm0
mov dword [ebp - 0xd04], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xd00], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065580
sub ecx, edx
lea eax, [ebp - 0x80]
push ecx
push eax
lea ecx, [ebp - 0xd14]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x110], 0x6f7a6962
mov word [ebp - 0x10c], 0x6e
lea edx, [ecx + 1]
movups xmmword [ebp - 0xcfc], xmm0
mov dword [ebp - 0xcec], 0
mov dword [ebp - 0xce8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100655d7
sub ecx, edx
lea eax, [ebp - 0x110]
push ecx
push eax
lea ecx, [ebp - 0xcfc]
call fcn.1001d5b0
lea eax, [ebp - 0x3eb]
mov dword [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0xce4]
push ecx
lea edx, [ebp - 0xef4]
push edx
lea ecx, [ebp - 0x6f0]
call fcn.1004c8f0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x328], 0x6f747561
mov dword [ebp - 0x324], 0x7975625f
lea edx, [ecx + 1]
mov word [ebp - 0x320], 0x31
movups xmmword [ebp - 0x5dc], xmm0
mov dword [ebp - 0x5cc], 0
mov dword [ebp - 0x5c8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065662
sub ecx, edx
lea eax, [ebp - 0x328]
push ecx
push eax
lea ecx, [ebp - 0x5dc]
call fcn.1001d5b0
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x1dc], 0xc3d8d9cd
mov dword [ebp - 0x1d8], 0xd5d9ce8c
mov dword [ebp - 0x1d4], 0xc9d8c58c
mov word [ebp - 0x1d0], 0xdfc1
mov byte [ebp - 0x1ce], 0xac
xor byte [ebp + eax - 0x1dc], 0xac
inc eax
cmp eax, 0xf
jb 0x100656b2
xorps xmm0, xmm0
mov dword [ebp - 0x614], 0
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 0x610], 0
movups xmmword [ebp - 0x624], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100656e7
sub ecx, edx
lea eax, [ebp - 0x1dc]
push ecx
push eax
lea ecx, [ebp - 0x624]
call fcn.1001d5b0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
lea ecx, [esi + 0x68]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x5dc]
cmp ecx, eax
je 0x1006574c
cmp dword [ebp - 0x5c8], 0x10
push dword [ebp - 0x5cc]
cmovae eax, dword [ebp - 0x5dc]
push eax
call fcn.10025620
lea ecx, [esi + 0xa0]
mov byte [esi + 0x99], 1
lea eax, [ebp - 0x624]
cmp ecx, eax
je 0x1006577d
cmp dword [ebp - 0x610], 0x10
push dword [ebp - 0x614]
cmovae eax, dword [ebp - 0x624]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [esi + 0x99], al
cmovne eax, ecx
mov dword [esi + 0xd4], eax
add eax, 0x14
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x6ec]
mov edi, dword [ebp - 0x6f0]
mov dword [ebp - 0x68], eax
cmp edi, eax
je 0x100657f3
lea ecx, [esi + 0xb8]
nop word [eax + eax]
mov eax, dword [esi + 0xbc]
push edi
cmp eax, dword [esi + 0xc0]
je 0x100657df
mov ecx, eax
call fcn.10027ea0
add dword [esi + 0xbc], 0x18
jmp 0x100657e5
push eax
call fcn.1003d860
add edi, 0x18
lea ecx, [esi + 0xb8]
cmp edi, dword [ebp - 0x68]
jne 0x100657c0
mov eax, dword [ebp - 0x40c]
mov edi, dword [ebp - 0x410]
mov dword [ebp - 0x64], eax
cmp edi, eax
je 0x100658a2
lea ecx, [esi + 0xc8]
mov eax, dword [edi]
push eax
mov dword [ebp - 0x20], eax
push dword [ecx + 4]
push dword [ecx]
call fcn.100adb90
mov ecx, dword [esi + 0xbc]
sub ecx, dword [esi + 0xb8]
mov dword [ebp - 0x68], eax
mov eax, dword [esi + 0xcc]
mov dword [ebp - 0x6c], eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x20]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x10065876
mov eax, dword [ebp - 0x6c]
cmp eax, dword [esi + 0xd0]
je 0x10065866
mov dword [eax], ecx
add dword [esi + 0xcc], 4
jmp 0x10065876
lea ecx, [ebp - 0x20]
push ecx
push eax
lea ecx, [esi + 0xc8]
call fcn.100333e0
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x6c]
jne 0x1006588a
mov eax, dword [esi + 0x94]
test eax, eax
je 0x1006588a
call eax
add edi, 4
lea ecx, [esi + 0xc8]
cmp edi, dword [ebp - 0x64]
jne 0x10065810
mov edi, dword [ebp - 0x410]
mov byte [ebp - 4], 0x19
test edi, edi
je 0x10065904
mov eax, dword [ebp - 0x408]
sub eax, edi
sar eax, 2
lea ecx, [eax*4]
mov eax, edi
cmp ecx, 0x1000
jb 0x100658dc
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100658dc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.100ae001
add esp, 8
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
lea ecx, [ebp - 0x624]
call fcn.1001f960
lea ecx, [ebp - 0x5dc]
call fcn.1001f960
lea ecx, [ebp - 0x6f0]
call fcn.1003fb10
push fcn.1001f960
push 0x16
push 0x18
lea eax, [ebp - 0xef4]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [esi + 0x30]
mov dword [ebp - 0x30], eax
lea edi, [esi + 0x18]
mov dword [esi + 0x48], 0
imul eax, dword [esi + 0x48], 0xeb
add eax, 0x14
mov dword [esi + 0x34], eax
mov dword [esi + 0x3c], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x4c], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x1006597e
mov eax, dword [ebp - 0x30]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x1006598a
lea eax, [ebp - 0x30]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0x108], 0x636f6c67
lea ecx, [ebp - 0x108]
mov word [ebp - 0x104], 0x6b
movups xmmword [ebp - 0xb3c], xmm0
mov dword [ebp - 0xb2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xb28], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100659c4
sub ecx, edx
lea eax, [ebp - 0x108]
push ecx
push eax
lea ecx, [ebp - 0xb3c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x210], 0x32706b68
mov dword [ebp - 0x20c], 0x303030
lea edx, [ecx + 1]
movups xmmword [ebp - 0xb24], xmm0
mov dword [ebp - 0xb14], 0
mov dword [ebp - 0xb10], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065a22
sub ecx, edx
lea eax, [ebp - 0x210]
push ecx
push eax
lea ecx, [ebp - 0xb24]
call fcn.1001d5b0
mov byte [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x168], 0xf3dcdfd9
mov dword [ebp - 0x164], 0xc9c0c5df
mov dword [ebp - 0x160], 0xdec9cfc2
mov byte [ebp - 0x15c], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x168], 0xac
inc eax
cmp eax, 0xd
jb 0x10065a70
xorps xmm0, xmm0
mov dword [ebp - 0xafc], 0
lea ecx, [ebp - 0x168]
mov dword [ebp - 0xaf8], 0
movups xmmword [ebp - 0xb0c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065aa5
sub ecx, edx
lea eax, [ebp - 0x168]
push ecx
push eax
lea ecx, [ebp - 0xb0c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], 0x74696c65
mov word [ebp - 0xfc], 0x65
lea edx, [ecx + 1]
movups xmmword [ebp - 0xaf4], xmm0
mov dword [ebp - 0xae4], 0
mov dword [ebp - 0xae0], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065b00
sub ecx, edx
lea eax, [ebp - 0x100]
push ecx
push eax
lea ecx, [ebp - 0xaf4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0x30353270
mov byte [ebp - 0xc4], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xadc], xmm0
mov dword [ebp - 0xacc], 0
mov dword [ebp - 0xac8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065b58
sub ecx, edx
lea eax, [ebp - 0xc8]
push ecx
push eax
lea ecx, [ebp - 0xadc]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x39636574
mov byte [ebp - 0xcc], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xac4], xmm0
mov dword [ebp - 0xab4], 0
mov dword [ebp - 0xab0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065bb0
sub ecx, edx
lea eax, [ebp - 0xd0]
push ecx
push eax
lea ecx, [ebp - 0xac4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], 0x37356e66
mov byte [ebp - 0x84], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0xaac], xmm0
mov dword [ebp - 0xa9c], 0
mov dword [ebp - 0xa98], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065c08
sub ecx, edx
lea eax, [ebp - 0x88]
push ecx
push eax
lea ecx, [ebp - 0xaac]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x170], 0x67616564
mov word [ebp - 0x16c], 0x656c
lea edx, [ecx + 1]
mov byte [ebp - 0x16a], 0
movups xmmword [ebp - 0xa94], xmm0
mov dword [ebp - 0xa84], 0
mov dword [ebp - 0xa80], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065c70
sub ecx, edx
lea eax, [ebp - 0x170]
push ecx
push eax
lea ecx, [ebp - 0xa94]
call fcn.1001d5b0
lea eax, [ebp - 0x3ec]
mov dword [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0xa7c]
push ecx
lea edx, [ebp - 0xb3c]
push edx
lea ecx, [ebp - 0x6e4]
call fcn.1004c8f0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x2d8], 0x6f747561
mov dword [ebp - 0x2d4], 0x7975625f
lea edx, [ecx + 1]
mov word [ebp - 0x2d0], 0x32
movups xmmword [ebp - 0x654], xmm0
mov dword [ebp - 0x644], 0
mov dword [ebp - 0x640], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065d00
sub ecx, edx
lea eax, [ebp - 0x2d8]
push ecx
push eax
lea ecx, [ebp - 0x654]
call fcn.1001d5b0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x24
push 0x100bbcd7
lea ecx, [ebp - 0xa7c]
mov dword [ebp - 0xa6c], 0
movups xmmword [ebp - 0xa7c], xmm0
mov dword [ebp - 0xa68], 0
call fcn.1001d5b0
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x514], 0
lea ecx, [esi + 0x110]
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x654]
cmp ecx, eax
je 0x10065d9c
cmp dword [ebp - 0x640], 0x10
push dword [ebp - 0x644]
cmovae eax, dword [ebp - 0x654]
push eax
call fcn.10025620
mov byte [esi + 0x141], 0
mov dword [esi + 0x17c], 0
mov dword [esi + 0xe8], 0x14
mov dword [esi + 0xec], 0x14
mov ecx, dword [ebp - 0x6e0]
mov eax, dword [ebp - 0x6e4]
mov dword [ebp - 0x68], ecx
cmp eax, ecx
je 0x10065e16
lea ecx, [esi + 0x160]
mov edi, eax
nop dword [eax]
mov eax, dword [esi + 0x164]
push edi
cmp eax, dword [esi + 0x168]
je 0x10065dff
mov ecx, eax
call fcn.10027ea0
add dword [esi + 0x164], 0x18
jmp 0x10065e05
push eax
call fcn.1003d860
add edi, 0x18
lea ecx, [esi + 0x160]
cmp edi, dword [ebp - 0x68]
jne 0x10065de0
lea edi, [esi + 0x18]
mov ecx, dword [ebp - 0x518]
mov eax, dword [ebp - 0x51c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x68], eax
cmp eax, ecx
je 0x10065eb7
lea edi, [esi + 0x170]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x18], eax
push dword [edi + 4]
push dword [edi]
call fcn.100adb90
mov ecx, dword [esi + 0x164]
sub ecx, dword [esi + 0x160]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x6c], eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x18]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x6c]
jae 0x10065e95
cmp eax, dword [esi + 0x178]
je 0x10065e86
mov dword [eax], ecx
add dword [edi + 4], 4
jmp 0x10065e95
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, edi
call fcn.100333e0
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x64], eax
jne 0x10065ea6
mov eax, dword [esi + 0x13c]
test eax, eax
je 0x10065ea6
call eax
mov eax, dword [ebp - 0x68]
add eax, 4
mov dword [ebp - 0x68], eax
cmp eax, dword [ebp - 0x24]
jne 0x10065e36
lea edi, [esi + 0x18]
lea ecx, [ebp - 0x51c]
call fcn.1001faa0
lea ecx, [ebp - 0xa7c]
call fcn.1001f960
lea ecx, [ebp - 0x654]
call fcn.1001f960
lea ecx, [ebp - 0x6e4]
call fcn.1003fb10
push fcn.1001f960
push 8
push 0x18
lea eax, [ebp - 0xb3c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [esi + 0xd8]
mov dword [ebp - 0x38], eax
mov dword [esi + 0xf0], 0
imul eax, dword [esi + 0xf0], 0xeb
add eax, 0x14
mov dword [esi + 0xdc], eax
mov dword [esi + 0xe4], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xf4], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10065f4b
mov eax, dword [ebp - 0x38]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10065f57
lea eax, [ebp - 0x38]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0x74736576
lea ecx, [ebp - 0x90]
mov byte [ebp - 0x8c], 0
movups xmmword [ebp - 0xc44], xmm0
mov dword [ebp - 0xc34], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc30], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065f90
sub ecx, edx
lea eax, [ebp - 0x90]
push ecx
push eax
lea ecx, [ebp - 0xc44]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x27c], 0x74736576
mov dword [ebp - 0x278], 0x6d6c6568
lea edx, [ecx + 1]
mov byte [ebp - 0x274], 0
movups xmmword [ebp - 0xc2c], xmm0
mov dword [ebp - 0xc1c], 0
mov dword [ebp - 0xc18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065ff5
sub ecx, edx
lea eax, [ebp - 0x27c]
push ecx
push eax
lea ecx, [ebp - 0xc2c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0x65736174
mov word [ebp - 0xf4], 0x72
lea edx, [ecx + 1]
movups xmmword [ebp - 0xc14], xmm0
mov dword [ebp - 0xc04], 0
mov dword [ebp - 0xc00], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066050
sub ecx, edx
lea eax, [ebp - 0xf8]
push ecx
push eax
lea ecx, [ebp - 0xc14]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x218], 0x75666564
mov dword [ebp - 0x214], 0x726573
lea edx, [ecx + 1]
movups xmmword [ebp - 0xbfc], xmm0
mov dword [ebp - 0xbec], 0
mov dword [ebp - 0xbe8], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100660b0
sub ecx, edx
lea eax, [ebp - 0x218]
push ecx
push eax
lea ecx, [ebp - 0xbfc]
call fcn.1001d5b0
mov byte [ebp - 4], 0x2a
xor eax, eax
mov dword [ebp - 0xe8], 0xdacdc9c4
mov dword [ebp - 0xe4], 0xc1decdd5
mov word [ebp - 0xe0], 0xdec3
mov byte [ebp - 0xde], 0xac
nop word [eax + eax]
xor byte [ebp + eax - 0xe8], 0xac
inc eax
cmp eax, 0xb
jb 0x10066100
xorps xmm0, xmm0
mov dword [ebp - 0xbd4], 0
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xbd0], 0
movups xmmword [ebp - 0xbe4], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066135
sub ecx, edx
lea eax, [ebp - 0xe8]
push ecx
push eax
lea ecx, [ebp - 0xbe4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x220], 0x6f6c6f6d
mov dword [ebp - 0x21c], 0x766f74
lea edx, [ecx + 1]
movups xmmword [ebp - 0xbcc], xmm0
mov dword [ebp - 0xbbc], 0
mov dword [ebp - 0xbb8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066190
sub ecx, edx
lea eax, [ebp - 0x220]
push ecx
push eax
lea ecx, [ebp - 0xbcc]
call fcn.1001d5b0
mov byte [ebp - 4], 0x2c
xor eax, eax
mov dword [ebp - 0xdc], 0xcbcfc2c5
mov dword [ebp - 0xd8], 0xcdc2c9de
mov word [ebp - 0xd4], 0xc9c8
mov byte [ebp - 0xd2], 0xac
nop word [eax + eax]
xor byte [ebp + eax - 0xdc], 0xac
inc eax
cmp eax, 0xb
jb 0x100661e0
xorps xmm0, xmm0
mov dword [ebp - 0xba4], 0
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xba0], 0
movups xmmword [ebp - 0xbb4], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066215
sub ecx, edx
lea eax, [ebp - 0xdc]
push ecx
push eax
lea ecx, [ebp - 0xbb4]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xf0], 0x6f636564
mov word [ebp - 0xec], 0x79
lea edx, [ecx + 1]
movups xmmword [ebp - 0xb9c], xmm0
mov dword [ebp - 0xb8c], 0
mov dword [ebp - 0xb88], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066270
sub ecx, edx
lea eax, [ebp - 0xf0]
push ecx
push eax
lea ecx, [ebp - 0xb9c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 0x2e4], 0x73616c66
mov dword [ebp - 0x2e0], 0x6e616268
lea edx, [ecx + 1]
mov word [ebp - 0x2dc], 0x67
movups xmmword [ebp - 0xb84], xmm0
mov dword [ebp - 0xb74], 0
mov dword [ebp - 0xb70], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100662d4
sub ecx, edx
lea eax, [ebp - 0x2e4]
push ecx
push eax
lea ecx, [ebp - 0xb84]
call fcn.1001d5b0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x2f0]
mov dword [ebp - 0x2f0], 0x72676568
mov dword [ebp - 0x2ec], 0x64616e65
lea edx, [ecx + 1]
mov word [ebp - 0x2e8], 0x65
movups xmmword [ebp - 0xb6c], xmm0
mov dword [ebp - 0xb5c], 0
mov dword [ebp - 0xb58], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066338
sub ecx, edx
lea eax, [ebp - 0x2f0]
push ecx
push eax
lea ecx, [ebp - 0xb6c]
call fcn.1001d5b0
mov byte [ebp - 4], 0x30
xor eax, eax
mov dword [ebp - 0x158], 0xc7c3c1df
mov dword [ebp - 0x154], 0xc9decbc9
mov dword [ebp - 0x150], 0xc9c8cdc2
mov byte [ebp - 0x14c], 0xac
nop
xor byte [ebp + eax - 0x158], 0xac
inc eax
cmp eax, 0xd
jb 0x10066380
xorps xmm0, xmm0
mov dword [ebp - 0xb44], 0
lea ecx, [ebp - 0x158]
mov dword [ebp - 0xb40], 0
movups xmmword [ebp - 0xb54], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100663b5
sub ecx, edx
lea eax, [ebp - 0x158]
push ecx
push eax
lea ecx, [ebp - 0xb54]
call fcn.1001d5b0
lea eax, [ebp - 0x3e5]
mov dword [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0xb3c]
push ecx
lea edx, [ebp - 0xc44]
push edx
lea ecx, [ebp - 0x6d8]
call fcn.1004c8f0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2fc]
mov dword [ebp - 0x2fc], 0x6f747561
mov dword [ebp - 0x2f8], 0x7975625f
lea edx, [ecx + 1]
mov word [ebp - 0x2f4], 0x33
movups xmmword [ebp - 0x63c], xmm0
mov dword [ebp - 0x62c], 0
mov dword [ebp - 0x628], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066440
sub ecx, edx
lea eax, [ebp - 0x2fc]
push ecx
push eax
lea ecx, [ebp - 0x63c]
call fcn.1001d5b0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x33
push 0x100bbcd7
lea ecx, [ebp - 0xa4c]
mov dword [ebp - 0xa3c], 0
movups xmmword [ebp - 0xa4c], xmm0
mov dword [ebp - 0xa38], 0
call fcn.1001d5b0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x520], 0
lea ecx, [esi + 0x1b8]
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x63c]
cmp ecx, eax
je 0x100664dc
cmp dword [ebp - 0x628], 0x10
push dword [ebp - 0x62c]
cmovae eax, dword [ebp - 0x63c]
push eax
call fcn.10025620
mov byte [esi + 0x1e9], 0
mov dword [esi + 0x224], 0
mov dword [esi + 0x190], 0x14
mov dword [esi + 0x194], 0x14
mov ecx, dword [ebp - 0x6d4]
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x64], ecx
cmp eax, ecx
je 0x10066556
lea ecx, [esi + 0x208]
mov edi, eax
nop dword [eax]
mov eax, dword [esi + 0x20c]
push edi
cmp eax, dword [esi + 0x210]
je 0x1006653f
mov ecx, eax
call fcn.10027ea0
add dword [esi + 0x20c], 0x18
jmp 0x10066545
push eax
call fcn.1003d860
add edi, 0x18
lea ecx, [esi + 0x208]
cmp edi, dword [ebp - 0x64]
jne 0x10066520
lea edi, [esi + 0x18]
mov ecx, dword [ebp - 0x524]
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], eax
cmp eax, ecx
je 0x100665f7
lea edi, [esi + 0x218]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x1c], eax
push dword [edi + 4]
push dword [edi]
call fcn.100adb90
mov ecx, dword [esi + 0x20c]
sub ecx, dword [esi + 0x208]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x6c], eax
mov eax, 0x2aaaaaab
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 - 0x6c]
jae 0x100665d5
cmp eax, dword [esi + 0x220]
je 0x100665c6
mov dword [eax], ecx
add dword [edi + 4], 4
jmp 0x100665d5
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.100333e0
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x24], eax
jne 0x100665e6
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x100665e6
call eax
mov eax, dword [ebp - 0x68]
add eax, 4
mov dword [ebp - 0x68], eax
cmp eax, dword [ebp - 0x64]
jne 0x10066576
lea edi, [esi + 0x18]
lea ecx, [ebp - 0x528]
call fcn.1001faa0
lea ecx, [ebp - 0xa4c]
call fcn.1001f960
lea ecx, [ebp - 0x63c]
call fcn.1001f960
lea ecx, [ebp - 0x6d8]
call fcn.1003fb10
push fcn.1001f960
push 0xb
push 0x18
lea eax, [ebp - 0xc44]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [esi + 0x180]
mov dword [ebp - 0x3c], eax
mov dword [esi + 0x198], 0
imul eax, dword [esi + 0x198], 0xeb
add eax, 0x14
mov dword [esi + 0x184], eax
mov dword [esi + 0x18c], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x19c], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x1006668b
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10066697
lea eax, [ebp - 0x3c]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
mov dword [ebp - 0x1fc], 0xcfd8cdc1
xor eax, eax
mov dword [ebp - 0x1f8], 0xc7cdc1c4
mov dword [ebp - 0x1f4], 0xaccbc2c5
nop word [eax + eax]
xor byte [ebp + eax - 0x1fc], 0xac
inc eax
cmp eax, 0xc
jb 0x100666c0
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x10ec]
call fcn.10034dd0
lea eax, [ebp - 0x350]
mov dword [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0x10d4]
mov dword [ebp - 0x350], 0x616d6164
mov word [ebp - 0x34c], 0x6567
mov byte [ebp - 0x34a], 0
call fcn.10034dd0
lea eax, [ebp - 0x3c0]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [ebp - 0x10bc]
mov dword [ebp - 0x3c0], 0x63727570
mov dword [ebp - 0x3bc], 0x65736168
mov word [ebp - 0x3b8], 0x73
call fcn.10034dd0
lea eax, [ebp - 0x31c]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x10a4]
mov dword [ebp - 0x31c], 0x626d6f62
mov byte [ebp - 0x318], 0
call fcn.10034dd0
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x108c]
mov dword [ebp - 0x358], 0x75666564
mov word [ebp - 0x354], 0x6573
mov byte [ebp - 0x352], 0
call fcn.10034dd0
lea eax, [ebp - 0x360]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0x1074]
mov dword [ebp - 0x360], 0x6d726168
mov word [ebp - 0x35c], 0x6465
mov byte [ebp - 0x35a], 0
call fcn.10034dd0
lea eax, [ebp - 0x3e6]
mov dword [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0x105c]
push ecx
lea edx, [ebp - 0x10ec]
push edx
lea ecx, [ebp - 0x6cc]
call fcn.1004c8f0
mov byte [ebp - 4], 0x3c
xor eax, eax
mov dword [ebp - 0x29c], 0xc5d8c3c2
mov dword [ebp - 0x298], 0xcdcfc5ca
mov dword [ebp - 0x294], 0xc2c3c5d8
mov word [ebp - 0x290], 0xacdf
xor byte [ebp + eax - 0x29c], 0xac
inc eax
cmp eax, 0xe
jb 0x10066821
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x9d4]
call fcn.10034dd0
mov byte [ebp - 4], 0x3d
xor eax, eax
mov dword [ebp - 0x28c], 0xc5d8c3c2
mov dword [ebp - 0x288], 0xcdcfc5ca
mov dword [ebp - 0x284], 0xc2c3c5d8
mov word [ebp - 0x280], 0xacdf
nop
xor byte [ebp + eax - 0x28c], 0xac
inc eax
cmp eax, 0xe
jb 0x10066870
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x9bc]
call fcn.10034dd0
mov dword [ebp - 0x534], 0
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x52c], 0
lea ecx, [esi + 0x260]
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x9d4]
cmp ecx, eax
je 0x100668dc
cmp dword [ebp - 0x9c0], 0x10
push dword [ebp - 0x9c4]
cmovae eax, dword [ebp - 0x9d4]
push eax
call fcn.10025620
lea ecx, [esi + 0x298]
mov byte [esi + 0x291], 1
lea eax, [ebp - 0x9bc]
cmp ecx, eax
je 0x1006690d
cmp dword [ebp - 0x9a8], 0x10
push dword [ebp - 0x9ac]
cmovae eax, dword [ebp - 0x9bc]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [esi + 0x291], al
cmovne eax, ecx
mov dword [esi + 0x2cc], eax
add eax, 0x14
mov dword [esi + 0x238], eax
mov dword [esi + 0x23c], eax
mov ecx, dword [ebp - 0x6c8]
mov eax, dword [ebp - 0x6cc]
mov dword [ebp - 0x64], ecx
cmp eax, ecx
je 0x10066986
lea ecx, [esi + 0x2b0]
mov edi, eax
nop dword [eax]
mov eax, dword [esi + 0x2b4]
push edi
cmp eax, dword [esi + 0x2b8]
je 0x1006696f
mov ecx, eax
call fcn.10027ea0
add dword [esi + 0x2b4], 0x18
jmp 0x10066975
push eax
call fcn.1003d860
add edi, 0x18
lea ecx, [esi + 0x2b0]
cmp edi, dword [ebp - 0x64]
jne 0x10066950
lea edi, [esi + 0x18]
mov ecx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x534]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], eax
cmp eax, ecx
je 0x10066a27
lea edi, [esi + 0x2c0]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x14], eax
push dword [edi + 4]
push dword [edi]
call fcn.100adb90
mov ecx, dword [esi + 0x2b4]
sub ecx, dword [esi + 0x2b0]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x6c], eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x14]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x6c]
jae 0x10066a05
cmp eax, dword [esi + 0x2c8]
je 0x100669f6
mov dword [eax], ecx
add dword [edi + 4], 4
jmp 0x10066a05
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, edi
call fcn.100333e0
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x24], eax
jne 0x10066a16
mov eax, dword [esi + 0x28c]
test eax, eax
je 0x10066a16
call eax
mov eax, dword [ebp - 0x68]
add eax, 4
mov dword [ebp - 0x68], eax
cmp eax, dword [ebp - 0x64]
jne 0x100669a6
lea edi, [esi + 0x18]
lea ecx, [ebp - 0x534]
call fcn.1001faa0
lea ecx, [ebp - 0x9bc]
call fcn.1001f960
lea ecx, [ebp - 0x9d4]
call fcn.1001f960
lea ecx, [ebp - 0x6cc]
call fcn.1003fb10
push fcn.1001f960
push 6
push 0x18
lea eax, [ebp - 0x10ec]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [esi + 0x228]
mov dword [ebp - 0x40], eax
mov dword [esi + 0x240], 0
imul eax, dword [esi + 0x240], 0xeb
add eax, 0x14
mov dword [esi + 0x22c], eax
mov dword [esi + 0x234], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x244], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10066abb
mov eax, dword [ebp - 0x40]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10066ac7
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
movaps xmm0, xmmword [0x100bb620]
lea eax, [ebp - 0xc6c]
pxor xmm0, xmmword [0x100bd0c0]
lea ecx, [ebp - 0xa04]
push eax
movups xmmword [ebp - 0xc6c], xmm0
mov byte [ebp - 0xc5c], 0
call fcn.10034dd0
movaps xmm0, xmmword [0x100bd0b0]
lea eax, [ebp - 0xc58]
pxor xmm0, xmmword [0x100bb620]
lea ecx, [ebp - 0x9ec]
push eax
mov dword [ebp - 4], 0x40
movups xmmword [ebp - 0xc58], xmm0
mov byte [ebp - 0xc48], 0
call fcn.10034dd0
lea ecx, [esi + 0x340]
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x9ec]
cmp ecx, eax
je 0x10066b5a
cmp dword [ebp - 0x9d8], 0x10
push dword [ebp - 0x9dc]
cmovae eax, dword [ebp - 0x9ec]
push eax
call fcn.10025620
lea ecx, [esi + 0x308]
lea eax, [ebp - 0xa04]
cmp ecx, eax
je 0x10066b84
cmp dword [ebp - 0x9f0], 0x10
push dword [ebp - 0x9f4]
cmovae eax, dword [ebp - 0xa04]
push eax
call fcn.10025620
lea ecx, [ebp - 0x9ec]
mov dword [esi + 0x33c], 0xffffffff
call fcn.1001f960
lea ecx, [ebp - 0xa04]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [esi + 0x2d0]
mov dword [ebp - 0x44], eax
mov dword [esi + 0x2e8], 0
imul eax, dword [esi + 0x2e8], 0xeb
add eax, 0x14
mov dword [esi + 0x2d4], eax
mov dword [esi + 0x2dc], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x2ec], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10066bf7
mov eax, dword [ebp - 0x44]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10066c03
lea eax, [ebp - 0x44]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
mov dword [ebp - 0x260], 0xc9c7cdca
xor eax, eax
mov dword [ebp - 0x25c], 0xd8cdc0f3
mov dword [ebp - 0x258], 0xd5cfc2c9
mov byte [ebp - 0x254], 0xac
nop word [eax + eax]
xor byte [ebp + eax - 0x260], 0xac
inc eax
cmp eax, 0xd
jb 0x10066c30
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0xa34]
call fcn.10034dd0
mov dword [ebp - 4], 0x42
xor eax, eax
mov dword [ebp - 0x270], 0xc9c7cdca
mov dword [ebp - 0x26c], 0xd8cdc08c
mov dword [ebp - 0x268], 0xd5cfc2c9
mov byte [ebp - 0x264], 0xac
nop
xor byte [ebp + eax - 0x270], 0xac
inc eax
cmp eax, 0xd
jb 0x10066c80
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0xa1c]
call fcn.10034dd0
lea ecx, [esi + 0x3d0]
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0xa1c]
cmp ecx, eax
je 0x10066cce
cmp dword [ebp - 0xa08], 0x10
push dword [ebp - 0xa0c]
cmovae eax, dword [ebp - 0xa1c]
push eax
call fcn.10025620
lea ecx, [esi + 0x398]
lea eax, [ebp - 0xa34]
cmp ecx, eax
je 0x10066cf8
cmp dword [ebp - 0xa20], 0x10
push dword [ebp - 0xa24]
cmovae eax, dword [ebp - 0xa34]
push eax
call fcn.10025620
lea ecx, [ebp - 0xa1c]
mov dword [esi + 0x3cc], 0xffffffff
call fcn.1001f960
lea ecx, [ebp - 0xa34]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea ecx, [esi + 0x3b8]
mov dword [ebp - 0x60], 0x10029600
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10066d40
mov dword [eax], 0x10029600
add dword [ecx + 4], 4
jmp 0x10066d4a
lea edx, [ebp - 0x60]
push edx
push eax
call fcn.1001d660
mov dword [esi + 0x3ec], 0x1002a070
lea eax, [esi + 0x360]
mov dword [ebp - 0x48], eax
mov dword [esi + 0x378], 0
imul eax, dword [esi + 0x378], 0xeb
add eax, 0x14
mov dword [esi + 0x364], eax
mov dword [esi + 0x36c], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x37c], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10066da0
mov eax, dword [ebp - 0x48]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10066dac
lea eax, [ebp - 0x48]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
xor eax, eax
mov dword [ebp - 0x434], 0x73006d
mov word [ebp - 0x430], ax
lea ecx, [ebp - 0x734]
lea eax, [ebp - 0x434]
push eax
call fcn.1004c860
movaps xmm0, xmmword [0x100bd1e0]
lea eax, [ebp - 0xc80]
pxor xmm0, xmmword [0x100bb620]
lea ecx, [ebp - 0x71c]
push eax
mov dword [ebp - 4], 0x44
movups xmmword [ebp - 0xc80], xmm0
mov byte [ebp - 0xc70], 0
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x45
push 0x100bbcd7
lea ecx, [ebp - 0xa64]
mov dword [ebp - 0xa54], 0
movups xmmword [ebp - 0xa64], xmm0
mov dword [ebp - 0xa50], 0
call fcn.1001d5b0
lea ecx, [esi + 0x4b0]
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x71c]
cmp ecx, eax
je 0x10066e69
cmp dword [ebp - 0x708], 0x10
push dword [ebp - 0x70c]
cmovae eax, dword [ebp - 0x71c]
push eax
call fcn.10025620
mov byte [esi + 0x4e1], 0
lea ecx, [esi + 0x518]
mov dword [esi + 0x530], 0
lea eax, [ebp - 0x734]
mov dword [esi + 0x488], 8
mov dword [esi + 0x48c], 8
mov dword [esi + 0x4ec], 0x42480000
mov dword [esi + 0x4f0], 0x447a0000
mov dword [esi + 0x4e8], 0x43480000
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x4f4], 0x41200000
cmp ecx, eax
je 0x10066eea
cmp dword [ebp - 0x720], 8
push dword [ebp - 0x724]
cmovae eax, dword [ebp - 0x734]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xa64]
call fcn.1001f960
lea ecx, [ebp - 0x71c]
call fcn.1001f960
lea ecx, [ebp - 0x734]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [esi + 0x478]
mov dword [ebp - 0x4c], eax
mov dword [esi + 0x490], 0
imul eax, dword [esi + 0x490], 0xeb
add eax, 0x14
mov dword [esi + 0x47c], eax
mov dword [esi + 0x484], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x494], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10066f5e
mov eax, dword [ebp - 0x4c]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10066f6a
lea eax, [ebp - 0x4c]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
mov dword [ebp - 0x1a8], 0xc3d8d9cd
xor eax, eax
mov dword [ebp - 0x1a4], 0xc9cfcfcd
mov word [ebp - 0x1a0], 0xd8dc
mov byte [ebp - 0x19e], 0xac
xor byte [ebp + eax - 0x1a8], 0xac
inc eax
cmp eax, 0xb
jb 0x10066f90
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x9a4]
call fcn.10034dd0
movaps xmm0, xmmword [0x100bd1b0]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 4], 0x47
mov dword [ebp - 0x53c], 0xc7cdc1c4
mov dword [ebp - 0x538], 0xaccbc2c5
movups xmmword [ebp - 0x54c], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x54c], 0xac
inc eax
cmp eax, 0x18
jb 0x10066ff0
lea eax, [ebp - 0x54c]
push eax
lea ecx, [ebp - 0x74c]
call fcn.10034dd0
lea ecx, [esi + 0x56c]
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x9a4]
cmp ecx, eax
je 0x1006703e
cmp dword [ebp - 0x990], 0x10
push dword [ebp - 0x994]
cmovae eax, dword [ebp - 0x9a4]
push eax
call fcn.10025620
lea ecx, [esi + 0x5a4]
mov byte [esi + 0x59d], 1
lea eax, [ebp - 0x74c]
cmp ecx, eax
je 0x1006706f
cmp dword [ebp - 0x738], 0x10
push dword [ebp - 0x73c]
cmovae eax, dword [ebp - 0x74c]
push eax
call fcn.10025620
lea ecx, [ebp - 0x74c]
mov byte [esi + 0x5a0], 0
call fcn.1001f960
lea ecx, [ebp - 0x9a4]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [esi + 0x534]
mov dword [ebp - 0x50], eax
mov dword [esi + 0x54c], 1
imul eax, dword [esi + 0x54c], 0xeb
add eax, 0x14
mov dword [esi + 0x538], eax
mov dword [esi + 0x540], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x550], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x100670df
mov eax, dword [ebp - 0x50]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x100670eb
lea eax, [ebp - 0x50]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
movaps xmm0, xmmword [0x100bd1d0]
lea eax, [ebp - 0xcd0]
pxor xmm0, xmmword [0x100bb620]
lea ecx, [ebp - 0x77c]
push eax
movups xmmword [ebp - 0xcd0], xmm0
mov byte [ebp - 0xcc0], 0
call fcn.10034dd0
movaps xmm0, xmmword [0x100bd1c0]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 4], 0x49
mov dword [ebp - 0x4ac], 0x81c2c58c
mov dword [ebp - 0x4a8], 0xc9c1cdcb
mov byte [ebp - 0x4a4], 0xac
movups xmmword [ebp - 0x4bc], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x4bc], 0xac
inc eax
cmp eax, 0x19
jb 0x10067160
lea eax, [ebp - 0x4bc]
push eax
lea ecx, [ebp - 0x764]
call fcn.10034dd0
lea ecx, [esi + 0x5f4]
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0x77c]
cmp ecx, eax
je 0x100671ae
cmp dword [ebp - 0x768], 0x10
push dword [ebp - 0x76c]
cmovae eax, dword [ebp - 0x77c]
push eax
call fcn.10025620
lea ecx, [esi + 0x62c]
mov byte [esi + 0x625], 1
lea eax, [ebp - 0x764]
cmp ecx, eax
je 0x100671df
cmp dword [ebp - 0x750], 0x10
push dword [ebp - 0x754]
cmovae eax, dword [ebp - 0x764]
push eax
call fcn.10025620
lea ecx, [ebp - 0x764]
mov byte [esi + 0x628], 0
call fcn.1001f960
lea ecx, [ebp - 0x77c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [esi + 0x5bc]
mov dword [ebp - 0x54], eax
mov dword [esi + 0x5d4], 1
imul eax, dword [esi + 0x5d4], 0xeb
add eax, 0x14
mov dword [esi + 0x5c0], eax
mov dword [esi + 0x5c8], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x5d8], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x1006724f
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x1006725b
lea eax, [ebp - 0x54]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
lea eax, [ebp - 0x3e4]
mov dword [ebp - 0x3e4], 0x6d746968
push eax
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 0x3e0], 0x656b7261
mov word [ebp - 0x3dc], 0x72
call fcn.10034dd0
lea eax, [ebp - 0x3d8]
mov dword [ebp - 4], 0x4b
push eax
lea ecx, [ebp - 0x794]
mov dword [ebp - 0x3d8], 0x6d746968
mov dword [ebp - 0x3d4], 0x656b7261
mov word [ebp - 0x3d0], 0x72
call fcn.10034dd0
lea ecx, [esi + 0x67c]
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x7ac]
cmp ecx, eax
je 0x100672ee
cmp dword [ebp - 0x798], 0x10
push dword [ebp - 0x79c]
cmovae eax, dword [ebp - 0x7ac]
push eax
call fcn.10025620
lea ecx, [esi + 0x6b4]
mov byte [esi + 0x6ad], 1
lea eax, [ebp - 0x794]
cmp ecx, eax
je 0x1006731f
cmp dword [ebp - 0x780], 0x10
push dword [ebp - 0x784]
cmovae eax, dword [ebp - 0x794]
push eax
call fcn.10025620
lea ecx, [ebp - 0x794]
mov byte [esi + 0x6b0], 0
call fcn.1001f960
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [esi + 0x644]
mov dword [ebp - 0x58], eax
mov dword [esi + 0x65c], 1
imul eax, dword [esi + 0x65c], 0xeb
add eax, 0x14
mov dword [esi + 0x648], eax
mov dword [esi + 0x650], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x660], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x1006738f
mov eax, dword [ebp - 0x58]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x1006739b
lea eax, [ebp - 0x58]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
mov dword [ebp - 0x2bc], 0xc8cbcdde
xor eax, eax
mov dword [ebp - 0x2b8], 0xf3c0c0c3
mov dword [ebp - 0x2b4], 0xcfdec3ca
mov word [ebp - 0x2b0], 0xacc9
xor byte [ebp + eax - 0x2bc], 0xac
inc eax
cmp eax, 0xe
jb 0x100673c4
lea eax, [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0x7dc]
call fcn.10034dd0
mov dword [ebp - 4], 0x4d
xor eax, eax
mov dword [ebp - 0x2ac], 0xc8cbcdde
mov dword [ebp - 0x2a8], 0x8cc0c0c3
mov dword [ebp - 0x2a4], 0xcfdec3ca
mov word [ebp - 0x2a0], 0xacc9
xor byte [ebp + eax - 0x2ac], 0xac
inc eax
cmp eax, 0xe
jb 0x10067414
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x7c4]
call fcn.10034dd0
lea ecx, [esi + 0x704]
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x7dc]
cmp ecx, eax
je 0x10067462
cmp dword [ebp - 0x7c8], 0x10
push dword [ebp - 0x7cc]
cmovae eax, dword [ebp - 0x7dc]
push eax
call fcn.10025620
lea ecx, [esi + 0x73c]
mov byte [esi + 0x735], 1
lea eax, [ebp - 0x7c4]
cmp ecx, eax
je 0x10067493
cmp dword [ebp - 0x7b0], 0x10
push dword [ebp - 0x7b4]
cmovae eax, dword [ebp - 0x7c4]
push eax
call fcn.10025620
lea ecx, [ebp - 0x7c4]
mov byte [esi + 0x738], 0
call fcn.1001f960
lea ecx, [ebp - 0x7dc]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [esi + 0x6cc]
mov dword [ebp - 0x5c], eax
mov dword [esi + 0x6e4], 1
imul eax, dword [esi + 0x6e4], 0xeb
add eax, 0x14
mov dword [esi + 0x6d0], eax
mov dword [esi + 0x6d8], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x6e8], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10067503
mov eax, dword [ebp - 0x5c]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x1006750f
lea eax, [ebp - 0x5c]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
lea eax, [ebp - 0x330]
mov dword [ebp - 0x330], 0x6b6e6172
push eax
lea ecx, [ebp - 0x80c]
mov word [ebp - 0x32c], 0x73
call fcn.10034dd0
movaps xmm0, xmmword [0x100bce90]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 4], 0x4f
mov dword [ebp - 0x4c8], 0xde8ccbc2
mov dword [ebp - 0x4c4], 0xdfc7c2cd
mov byte [ebp - 0x4c0], 0xac
movups xmmword [ebp - 0x4d8], xmm0
xor byte [ebp + eax - 0x4d8], 0xac
inc eax
cmp eax, 0x19
jb 0x10067571
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x7f4]
call fcn.10034dd0
lea ecx, [esi + 0x814]
mov byte [ebp - 4], 0x50
lea eax, [ebp - 0x80c]
cmp ecx, eax
je 0x100675bf
cmp dword [ebp - 0x7f8], 0x10
push dword [ebp - 0x7fc]
cmovae eax, dword [ebp - 0x80c]
push eax
call fcn.10025620
lea ecx, [esi + 0x84c]
mov byte [esi + 0x845], 1
lea eax, [ebp - 0x7f4]
cmp ecx, eax
je 0x100675f0
cmp dword [ebp - 0x7e0], 0x10
push dword [ebp - 0x7e4]
cmovae eax, dword [ebp - 0x7f4]
push eax
call fcn.10025620
lea ecx, [ebp - 0x7f4]
mov byte [esi + 0x848], 0
call fcn.1001f960
lea ecx, [ebp - 0x80c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [esi + 0x7dc]
mov dword [ebp - 0x28], eax
mov dword [esi + 0x7f4], 1
imul eax, dword [esi + 0x7f4], 0xeb
add eax, 0x14
mov dword [esi + 0x7e0], eax
mov dword [esi + 0x7e8], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x7f8], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10067660
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x1006766c
lea eax, [ebp - 0x28]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
lea eax, [ebp - 0x3b4]
mov dword [ebp - 0x3b4], 0x6c6c696b
push eax
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x3b0], 0x64656566
mov byte [ebp - 0x3ac], 0
call fcn.10034dd0
movaps xmm0, xmmword [0x100bcfe0]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 4], 0x51
mov word [ebp - 0x68c], 0xacc8
movups xmmword [ebp - 0x69c], xmm0
xor byte [ebp + eax - 0x69c], 0xac
inc eax
cmp eax, 0x12
jb 0x100676c4
lea eax, [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x824]
call fcn.10034dd0
lea ecx, [esi + 0x78c]
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x83c]
cmp ecx, eax
je 0x10067712
cmp dword [ebp - 0x828], 0x10
push dword [ebp - 0x82c]
cmovae eax, dword [ebp - 0x83c]
push eax
call fcn.10025620
lea ecx, [esi + 0x7c4]
mov byte [esi + 0x7bd], 1
lea eax, [ebp - 0x824]
cmp ecx, eax
je 0x10067743
cmp dword [ebp - 0x810], 0x10
push dword [ebp - 0x814]
cmovae eax, dword [ebp - 0x824]
push eax
call fcn.10025620
lea ecx, [ebp - 0x824]
mov byte [esi + 0x7c0], 0
call fcn.1001f960
lea ecx, [ebp - 0x83c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
mov dword [esi + 0x7b8], 0x1002a0a0
lea eax, [esi + 0x754]
mov dword [ebp - 0x2c], eax
mov dword [esi + 0x76c], 1
imul eax, dword [esi + 0x76c], 0xeb
add eax, 0x14
mov dword [esi + 0x758], eax
mov dword [esi + 0x760], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x770], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x100677bd
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x100677c9
lea eax, [ebp - 0x2c]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
lea eax, [ebp - 0x370]
mov dword [ebp - 0x370], 0x6e616c63
push eax
lea ecx, [ebp - 0x86c]
mov dword [ebp - 0x36c], 0x676174
call fcn.10034dd0
movaps xmm0, xmmword [0x100bd380]
lea eax, [ebp - 0xce4]
pxor xmm0, xmmword [0x100bb620]
lea ecx, [ebp - 0x854]
push eax
mov dword [ebp - 4], 0x53
movups xmmword [ebp - 0xce4], xmm0
mov byte [ebp - 0xcd4], 0
call fcn.10034dd0
lea ecx, [esi + 0x89c]
mov byte [ebp - 4], 0x54
lea eax, [ebp - 0x86c]
cmp ecx, eax
je 0x10067853
cmp dword [ebp - 0x858], 0x10
push dword [ebp - 0x85c]
cmovae eax, dword [ebp - 0x86c]
push eax
call fcn.10025620
lea ecx, [esi + 0x8d4]
mov byte [esi + 0x8cd], 1
lea eax, [ebp - 0x854]
cmp ecx, eax
je 0x10067884
cmp dword [ebp - 0x840], 0x10
push dword [ebp - 0x844]
cmovae eax, dword [ebp - 0x854]
push eax
call fcn.10025620
lea ecx, [ebp - 0x854]
mov byte [esi + 0x8d0], 0
call fcn.1001f960
lea ecx, [ebp - 0x86c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [esi + 0x864]
mov dword [ebp - 0x34], eax
mov dword [esi + 0x87c], 1
imul eax, dword [esi + 0x87c], 0xeb
add eax, 0x14
mov dword [esi + 0x868], eax
mov dword [esi + 0x870], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x880], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x100678f4
mov eax, dword [ebp - 0x34]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10067900
lea eax, [ebp - 0x34]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
movaps xmm0, xmmword [0x100bd2c0]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 0x658], 0xacdfd5cd
movups xmmword [ebp - 0x668], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x668], 0xac
inc eax
cmp eax, 0x14
jb 0x10067930
lea eax, [ebp - 0x668]
push eax
lea ecx, [ebp - 0x89c]
call fcn.10034dd0
movaps xmm0, xmmword [0x100bd2b0]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 4], 0x55
mov dword [ebp - 0x56c], 0x8cdfd5cd
mov word [ebp - 0x568], 0xc2c3
mov byte [ebp - 0x566], 0xac
movups xmmword [ebp - 0x57c], xmm0
nop dword [eax]
xor byte [ebp + eax - 0x57c], 0xac
inc eax
cmp eax, 0x17
jb 0x10067990
lea eax, [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x884]
call fcn.10034dd0
lea ecx, [esi + 0x428]
mov byte [ebp - 4], 0x56
lea eax, [ebp - 0x89c]
cmp ecx, eax
je 0x100679de
cmp dword [ebp - 0x888], 0x10
push dword [ebp - 0x88c]
cmovae eax, dword [ebp - 0x89c]
push eax
call fcn.10025620
lea ecx, [esi + 0x460]
mov byte [esi + 0x459], 1
lea eax, [ebp - 0x884]
cmp ecx, eax
je 0x10067a0f
cmp dword [ebp - 0x870], 0x10
push dword [ebp - 0x874]
cmovae eax, dword [ebp - 0x884]
push eax
call fcn.10025620
lea ecx, [ebp - 0x884]
mov byte [esi + 0x45c], 0
call fcn.1001f960
lea ecx, [ebp - 0x89c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
mov dword [esi + 0x408], 1
lea eax, [esi + 0x3f0]
mov dword [esi + 0x3f4], 0xff
mov ecx, edi
mov dword [ebp - 0x24], eax
mov dword [esi + 0x3fc], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10085d10
lea eax, [ebp - 0x3a8]
mov dword [ebp - 0x3a8], 0x6574616d
push eax
lea ecx, [ebp - 0xf9c]
mov dword [ebp - 0x3a4], 0x6c616972
mov byte [ebp - 0x3a0], 0
call fcn.10034dd0
lea eax, [ebp - 0x304]
mov dword [ebp - 4], 0x57
push eax
lea ecx, [ebp - 0xf84]
mov dword [ebp - 0x304], 0x74616c66
mov byte [ebp - 0x300], 0
call fcn.10034dd0
mov byte [ebp - 4], 0x58
xor eax, eax
mov dword [ebp - 0x1b4], 0xc0cac9de
mov dword [ebp - 0x1b0], 0xc5d8cfc9
mov word [ebp - 0x1ac], 0xc9da
mov byte [ebp - 0x1aa], 0xac
nop
xor byte [ebp + eax - 0x1b4], 0xac
inc eax
cmp eax, 0xb
jb 0x10067af0
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0xf6c]
call fcn.10034dd0
lea eax, [ebp - 0x338]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [ebp - 0xf54]
mov dword [ebp - 0x338], 0x73616c67
mov word [ebp - 0x334], 0x73
call fcn.10034dd0
lea eax, [ebp - 0x3e7]
mov dword [ebp - 4], 0x5a
push eax
lea ecx, [ebp - 0xf3c]
push ecx
lea edx, [ebp - 0xf9c]
push edx
lea ecx, [ebp - 0x6c0]
call fcn.1004c8f0
movaps xmm0, xmmword [0x100bd030]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov byte [ebp - 4], 0x5b
mov dword [ebp - 0x59c], 0xc0cdc5de
mov byte [ebp - 0x598], 0xac
movups xmmword [ebp - 0x5ac], xmm0
xor byte [ebp + eax - 0x5ac], 0xac
inc eax
cmp eax, 0x15
jb 0x10067b90
lea eax, [ebp - 0x5ac]
push eax
lea ecx, [ebp - 0x8b4]
call fcn.10034dd0
push 5
xorps xmm0, xmm0
mov byte [ebp - 4], 0x5c
push str.enemy
lea ecx, [ebp - 0x60c]
mov dword [ebp - 0x5fc], 0
movups xmmword [ebp - 0x60c], xmm0
mov dword [ebp - 0x5f8], 0
call fcn.1001d5b0
lea ecx, [esi + 0x924]
mov byte [ebp - 4], 0x5d
lea eax, [ebp - 0x8b4]
cmp ecx, eax
je 0x10067c12
cmp dword [ebp - 0x8a0], 0x10
push dword [ebp - 0x8a4]
cmovae eax, dword [ebp - 0x8b4]
push eax
call fcn.10025620
lea ecx, [esi + 0x95c]
mov byte [esi + 0x955], 1
lea eax, [ebp - 0x60c]
cmp ecx, eax
je 0x10067c43
cmp dword [ebp - 0x5f8], 0x10
push dword [ebp - 0x5fc]
cmovae eax, dword [ebp - 0x60c]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [esi + 0x955], al
cmovne eax, ecx
mov dword [esi + 0x988], eax
add eax, 0x14
mov dword [esi + 0x8fc], eax
mov dword [esi + 0x900], eax
mov ecx, dword [ebp - 0x6bc]
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x64], ecx
cmp eax, ecx
je 0x10067cb9
lea ecx, [esi + 0x974]
mov edi, eax
mov eax, dword [esi + 0x978]
push edi
cmp eax, dword [esi + 0x97c]
je 0x10067ca2
mov ecx, eax
call fcn.10027ea0
add dword [esi + 0x978], 0x18
jmp 0x10067ca8
push eax
call fcn.1003d860
add edi, 0x18
lea ecx, [esi + 0x974]
cmp edi, dword [ebp - 0x64]
jne 0x10067c83
lea edi, [esi + 0x18]
mov ecx, dword [esi + 0x978]
lea eax, [esi + 0x974]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10067ce4
mov dword [esi + 0x984], 0
lea ecx, [ebp - 0x60c]
call fcn.1001f960
lea ecx, [ebp - 0x8b4]
call fcn.1001f960
lea ecx, [ebp - 0x6c0]
call fcn.1003fb10
push fcn.1001f960
push 4
push 0x18
lea eax, [ebp - 0xf9c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
mov dword [esi + 0x904], 1
lea eax, [esi + 0x8ec]
mov dword [esi + 0x8f0], 0xff
mov ecx, edi
mov dword [ebp - 0x24], eax
mov dword [esi + 0x8f8], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x908], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10085d10
lea eax, [ebp - 0x39c]
mov dword [ebp - 0x39c], 0x6574616d
push eax
lea ecx, [ebp - 0xffc]
mov dword [ebp - 0x398], 0x6c616972
mov byte [ebp - 0x394], 0
call fcn.10034dd0
lea eax, [ebp - 0x2c4]
mov dword [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0xfe4]
mov dword [ebp - 0x2c4], 0x74616c66
mov byte [ebp - 0x2c0], 0
call fcn.10034dd0
mov byte [ebp - 4], 0x5f
xor eax, eax
mov dword [ebp - 0x1c0], 0xc0cac9de
mov dword [ebp - 0x1bc], 0xc5d8cfc9
mov word [ebp - 0x1b8], 0xc9da
mov byte [ebp - 0x1b6], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x1c0], 0xac
inc eax
cmp eax, 0xb
jb 0x10067de0
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0xfcc]
call fcn.10034dd0
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [ebp - 0xfb4]
mov dword [ebp - 0x340], 0x73616c67
mov word [ebp - 0x33c], 0x73
call fcn.10034dd0
lea eax, [ebp - 0x3e8]
mov dword [ebp - 4], 0x61
push eax
lea ecx, [ebp - 0xf9c]
push ecx
lea edx, [ebp - 0xffc]
push edx
lea ecx, [ebp - 0x6b4]
call fcn.1004c8f0
movaps xmm0, xmmword [0x100bd020]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov byte [ebp - 4], 0x62
mov dword [ebp - 0x5b4], 0xc0cdc5de
mov byte [ebp - 0x5b0], 0xac
movups xmmword [ebp - 0x5c4], xmm0
xor byte [ebp + eax - 0x5c4], 0xac
inc eax
cmp eax, 0x15
jb 0x10067e80
lea eax, [ebp - 0x5c4]
push eax
lea ecx, [ebp - 0x8cc]
call fcn.10034dd0
push 5
xorps xmm0, xmm0
mov byte [ebp - 4], 0x63
push str.local
lea ecx, [ebp - 0x5f4]
mov dword [ebp - 0x5e4], 0
movups xmmword [ebp - 0x5f4], xmm0
mov dword [ebp - 0x5e0], 0
call fcn.1001d5b0
lea ecx, [esi + 0xa64]
mov byte [ebp - 4], 0x64
lea eax, [ebp - 0x8cc]
cmp ecx, eax
je 0x10067f02