Function at 0x10052110
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cc4cb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc78
mov eax, dword [0x100e1040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xec], edi
push dword [ebp - 0x20]
lea ecx, [ebp - 0x494]
mov dword [ebp - 0x254], 0x69746e61
mov dword [ebp - 0x250], 0x6d69612d
mov byte [ebp - 0x24c], 0
call fcn.100244c0
lea ecx, [ebp - 0x254]
mov dword [ebp - 4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052192
sub ecx, edx
lea eax, [ebp - 0x254]
push ecx
push eax
lea ecx, [ebp - 0x494]
call fcn.100244e0
lea eax, [ebp - 0x494]
mov dword [ebp - 4], 1
push eax
mov ecx, edi
call fcn.1003d970
lea ecx, [ebp - 0x494]
call fcn.10023d70
push dword [ebp - 0x20]
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x1ec], 0x62616e65
lea esi, [edi + 0x30]
mov word [ebp - 0x1e8], 0x656c
mov byte [ebp - 0x1e6], 0
call fcn.100244c0
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 4], 2
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052210
sub ecx, edx
lea eax, [ebp - 0x1ec]
push ecx
push eax
lea ecx, [ebp - 0x4c4]
call fcn.100244e0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x4ac]
push dword [ebp - 0x20]
mov dword [ebp - 0x1a4], 0x62616e65
mov word [ebp - 0x1a0], 0x656c
mov byte [ebp - 0x19e], 0
call fcn.100244c0
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052268
sub ecx, edx
lea eax, [ebp - 0x1a4]
push ecx
push eax
lea ecx, [ebp - 0x4ac]
call fcn.100244e0
lea eax, [ebp - 0x4c4]
mov byte [ebp - 4], 5
push eax
lea ecx, [edi + 0x68]
call fcn.1003d970
lea eax, [ebp - 0x4ac]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.1003d970
lea ecx, [ebp - 0x4ac]
mov byte [edi + 0x9c], 0
call fcn.10023d70
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [ebp - 0x7c], esi
lea ecx, [ebp - 0x7c]
mov dword [edi + 0x48], 0
imul eax, dword [edi + 0x48], 0xeb
push ecx
lea ecx, [edi + 0x18]
add eax, 0x14
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
call fcn.100395c0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x4f4]
mov dword [ebp - 0x280], 0x65657266
lea esi, [edi + 0xb8]
mov dword [ebp - 0x27c], 0x6e617473
mov word [ebp - 0x278], 0x64
call fcn.100244c0
lea ecx, [ebp - 0x280]
mov dword [ebp - 4], 6
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052345
sub ecx, edx
lea eax, [ebp - 0x280]
push ecx
push eax
lea ecx, [ebp - 0x4f4]
call fcn.100244e0
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x4dc]
push dword [ebp - 0x20]
mov dword [ebp - 0x28c], 0x65657266
mov dword [ebp - 0x288], 0x6e617473
mov word [ebp - 0x284], 0x64
call fcn.100244c0
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100523a0
sub ecx, edx
lea eax, [ebp - 0x28c]
push ecx
push eax
lea ecx, [ebp - 0x4dc]
call fcn.100244e0
lea eax, [ebp - 0x4f4]
mov byte [ebp - 4], 9
push eax
lea ecx, [edi + 0xf0]
call fcn.1003d970
lea eax, [ebp - 0x4dc]
mov byte [edi + 0x121], 1
push eax
lea ecx, [edi + 0x128]
call fcn.1003d970
lea ecx, [ebp - 0x4dc]
mov byte [edi + 0x124], 0
call fcn.10023d70
lea ecx, [ebp - 0x4f4]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [ebp - 0x80], esi
lea ecx, [edi + 0x18]
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
lea eax, [ebp - 0x80]
push eax
call fcn.100395c0
push dword [ebp - 0x20]
lea ecx, [ebp - 0xb08]
mov dword [ebp - 0xf8], 0x66666f
call fcn.100244c0
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xa
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052476
sub ecx, edx
lea eax, [ebp - 0xf8]
push ecx
push eax
lea ecx, [ebp - 0xb08]
call fcn.100244e0
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0xaf0]
push dword [ebp - 0x20]
mov dword [ebp - 0x114], 0x6e776f64
mov byte [ebp - 0x110], 0
call fcn.100244c0
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100524c5
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0xaf0]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0xad8]
mov word [ebp - 0xf0], 0x7075
mov byte [ebp - 0xee], 0
call fcn.100244c0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xe
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052510
sub ecx, edx
lea eax, [ebp - 0xf0]
push ecx
push eax
lea ecx, [ebp - 0xad8]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0xac0]
mov dword [ebp - 0x1e4], 0x646e6172
mov word [ebp - 0x1e0], 0x6d6f
mov byte [ebp - 0x1de], 0
call fcn.100244c0
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052561
sub ecx, edx
lea eax, [ebp - 0x1e4]
push ecx
push eax
lea ecx, [ebp - 0xac0]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0xaa8]
mov dword [ebp - 0x16c], 0x61656469
mov word [ebp - 0x168], 0x6c
call fcn.100244c0
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x12
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100525b0
sub ecx, edx
lea eax, [ebp - 0x16c]
push ecx
push eax
lea ecx, [ebp - 0xaa8]
call fcn.100244e0
lea eax, [ebp - 0x31d]
mov dword [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0xa90]
push ecx
lea edx, [ebp - 0xb08]
push edx
lea ecx, [ebp - 0x3b0]
call fcn.10097680
push dword [ebp - 0x20]
lea ecx, [ebp - 0x524]
mov dword [ebp - 0x174], 0x63746970
mov word [ebp - 0x170], 0x68
call fcn.100244c0
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x15
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052621
sub ecx, edx
lea eax, [ebp - 0x174]
push ecx
push eax
lea ecx, [ebp - 0x524]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x47c]
mov dword [ebp - 0x17c], 0x63746970
mov word [ebp - 0x178], 0x68
call fcn.100244c0
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x17
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052670
sub ecx, edx
lea eax, [ebp - 0x17c]
push ecx
push eax
lea ecx, [ebp - 0x47c]
call fcn.100244e0
lea eax, [ebp - 0x524]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [edi + 0x178]
call fcn.1003d970
lea eax, [ebp - 0x47c]
mov byte [edi + 0x1a9], 1
push eax
lea ecx, [edi + 0x1b0]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1a9], al
cmovne eax, ecx
mov dword [edi + 0x1dc], eax
add eax, 0x14
mov dword [edi + 0x150], eax
mov dword [edi + 0x154], eax
lea eax, [edi + 0x1c8]
mov ecx, dword [ebp - 0x3ac]
mov esi, dword [ebp - 0x3b0]
mov dword [ebp - 0xac], ecx
cmp esi, ecx
je 0x1005271f
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.10045400
add esi, 0x18
cmp esi, dword [ebp - 0xac]
jne 0x10052700
mov edi, dword [ebp - 0xec]
lea eax, [edi + 0x1c8]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10052741
mov dword [edi + 0x1d8], 0
lea ecx, [ebp - 0x47c]
call fcn.10023d70
lea ecx, [ebp - 0x524]
call fcn.10023d70
lea ecx, [ebp - 0x3b0]
call fcn.10045040
push fcn.10023d70
push 5
push 0x18
lea eax, [ebp - 0xb08]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6188
lea eax, [edi + 0x140]
mov dword [ebp - 0x84], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x158], 0
imul eax, dword [edi + 0x158], 0xeb
add eax, 0x14
mov dword [edi + 0x144], eax
mov dword [edi + 0x14c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x15c], eax
lea eax, [ebp - 0x84]
push eax
call fcn.100395c0
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa30]
mov dword [ebp - 0xfc], 0x66666f
call fcn.100244c0
lea ecx, [ebp - 0xfc]
mov dword [ebp - 4], 0x19
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100527f1
sub ecx, edx
lea eax, [ebp - 0xfc]
push ecx
push eax
lea ecx, [ebp - 0xa30]
call fcn.100244e0
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0xa18]
push dword [ebp - 0x20]
mov dword [ebp - 0x100], 0x303831
call fcn.100244c0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x1b
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052840
sub ecx, edx
lea eax, [ebp - 0x100]
push ecx
push eax
lea ecx, [ebp - 0xa18]
call fcn.100244e0
mov dword [ebp - 0x128], 0x5f4f474e
xor ecx, ecx
mov dword [ebp - 0x124], 0xb0b1615
mov word [ebp - 0x120], 0xd1a
mov byte [ebp - 0x11e], 0x7f
xor byte [ebp + ecx - 0x128], 0x7f
inc ecx
cmp ecx, 0xb
jb 0x10052882
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa00]
call fcn.100244c0
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x1d
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100528b0
sub ecx, edx
lea eax, [ebp - 0x128]
push ecx
push eax
lea ecx, [ebp - 0xa00]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9e8]
mov dword [ebp - 0x11c], 0x6e697073
mov byte [ebp - 0x118], 0
call fcn.100244c0
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x1f
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100528f8
sub ecx, edx
lea eax, [ebp - 0x11c]
push ecx
push eax
lea ecx, [ebp - 0x9e8]
call fcn.100244e0
lea eax, [ebp - 0x31f]
mov dword [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x9d0]
push ecx
lea edx, [ebp - 0xa30]
push edx
lea ecx, [ebp - 0x3bc]
call fcn.10097680
push dword [ebp - 0x20]
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x104], 0x776179
call fcn.100244c0
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x22
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052960
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
lea ecx, [ebp - 0x554]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x53c]
mov dword [ebp - 0x108], 0x776179
call fcn.100244c0
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x24
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100529a1
sub ecx, edx
lea eax, [ebp - 0x108]
push ecx
push eax
lea ecx, [ebp - 0x53c]
call fcn.100244e0
lea eax, [ebp - 0x554]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [edi + 0x218]
call fcn.1003d970
lea eax, [ebp - 0x53c]
mov byte [edi + 0x249], 1
push eax
lea ecx, [edi + 0x250]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x249], al
cmovne eax, ecx
mov dword [edi + 0x27c], eax
add eax, 0x14
mov dword [edi + 0x1f0], eax
mov dword [edi + 0x1f4], eax
mov eax, dword [ebp - 0x3b8]
mov esi, dword [ebp - 0x3bc]
mov dword [ebp - 0xac], eax
cmp esi, eax
je 0x10052a5b
lea eax, [edi + 0x268]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.10045400
mov eax, dword [ebp - 0xb4]
add esi, 0x18
cmp esi, edi
jne 0x10052a40
mov edi, dword [ebp - 0xec]
mov ecx, dword [edi + 0x26c]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x268]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10052a84
mov dword [edi + 0x278], 0
lea ecx, [ebp - 0x53c]
call fcn.10023d70
lea ecx, [ebp - 0x554]
call fcn.10023d70
lea ecx, [ebp - 0x3bc]
call fcn.10045040
push fcn.10023d70
push 4
push 0x18
lea eax, [ebp - 0xa30]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6188
lea eax, [edi + 0x1e0]
mov dword [ebp - 0x88], eax
lea ecx, [edi + 0x18]
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
lea eax, [ebp - 0x88]
push eax
call fcn.100395c0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x584]
mov dword [ebp - 0x308], 0xb0
lea esi, [edi + 0x280]
call fcn.100244c0
lea ecx, [ebp - 0x308]
mov dword [ebp - 4], 0x26
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10052b40
sub ecx, edx
lea eax, [ebp - 0x308]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x584]
call fcn.100454a0
mov dword [ebp - 4], 0x27
xor ecx, ecx
mov dword [ebp - 0x19c], 0xb0b1615
mov dword [ebp - 0x198], 0xd200d1a
mov dword [ebp - 0x194], 0x1a18111e
mov byte [ebp - 0x190], 0x7f
xor byte [ebp + ecx - 0x19c], 0x7f
inc ecx
cmp ecx, 0xd
jb 0x10052b90
push dword [ebp - 0x20]
lea ecx, [ebp - 0x56c]
call fcn.100244c0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0x28
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052bc0
sub ecx, edx
lea eax, [ebp - 0x19c]
push ecx
push eax
lea ecx, [ebp - 0x56c]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7bc]
call fcn.100244c0
push 0
push 0x100d35aa
lea ecx, [ebp - 0x7bc]
mov byte [ebp - 4], 0x2a
call fcn.100244e0
lea eax, [ebp - 0x56c]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [edi + 0x2b8]
call fcn.1003d970
mov byte [edi + 0x2e9], 0
lea eax, [ebp - 0x584]
mov dword [edi + 0x338], 0
lea ecx, [edi + 0x320]
mov dword [edi + 0x290], 8
mov dword [edi + 0x294], 8
mov dword [edi + 0x2f4], 0x3f800000
mov dword [edi + 0x2f8], 0x43340000
mov dword [edi + 0x2f0], 0x42340000
mov dword [edi + 0x304], 0
push eax
mov dword [edi + 0x2fc], 0x3f800000
call fcn.10097ad0
lea ecx, [ebp - 0x7bc]
call fcn.10023d70
lea ecx, [ebp - 0x56c]
call fcn.10023d70
lea ecx, [ebp - 0x584]
mov dword [ebp - 4], 0xffffffff
call fcn.100450d0
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x8c], 0x100260e0
lea ecx, [esi + 0x58]
push eax
call fcn.100395c0
mov dword [ebp - 0x90], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x298], 0
imul eax, dword [edi + 0x298], 0xeb
add eax, 0x14
mov dword [edi + 0x284], eax
mov dword [edi + 0x28c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x29c], eax
lea eax, [ebp - 0x90]
push eax
call fcn.100395c0
lea esi, [edi + 0x33c]
mov dword [ebp - 0x134], 0xb0c161b
mov dword [ebp - 0x130], 0x160b0d10
xor ecx, ecx
mov word [ebp - 0x12c], 0x1110
mov byte [ebp - 0x12a], 0x7f
xor byte [ebp + ecx - 0x134], 0x7f
inc ecx
cmp ecx, 0xb
jb 0x10052d31
push dword [ebp - 0x20]
lea ecx, [ebp - 0x5b4]
call fcn.100244c0
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0x2c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052d60
sub ecx, edx
lea eax, [ebp - 0x134]
push ecx
push eax
lea ecx, [ebp - 0x5b4]
call fcn.100244e0
mov dword [ebp - 4], 0x2d
xor ecx, ecx
mov dword [ebp - 0x158], 0xb0c161b
mov dword [ebp - 0x154], 0x160b0d10
mov word [ebp - 0x150], 0x1110
mov byte [ebp - 0x14e], 0x7f
nop dword [eax]
xor byte [ebp + ecx - 0x158], 0x7f
inc ecx
cmp ecx, 0xb
jb 0x10052db0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x59c]
call fcn.100244c0
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x2e
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052de0
sub ecx, edx
lea eax, [ebp - 0x158]
push ecx
push eax
lea ecx, [ebp - 0x59c]
call fcn.100244e0
lea eax, [ebp - 0x5b4]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [edi + 0x374]
call fcn.1003d970
lea eax, [ebp - 0x59c]
mov byte [edi + 0x3a5], 1
push eax
lea ecx, [edi + 0x3ac]
call fcn.1003d970
lea ecx, [ebp - 0x59c]
mov byte [edi + 0x3a8], 0
call fcn.10023d70
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [ebp - 0x94], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x354], 0
imul eax, dword [edi + 0x354], 0xeb
add eax, 0x14
mov dword [edi + 0x340], eax
mov dword [edi + 0x348], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x358], eax
lea eax, [ebp - 0x94]
push eax
call fcn.100395c0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x5fc]
mov dword [ebp - 0x30c], 0xb0
lea esi, [edi + 0x3c4]
call fcn.100244c0
lea ecx, [ebp - 0x30c]
mov dword [ebp - 4], 0x30
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10052ec2
sub ecx, edx
lea eax, [ebp - 0x30c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x5fc]
call fcn.100454a0
mov dword [ebp - 4], 0x31
lea ecx, [ebp - 0x5e4]
movaps xmm0, xmmword [0x100d5f30]
xorps xmm0, xmmword [0x100d6840]
push dword [ebp - 0x20]
movups xmmword [ebp - 0x464], xmm0
mov byte [ebp - 0x454], 0
call fcn.100244c0
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0x32
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052f22
sub ecx, edx
lea eax, [ebp - 0x464]
push ecx
push eax
lea ecx, [ebp - 0x5e4]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x5cc]
mov dword [ebp - 0x184], 0x676e6172
mov word [ebp - 0x180], 0x65
call fcn.100244c0
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x34
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10052f70
sub ecx, edx
lea eax, [ebp - 0x184]
push ecx
push eax
lea ecx, [ebp - 0x5cc]
call fcn.100244e0
lea eax, [ebp - 0x5e4]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [edi + 0x3fc]
call fcn.1003d970
lea eax, [ebp - 0x5cc]
mov byte [edi + 0x42d], 1
push eax
lea ecx, [edi + 0x44c]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x42d], al
cmovne eax, ecx
lea ecx, [edi + 0x464]
mov dword [edi + 0x47c], eax
add eax, 8
mov dword [edi + 0x3d4], eax
mov dword [edi + 0x3d8], eax
lea eax, [ebp - 0x5fc]
mov dword [edi + 0x438], 0xc3b40000
mov dword [edi + 0x43c], 0x43b40000
mov dword [edi + 0x434], 0x42b40000
mov dword [edi + 0x448], 0
push eax
mov dword [edi + 0x440], 0x3f800000
call fcn.10097ad0
lea ecx, [ebp - 0x5cc]
call fcn.10023d70
lea ecx, [ebp - 0x5e4]
call fcn.10023d70
lea ecx, [ebp - 0x5fc]
mov dword [ebp - 4], 0xffffffff
call fcn.100450d0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x100260f0
lea ecx, [esi + 0x58]
push eax
call fcn.100395c0
mov dword [ebp - 0x54], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3dc], 0
imul eax, dword [edi + 0x3dc], 0xeb
add eax, 0x14
mov dword [edi + 0x3c8], eax
mov dword [edi + 0x3d0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3e0], eax
lea eax, [ebp - 0x54]
push eax
call fcn.100395c0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x644]
mov dword [ebp - 0x310], 0x25
lea esi, [edi + 0x480]
call fcn.100244c0
lea ecx, [ebp - 0x310]
mov dword [ebp - 4], 0x36
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100530d0
sub ecx, edx
lea eax, [ebp - 0x310]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x644]
call fcn.100454a0
mov dword [ebp - 4], 0x37
lea ecx, [ebp - 0x62c]
movaps xmm0, xmmword [0x100d6840]
xorps xmm0, xmmword [0x100d5fa0]
push dword [ebp - 0x20]
movups xmmword [ebp - 0x450], xmm0
mov byte [ebp - 0x440], 0
call fcn.100244c0
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x38
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053130
sub ecx, edx
lea eax, [ebp - 0x450]
push ecx
push eax
lea ecx, [ebp - 0x62c]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x614]
mov dword [ebp - 0x18c], 0x65657073
mov word [ebp - 0x188], 0x64
call fcn.100244c0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x3a
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053180
sub ecx, edx
lea eax, [ebp - 0x18c]
push ecx
push eax
lea ecx, [ebp - 0x614]
call fcn.100244e0
lea eax, [ebp - 0x62c]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [edi + 0x4b8]
call fcn.1003d970
lea eax, [ebp - 0x614]
mov byte [edi + 0x4e9], 1
push eax
lea ecx, [edi + 0x508]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x4e9], al
cmovne eax, ecx
lea ecx, [edi + 0x520]
mov dword [edi + 0x538], eax
add eax, 8
mov dword [edi + 0x490], eax
mov dword [edi + 0x494], eax
lea eax, [ebp - 0x644]
mov dword [edi + 0x4f4], 0
mov dword [edi + 0x4f8], 0x41200000
mov dword [edi + 0x4f0], 0x40833333
mov dword [edi + 0x504], 1
push eax
mov dword [edi + 0x4fc], 0x3f800000
call fcn.10097ad0
lea ecx, [ebp - 0x614]
call fcn.10023d70
lea ecx, [ebp - 0x62c]
call fcn.10023d70
lea ecx, [ebp - 0x644]
mov dword [ebp - 4], 0xffffffff
call fcn.100450d0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x100260f0
lea ecx, [esi + 0x58]
push eax
call fcn.100395c0
mov dword [ebp - 0x5c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x498], 0
imul eax, dword [edi + 0x498], 0xeb
add eax, 0x14
mov dword [edi + 0x484], eax
mov dword [edi + 0x48c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x49c], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.100395c0
mov dword [ebp - 0x164], 0x1a141e19
xor ecx, ecx
mov dword [ebp - 0x160], 0x14131e08
mov dword [ebp - 0x15c], 0x7f181116
nop
xor byte [ebp + ecx - 0x164], 0x7f
inc ecx
cmp ecx, 0xc
jb 0x100532d0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9d0]
call fcn.100244c0
lea ecx, [ebp - 0x164]
mov dword [ebp - 4], 0x3c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053300
sub ecx, edx
lea eax, [ebp - 0x164]
push ecx
push eax
lea ecx, [ebp - 0x9d0]
call fcn.100244e0
mov dword [ebp - 4], 0x3d
lea ecx, [ebp - 0x9b8]
push dword [ebp - 0x20]
mov dword [ebp - 0x20c], 0x6e6e7572
mov dword [ebp - 0x208], 0x676e69
call fcn.100244c0
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x3e
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053352
sub ecx, edx
lea eax, [ebp - 0x20c]
push ecx
push eax
lea ecx, [ebp - 0x9b8]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9a0]
mov dword [ebp - 0x1dc], 0x61206e69
mov word [ebp - 0x1d8], 0x7269
mov byte [ebp - 0x1d6], 0
call fcn.100244c0
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0x40
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100533a3
sub ecx, edx
lea eax, [ebp - 0x1dc]
push ecx
push eax
lea ecx, [ebp - 0x9a0]
call fcn.100244e0
lea eax, [ebp - 0x301]
mov dword [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x988]
push ecx
lea edx, [ebp - 0x9d0]
push edx
lea ecx, [ebp - 0x3dc]
call fcn.10097680
movaps xmm0, xmmword [0x100d6840]
mov ecx, 0x10
xorps xmm0, xmmword [0x100d5fd0]
mov dword [ebp - 0x328], 0xc0d1a13
mov byte [ebp - 0x324], 0x7f
movups xmmword [ebp - 0x338], xmm0
xor byte [ebp + ecx - 0x338], 0x7f
inc ecx
cmp ecx, 0x15
jb 0x10053411
push dword [ebp - 0x20]
lea ecx, [ebp - 0x65c]
call fcn.100244c0
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x43
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053440
sub ecx, edx
lea eax, [ebp - 0x338]
push ecx
push eax
lea ecx, [ebp - 0x65c]
call fcn.100244e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x50c]
mov dword [ebp - 0x298], 0x61736964
mov dword [ebp - 0x294], 0x72656c62
mov word [ebp - 0x290], 0x73
call fcn.100244c0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x45
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053494
sub ecx, edx
lea eax, [ebp - 0x298]
push ecx
push eax
lea ecx, [ebp - 0x50c]
call fcn.100244e0
lea ecx, [ebp - 0x3d0]
call fcn.10024840
lea eax, [ebp - 0x65c]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [edi + 0x574]
call fcn.1003d970
lea eax, [ebp - 0x50c]
mov byte [edi + 0x5a5], 1
push eax
lea ecx, [edi + 0x5ac]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x5a5], al
cmovne eax, ecx
mov dword [edi + 0x5e0], eax
add eax, 0x14
mov dword [edi + 0x54c], eax
mov dword [edi + 0x550], eax
mov eax, dword [ebp - 0x3d8]
mov esi, dword [ebp - 0x3dc]
mov dword [ebp - 0xac], eax
cmp esi, eax
je 0x10053552
lea eax, [edi + 0x5c4]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
push esi
mov ecx, eax
call fcn.10045400
mov eax, dword [ebp - 0xb4]
add esi, 0x18
cmp esi, edi
jne 0x10053537
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x3cc]
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xb4], eax
cmp eax, ecx
je 0x1005363d
lea ecx, [edi + 0x5d4]
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x424]
push eax
call fcn.100232e0
lea ecx, [edi + 0x5d4]
mov esi, dword [eax]
lea eax, [ebp - 0x428]
push eax
call fcn.100232f0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x43c]
push dword [eax]
call fcn.100242e0
add esp, 8
lea ecx, [edi + 0x5d4]
mov esi, eax
lea eax, [ebp - 0xa8]
push eax
call fcn.100232e0
mov ecx, dword [edi + 0x5c8]
sub ecx, dword [edi + 0x5c4]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10053608
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x5d4]
call fcn.100395c0
cmp esi, dword [ebp - 0xac]
jne 0x1005361c
mov eax, dword [edi + 0x5a0]
test eax, eax
je 0x1005361c
call eax
mov eax, dword [ebp - 0xb4]
lea ecx, [edi + 0x5d4]
add eax, 4
mov dword [ebp - 0xb4], eax
cmp eax, dword [ebp - 0xb0]
jne 0x10053580
lea ecx, [ebp - 0x3d0]
call fcn.10023440
lea ecx, [ebp - 0x50c]
call fcn.10023d70
lea ecx, [ebp - 0x65c]
call fcn.10023d70
lea ecx, [ebp - 0x3dc]
call fcn.10045040
push fcn.10023d70
push 3
push 0x18
lea eax, [ebp - 0x9d0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6188
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 0x100260f0
lea esi, [edi + 0x53c]
lea ecx, [esi + 0x58]
push eax
call fcn.100395c0
mov dword [ebp - 0x4c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x554], 0
imul eax, dword [edi + 0x554], 0xeb
add eax, 0x14
mov dword [edi + 0x540], eax
mov dword [edi + 0x548], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x558], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.100395c0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xa90]
mov dword [ebp - 0x10c], 0x66666f
call fcn.100244c0
lea ecx, [ebp - 0x10c]
mov dword [ebp - 4], 0x48
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053708
sub ecx, edx
lea eax, [ebp - 0x10c]
push ecx
push eax
lea ecx, [ebp - 0xa90]
call fcn.100244e0
mov dword [ebp - 4], 0x49
lea ecx, [ebp - 0xa78]
push dword [ebp - 0xa8]
mov dword [ebp - 0x224], 0x6974706f
mov dword [ebp - 0x220], 0x6c616d
call fcn.100244c0
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x4a
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053760
sub ecx, edx
lea eax, [ebp - 0x224]
push ecx
push eax
lea ecx, [ebp - 0xa78]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x260], 0x6f70706f
mov dword [ebp - 0x25c], 0x65746973
mov byte [ebp - 0x258], 0
call fcn.100244c0
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x4c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100537b5
sub ecx, edx
lea eax, [ebp - 0x260]
push ecx
push eax
lea ecx, [ebp - 0xa60]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0x1d4], 0x74737563
mov word [ebp - 0x1d0], 0x6d6f
mov byte [ebp - 0x1ce], 0
call fcn.100244c0
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x4e
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053810
sub ecx, edx
lea eax, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0xa48]
call fcn.100244e0
lea eax, [ebp - 0x302]
mov dword [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0xa30]
push ecx
lea edx, [ebp - 0xa90]
push edx
lea ecx, [ebp - 0x3e8]
call fcn.10097680
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x68c]
mov dword [ebp - 0x2a4], 0x79646f62
mov dword [ebp - 0x2a0], 0x6b61665f
mov word [ebp - 0x29c], 0x65
call fcn.100244c0
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x51
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053890
sub ecx, edx
lea eax, [ebp - 0x2a4]
push ecx
push eax
lea ecx, [ebp - 0x68c]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x674]
mov dword [ebp - 0x2b0], 0x656b6166
mov dword [ebp - 0x2ac], 0x646f6220
mov word [ebp - 0x2a8], 0x79
call fcn.100244c0
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x53
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100538e7
sub ecx, edx
lea eax, [ebp - 0x2b0]
push ecx
push eax
lea ecx, [ebp - 0x674]
call fcn.100244e0
lea eax, [ebp - 0x68c]
mov byte [ebp - 4], 0x54
push eax
lea ecx, [edi + 0x61c]
call fcn.1003d970
lea eax, [ebp - 0x674]
mov byte [edi + 0x64d], 1
push eax
lea ecx, [edi + 0x654]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x64d], al
cmovne eax, ecx
mov dword [edi + 0x680], eax
add eax, 0x14
mov dword [edi + 0x5f4], eax
mov dword [edi + 0x5f8], eax
mov eax, dword [ebp - 0x3e4]
mov esi, dword [ebp - 0x3e8]
mov dword [ebp - 0xb0], eax
cmp esi, eax
je 0x1005399b
lea eax, [edi + 0x66c]
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
nop
push esi
mov ecx, eax
call fcn.10045400
mov eax, dword [ebp - 0xac]
add esi, 0x18
cmp esi, edi
jne 0x10053980
mov edi, dword [ebp - 0xec]
mov ecx, dword [edi + 0x670]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x66c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100539c4
mov dword [edi + 0x67c], 0
lea ecx, [ebp - 0x674]
call fcn.10023d70
lea ecx, [ebp - 0x68c]
call fcn.10023d70
lea ecx, [ebp - 0x3e8]
call fcn.10045040
push fcn.10023d70
push 4
push 0x18
lea eax, [ebp - 0xa90]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6188
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x100260d0
lea esi, [edi + 0x5e4]
lea ecx, [esi + 0x58]
push eax
call fcn.100395c0
mov dword [ebp - 0x74], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x5fc], 0
imul eax, dword [edi + 0x5fc], 0xeb
add eax, 0x14
mov dword [edi + 0x5e8], eax
mov dword [edi + 0x5f0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x600], eax
lea eax, [ebp - 0x74]
push eax
call fcn.100395c0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x6bc]
mov dword [ebp - 0x314], 0xb0
call fcn.100244c0
lea ecx, [ebp - 0x314]
mov dword [ebp - 4], 0x55
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10053a84
sub ecx, edx
lea eax, [ebp - 0x314]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x6bc]
call fcn.100454a0
mov dword [ebp - 4], 0x56
mov ecx, 0x10
movaps xmm0, xmmword [0x100d6840]
xorps xmm0, xmmword [0x100d5af0]
mov word [ebp - 0x36c], 0x131e
mov byte [ebp - 0x36a], 0x7f
movups xmmword [ebp - 0x37c], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x37c], 0x7f
inc ecx
cmp ecx, 0x13
jb 0x10053ae0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x6a4]
call fcn.100244c0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x57
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053b10
sub ecx, edx
lea eax, [ebp - 0x37c]
push ecx
push eax
lea ecx, [ebp - 0x6a4]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x7d4]
call fcn.100244c0
push 0
push 0x100d35aa
lea ecx, [ebp - 0x7d4]
mov byte [ebp - 4], 0x59
call fcn.100244e0
lea eax, [ebp - 0x6a4]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [edi + 0x6bc]
call fcn.1003d970
mov byte [edi + 0x6ed], 0
lea eax, [ebp - 0x6bc]
mov dword [edi + 0x73c], 0
lea ecx, [edi + 0x724]
mov dword [edi + 0x694], 8
mov dword [edi + 0x698], 8
mov dword [edi + 0x6f8], 0xc3340000
mov dword [edi + 0x6fc], 0x43340000
mov dword [edi + 0x6f4], 0
mov dword [edi + 0x708], 0
push eax
mov dword [edi + 0x700], 0x3f800000
call fcn.10097ad0
lea ecx, [ebp - 0x7d4]
call fcn.10023d70
lea ecx, [ebp - 0x6a4]
call fcn.10023d70
lea ecx, [ebp - 0x6bc]
mov dword [ebp - 4], 0xffffffff
call fcn.100450d0
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 0x100260d0
push eax
lea ecx, [edi + 0x6dc]
call fcn.100395c0
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x100260c0
push eax
lea ecx, [edi + 0x6dc]
call fcn.100395c0
lea eax, [edi + 0x684]
mov dword [ebp - 0x68], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x69c], 0
imul eax, dword [edi + 0x69c], 0xeb
add eax, 0x14
mov dword [edi + 0x688], eax
mov dword [edi + 0x690], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6a0], eax
lea eax, [ebp - 0x68]
push eax
call fcn.100395c0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xbb0]
mov dword [ebp - 0xf4], 0x66666f
call fcn.100244c0
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0x5b
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053c96
sub ecx, edx
lea eax, [ebp - 0xf4]
push ecx
push eax
lea ecx, [ebp - 0xbb0]
call fcn.100244e0
mov dword [ebp - 4], 0x5c
lea ecx, [ebp - 0xb98]
push dword [ebp - 0xa8]
mov dword [ebp - 0x21c], 0x61666564
mov dword [ebp - 0x218], 0x746c75
call fcn.100244c0
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x5d
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053cf0
sub ecx, edx
lea eax, [ebp - 0x21c]
push ecx
push eax
lea ecx, [ebp - 0xb98]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xb80]
mov dword [ebp - 0x26c], 0x616c6572
mov dword [ebp - 0x268], 0x65766974
mov byte [ebp - 0x264], 0
call fcn.100244c0
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0x5f
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053d45
sub ecx, edx
lea eax, [ebp - 0x26c]
push ecx
push eax
lea ecx, [ebp - 0xb80]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xb68]
mov dword [ebp - 0x1cc], 0x7474696a
mov word [ebp - 0x1c8], 0x7265
mov byte [ebp - 0x1c6], 0
call fcn.100244c0
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 0x61
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053da0
sub ecx, edx
lea eax, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0xb68]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xb50]
mov dword [ebp - 0x1b4], 0x61746f72
mov word [ebp - 0x1b0], 0x6574
mov byte [ebp - 0x1ae], 0
call fcn.100244c0
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x63
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053df4
sub ecx, edx
lea eax, [ebp - 0x1b4]
push ecx
push eax
lea ecx, [ebp - 0xb50]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xb38]
mov dword [ebp - 0x1ac], 0x646e6172
mov word [ebp - 0x1a8], 0x6d6f
mov byte [ebp - 0x1a6], 0
call fcn.100244c0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x65
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053e48
sub ecx, edx
lea eax, [ebp - 0x1ac]
push ecx
push eax
lea ecx, [ebp - 0xb38]
call fcn.100244e0
mov dword [ebp - 0x14c], 0x1e1c1013
xor ecx, ecx
mov dword [ebp - 0x148], 0x16095f13
mov word [ebp - 0x144], 0x81a
mov byte [ebp - 0x142], 0x7f
nop word [eax + eax]
xor byte [ebp + ecx - 0x14c], 0x7f
inc ecx
cmp ecx, 0xb
jb 0x10053e90
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xb20]
call fcn.100244c0
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x67
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053ec0
sub ecx, edx
lea eax, [ebp - 0x14c]
push ecx
push eax
lea ecx, [ebp - 0xb20]
call fcn.100244e0
lea eax, [ebp - 0x303]
mov dword [ebp - 4], 0x68
push eax
lea ecx, [ebp - 0xb08]
push ecx
lea edx, [ebp - 0xbb0]
push edx
lea ecx, [ebp - 0x3f4]
call fcn.10097680
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x6ec]
mov dword [ebp - 0x230], 0x656b6166
mov dword [ebp - 0x22c], 0x7761795f
mov byte [ebp - 0x228], 0
call fcn.100244c0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x6a
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053f40
sub ecx, edx
lea eax, [ebp - 0x230]
push ecx
push eax
lea ecx, [ebp - 0x6ec]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x6d4]
mov dword [ebp - 0x23c], 0x656b6166
mov dword [ebp - 0x238], 0x77617920
mov byte [ebp - 0x234], 0
call fcn.100244c0
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x6c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053f95
sub ecx, edx
lea eax, [ebp - 0x23c]
push ecx
push eax
lea ecx, [ebp - 0x6d4]
call fcn.100244e0
lea eax, [ebp - 0x6ec]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [edi + 0x778]
call fcn.1003d970
lea eax, [ebp - 0x6d4]
mov byte [edi + 0x7a9], 1
push eax
lea ecx, [edi + 0x7b0]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x7a9], al
cmovne eax, ecx
mov dword [edi + 0x7dc], eax
add eax, 0x14
mov dword [edi + 0x750], eax
mov dword [edi + 0x754], eax
mov eax, dword [ebp - 0x3f0]
mov esi, dword [ebp - 0x3f4]
mov dword [ebp - 0xb0], eax
cmp esi, eax
je 0x1005404b
lea eax, [edi + 0x7c8]
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.10045400
mov eax, dword [ebp - 0xac]
add esi, 0x18
cmp esi, edi
jne 0x10054030
mov edi, dword [ebp - 0xec]
mov ecx, dword [edi + 0x7cc]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x7c8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10054074
mov dword [edi + 0x7d8], 0
lea ecx, [ebp - 0x6d4]
call fcn.10023d70
lea ecx, [ebp - 0x6ec]
call fcn.10023d70
lea ecx, [ebp - 0x3f4]
call fcn.10045040
push fcn.10023d70
push 7
push 0x18
lea eax, [ebp - 0xbb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6188
lea eax, [edi + 0x740]
mov dword [ebp - 0x40], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x758], 1
imul eax, dword [edi + 0x758], 0xeb
add eax, 0x14
mov dword [edi + 0x744], eax
mov dword [edi + 0x74c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x75c], eax
lea eax, [ebp - 0x40]
push eax
call fcn.100395c0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x71c]
mov dword [ebp - 0x318], 0xb0
lea esi, [edi + 0x7e0]
call fcn.100244c0
lea ecx, [ebp - 0x318]
mov dword [ebp - 4], 0x6e
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10054127
sub ecx, edx
lea eax, [ebp - 0x318]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x71c]
call fcn.100454a0
mov dword [ebp - 4], 0x6f
xor ecx, ecx
mov dword [ebp - 0x1c4], 0x1a141e19
mov dword [ebp - 0x1c0], 0x131a0d20
mov dword [ebp - 0x1bc], 0x9160b1e
mov word [ebp - 0x1b8], 0x7f1a
nop dword [eax]
xor byte [ebp + ecx - 0x1c4], 0x7f
inc ecx
cmp ecx, 0xe
jb 0x10054180
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x704]
call fcn.100244c0
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x70
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100541b0
sub ecx, edx
lea eax, [ebp - 0x1c4]
push ecx
push eax
lea ecx, [ebp - 0x704]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x7ec]
call fcn.100244c0
push 0
push 0x100d35aa
lea ecx, [ebp - 0x7ec]
mov byte [ebp - 4], 0x72
call fcn.100244e0
lea eax, [ebp - 0x704]
mov byte [ebp - 4], 0x73
push eax
lea ecx, [edi + 0x818]
call fcn.1003d970
mov byte [edi + 0x849], 0
lea eax, [ebp - 0x71c]
mov dword [edi + 0x898], 0
lea ecx, [edi + 0x880]
mov dword [edi + 0x7f0], 8
mov dword [edi + 0x7f4], 8
mov dword [edi + 0x854], 0xc3340000
mov dword [edi + 0x858], 0x43340000
mov dword [edi + 0x850], 0
mov dword [edi + 0x864], 0
push eax
mov dword [edi + 0x85c], 0x3f800000
call fcn.10097ad0
lea ecx, [ebp - 0x7ec]
call fcn.10023d70
lea ecx, [ebp - 0x704]
call fcn.10023d70
lea ecx, [ebp - 0x71c]
mov dword [ebp - 4], 0xffffffff
call fcn.100450d0
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x10026f20
lea ecx, [esi + 0x58]
push eax
call fcn.100395c0
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x7f8], 1
imul eax, dword [edi + 0x7f8], 0xeb
add eax, 0x14
mov dword [edi + 0x7e4], eax
mov dword [edi + 0x7ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x7fc], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100395c0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x74c]
mov dword [ebp - 0x31c], 0xb0
lea esi, [edi + 0x89c]
call fcn.100244c0
lea ecx, [ebp - 0x31c]
mov dword [ebp - 4], 0x74
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10054320
sub ecx, edx
lea eax, [ebp - 0x31c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x74c]
call fcn.100454a0
mov dword [ebp - 4], 0x75
mov ecx, 0x10
movaps xmm0, xmmword [0x100d6840]
xorps xmm0, xmmword [0x100d5e10]
mov word [ebp - 0x394], 0x7f1a
movups xmmword [ebp - 0x3a4], xmm0
nop dword [eax]
xor byte [ebp + ecx - 0x3a4], 0x7f
inc ecx
cmp ecx, 0x12
jb 0x10054370
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x734]
call fcn.100244c0
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x76
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100543a0
sub ecx, edx
lea eax, [ebp - 0x3a4]
push ecx
push eax
lea ecx, [ebp - 0x734]
call fcn.100244e0
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x804]
call fcn.100244c0
push 0
push 0x100d35aa
lea ecx, [ebp - 0x804]
mov byte [ebp - 4], 0x78
call fcn.100244e0
lea eax, [ebp - 0x734]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [edi + 0x8d4]
call fcn.1003d970
mov byte [edi + 0x905], 0
lea eax, [ebp - 0x74c]
mov dword [edi + 0x954], 0
lea ecx, [edi + 0x93c]
mov dword [edi + 0x8ac], 8
mov dword [edi + 0x8b0], 8
mov dword [edi + 0x910], 0x3f800000
mov dword [edi + 0x914], 0x43340000
mov dword [edi + 0x90c], 0
mov dword [edi + 0x920], 0
push eax
mov dword [edi + 0x918], 0x3f800000
call fcn.10097ad0
lea ecx, [ebp - 0x804]
call fcn.10023d70
lea ecx, [ebp - 0x734]
call fcn.10023d70
lea ecx, [ebp - 0x74c]
mov dword [ebp - 4], 0xffffffff
call fcn.100450d0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x10026fa0
lea ecx, [esi + 0x58]
push eax
call fcn.100395c0
mov dword [ebp - 0x34], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x8b4], 1
imul eax, dword [edi + 0x8b4], 0xeb
add eax, 0x14
mov dword [edi + 0x8a0], eax
mov dword [edi + 0x8a8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x8b8], eax
lea eax, [ebp - 0x34]
push eax
call fcn.100395c0
lea esi, [edi + 0x958]
mov dword [ebp - 0x140], 0x20181e13
mov dword [ebp - 0x13c], 0x1d1e111a
xor ecx, ecx
mov word [ebp - 0x138], 0x1a13
mov byte [ebp - 0x136], 0x7f
nop dword [eax + eax]
xor byte [ebp + ecx - 0x140], 0x7f
inc ecx
cmp ecx, 0xb
jb 0x10054510
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x77c]
call fcn.100244c0
lea ecx, [ebp - 0x140]
mov dword [ebp - 4], 0x7a
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054540
sub ecx, edx
lea eax, [ebp - 0x140]
push ecx
push eax
lea ecx, [ebp - 0x77c]
call fcn.100244e0
mov dword [ebp - 4], 0x7b
lea ecx, [ebp - 0x764]
push dword [ebp - 0xa8]
mov dword [ebp - 0x248], 0x656b6166
mov dword [ebp - 0x244], 0x67616c2d
mov byte [ebp - 0x240], 0
call fcn.100244c0
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x7c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100545a0
sub ecx, edx
lea eax, [ebp - 0x248]
push ecx
push eax
lea ecx, [ebp - 0x764]
call fcn.100244e0
lea eax, [ebp - 0x77c]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [edi + 0x990]
call fcn.1003d970
lea eax, [ebp - 0x764]
mov byte [edi + 0x9c1], 1
push eax
lea ecx, [edi + 0x9c8]
call fcn.1003d970
lea ecx, [ebp - 0x764]
mov byte [edi + 0x9c4], 0
call fcn.10023d70
lea ecx, [ebp - 0x77c]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [ebp - 0x30], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x970], 1
imul eax, dword [edi + 0x970], 0xeb
add eax, 0x14
mov dword [edi + 0x95c], eax
mov dword [edi + 0x964], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x974], eax
lea eax, [ebp - 0x30]
push eax
call fcn.100395c0
lea eax, [ebp - 0x274]
mov dword [ebp - 0x274], 0x65766f6d
push eax
lea ecx, [ebp - 0xc28]
mov byte [ebp - 0x270], 0
call fcn.10023dc0
lea eax, [ebp - 0x214]
mov dword [ebp - 4], 0x7e
push eax
lea ecx, [ebp - 0xc10]
mov dword [ebp - 0x214], 0x726961
call fcn.10023dc0
mov byte [ebp - 4], 0x7f
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0xbf8]
mov dword [ebp - 0x2d0], 0x756f7263
mov word [ebp - 0x2cc], 0x6863
mov byte [ebp - 0x2ca], 0
call fcn.10023dc0
lea eax, [ebp - 0x304]
mov dword [ebp - 4], 0x80
push eax
lea ecx, [ebp - 0xbe0]
push ecx
lea edx, [ebp - 0xc28]
push edx
lea ecx, [ebp - 0x400]
call fcn.10097680
mov byte [ebp - 4], 0x81
xor ecx, ecx
mov dword [ebp - 0x204], 0x20181e13
mov dword [ebp - 0x200], 0x160b1c1e
mov word [ebp - 0x1fc], 0x1a09
mov byte [ebp - 0x1fa], 0x7f
nop word [eax + eax]
xor byte [ebp + ecx - 0x204], 0x7f
inc ecx
cmp ecx, 0xb
jb 0x10054720
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x81c]
call fcn.10023dc0
push 0x100d35aa
lea ecx, [ebp - 0xbc8]
mov byte [ebp - 4], 0x82
call fcn.10023dc0
lea ecx, [ebp - 0x420]
call fcn.10024840
lea eax, [ebp - 0x81c]
mov byte [ebp - 4], 0x84
push eax
lea ecx, [edi + 0xa18]
call fcn.1003d970
mov byte [edi + 0xa49], 0
mov dword [edi + 0xa84], 0
mov dword [edi + 0x9f0], 0x14
mov dword [edi + 0x9f4], 0x14
mov eax, dword [ebp - 0x3fc]
mov esi, dword [ebp - 0x400]
mov dword [ebp - 0xb0], eax
cmp esi, eax
je 0x100547dd
lea eax, [edi + 0xa68]
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
push esi
mov ecx, eax
call fcn.10045400
mov eax, dword [ebp - 0xac]
add esi, 0x18
cmp esi, edi
jne 0x100547c2
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xb4], eax
cmp eax, ecx
je 0x100548c0
lea ecx, [edi + 0xa78]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x438]
push eax
call fcn.100232e0
lea ecx, [edi + 0xa78]
mov esi, dword [eax]
lea eax, [ebp - 0x434]
push eax
call fcn.100232f0
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x430]
push dword [eax]
call fcn.100242e0
add esp, 8
lea ecx, [edi + 0xa78]
mov esi, eax
lea eax, [ebp - 0x42c]
push eax
call fcn.100232e0
mov ecx, dword [edi + 0xa6c]
sub ecx, dword [edi + 0xa68]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1c], eax
jae 0x1005488b
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0xa78]
call fcn.100395c0
cmp esi, dword [ebp - 0xb0]
jne 0x1005489f
mov eax, dword [edi + 0xa44]
test eax, eax
je 0x1005489f
call eax
mov eax, dword [ebp - 0xb4]
lea ecx, [edi + 0xa78]
add eax, 4
mov dword [ebp - 0xb4], eax
cmp eax, dword [ebp - 0xac]
jne 0x10054803
lea ecx, [ebp - 0x420]
call fcn.10023440
lea ecx, [ebp - 0xbc8]
call fcn.10023d70
lea ecx, [ebp - 0x81c]
call fcn.10023d70
lea ecx, [ebp - 0x400]
call fcn.10045040
push fcn.10023d70
push 3
push 0x18
lea eax, [ebp - 0xc28]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6188
lea eax, [edi + 0x9e0]
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x9f8], 1
imul eax, dword [edi + 0x9f8], 0xeb
add eax, 0x14
mov dword [edi + 0x9e4], eax
mov dword [edi + 0x9ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x9fc], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100395c0
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0x78616d
push eax
lea ecx, [ebp - 0xc88]
call fcn.10023dc0
lea eax, [ebp - 0x2c0]
mov dword [ebp - 4], 0x85
push eax
lea ecx, [ebp - 0xc70]
mov dword [ebp - 0x2c0], 0x61657262
mov word [ebp - 0x2bc], 0x6b
call fcn.10023dc0
mov byte [ebp - 4], 0x86
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0xc58]
mov dword [ebp - 0x2c8], 0x646e6172
mov word [ebp - 0x2c4], 0x6d6f
mov byte [ebp - 0x2c2], 0
call fcn.10023dc0
mov byte [ebp - 4], 0x87
xor ecx, ecx
mov dword [ebp - 0x1f8], 0x1e1a0d1d
mov dword [ebp - 0x1f4], 0xb0c5f14
mov word [ebp - 0x1f0], 0xf1a
mov byte [ebp - 0x1ee], 0x7f
nop
xor byte [ebp + ecx - 0x1f8], 0x7f
inc ecx
cmp ecx, 0xb
jb 0x100549f0
lea eax, [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0xc40]
call fcn.10023dc0
lea eax, [ebp - 0x31e]
mov dword [ebp - 4], 0x88
push eax
lea ecx, [ebp - 0xc28]
push ecx
lea edx, [ebp - 0xc88]
push edx
lea ecx, [ebp - 0x40c]
call fcn.10097680
mov byte [ebp - 4], 0x89
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x834]
mov dword [ebp - 0x2dc], 0x5f67616c
mov dword [ebp - 0x2d8], 0x65646f6d
mov byte [ebp - 0x2d4], 0
call fcn.10023dc0
push 0x100d35aa
lea ecx, [ebp - 0xbe0]
mov byte [ebp - 4], 0x8a
call fcn.10023dc0
lea eax, [ebp - 0x834]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [edi + 0xac0]
call fcn.1003d970
mov byte [edi + 0xaf1], 0
mov dword [edi + 0xb24], 0
mov dword [edi + 0xa98], 0x14
mov dword [edi + 0xa9c], 0x14
mov eax, dword [ebp - 0x408]
mov esi, dword [ebp - 0x40c]
mov dword [ebp - 0xb0], eax
cmp esi, eax
je 0x10054afb
lea eax, [edi + 0xb10]
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
nop
push esi
mov ecx, eax
call fcn.10045400
mov eax, dword [ebp - 0xac]
add esi, 0x18
cmp esi, edi
jne 0x10054ae0
mov edi, dword [ebp - 0xec]
mov ecx, dword [edi + 0xb14]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0xb10]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10054b24
mov dword [edi + 0xb20], 0
lea ecx, [ebp - 0xbe0]
call fcn.10023d70
lea ecx, [ebp - 0x834]
call fcn.10023d70
lea ecx, [ebp - 0x40c]
call fcn.10045040
push fcn.10023d70
push 4
push 0x18
lea eax, [ebp - 0xc88]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6188
lea eax, [edi + 0xa88]
mov dword [ebp - 0x28], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xaa0], 1
imul eax, dword [edi + 0xaa0], 0xeb
add eax, 0x14
mov dword [edi + 0xa8c], eax
mov dword [edi + 0xa94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xaa4], eax
lea eax, [ebp - 0x28]
push eax
call fcn.100395c0
push 0x100d53b0
lea ecx, [ebp - 0x87c]
lea esi, [edi + 0xb28]
call fcn.10097b00
mov dword [ebp - 4], 0x8c
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0x864]
mov dword [ebp - 0x2f4], 0x5f67616c
mov dword [ebp - 0x2f0], 0x696d696c
mov word [ebp - 0x2ec], 0x74
call fcn.10023dc0
lea eax, [ebp - 0x2b8]
mov byte [ebp - 4], 0x8d
push eax
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x2b8], 0x696d696c
mov word [ebp - 0x2b4], 0x74
call fcn.10023dc0
lea eax, [ebp - 0x864]
mov byte [ebp - 4], 0x8e
push eax
lea ecx, [edi + 0xb60]
call fcn.1003d970
lea eax, [ebp - 0x84c]
mov byte [edi + 0xb91], 1
push eax
lea ecx, [edi + 0xbb0]
call fcn.1003d970
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xb91], al
cmovne eax, ecx
lea ecx, [edi + 0xbc8]
mov dword [edi + 0xbe0], eax
add eax, 8
mov dword [edi + 0xb38], eax
mov dword [edi + 0xb3c], eax
lea eax, [ebp - 0x87c]
mov dword [edi + 0xb9c], 0x3f800000
mov dword [edi + 0xba0], 0x41800000
mov dword [edi + 0xb98], 0x40000000
mov dword [edi + 0xbac], 0
push eax
mov dword [edi + 0xba4], 0x3f800000
call fcn.10097ad0
lea ecx, [ebp - 0x84c]
call fcn.10023d70
lea ecx, [ebp - 0x864]
call fcn.10023d70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x87c]
call fcn.100450d0
mov dword [ebp - 0x98], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 1
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x98]
push eax
call fcn.100395c0
lea eax, [ebp - 0x2e8]
mov dword [ebp - 0x2e8], 0x61657262
push eax
lea ecx, [ebp - 0x8ac]
mov dword [ebp - 0x2e4], 0x636c5f6b
lea esi, [edi + 0xc6c]
mov byte [ebp - 0x2e0], 0
call fcn.10023dc0
mov dword [ebp - 4], 0x8f
mov ecx, 0x10
movaps xmm0, xmmword [0x100d6840]
xorps xmm0, xmmword [0x100d5ba0]
mov dword [ebp - 0x340], 0x10160b1e
mov word [ebp - 0x33c], 0x7f11
movups xmmword [ebp - 0x350], xmm0
nop dword [eax + eax]
xor byte [ebp + ecx - 0x350], 0x7f
inc ecx
cmp ecx, 0x16
jb 0x10054d80
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x894]
call fcn.10023dc0
lea eax, [ebp - 0x8ac]
mov byte [ebp - 4], 0x90
push eax
lea ecx, [edi + 0xca4]
call fcn.1003d970
lea eax, [ebp - 0x894]
mov byte [edi + 0xcd5], 1
push eax
lea ecx, [edi + 0xcdc]
call fcn.1003d970
lea ecx, [ebp - 0x894]
mov byte [edi + 0xcd8], 0
call fcn.10023d70
lea ecx, [ebp - 0x8ac]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [ebp - 0x9c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xc84], 1
imul eax, dword [edi + 0xc84], 0xeb
add eax, 0x14
mov dword [edi + 0xc70], eax
mov dword [edi + 0xc78], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xc88], eax
lea eax, [ebp - 0x9c]
push eax
call fcn.100395c0
lea eax, [ebp - 0x300]
mov dword [ebp - 0x300], 0x756e616d
push eax
lea ecx, [ebp - 0x8dc]
mov dword [ebp - 0x2fc], 0x615f6c61
lea esi, [edi + 0xcf4]
mov word [ebp - 0x2f8], 0x61
call fcn.10023dc0
mov dword [ebp - 4], 0x91
lea eax, [ebp - 0x7a4]
movaps xmm0, xmmword [0x100d6840]
lea ecx, [ebp - 0x8c4]
xorps xmm0, xmmword [0x100d6750]
push eax
movups xmmword [ebp - 0x7a4], xmm0
call fcn.10023dc0
lea eax, [ebp - 0x8dc]
mov byte [ebp - 4], 0x92
push eax
lea ecx, [edi + 0xd2c]
call fcn.1003d970
lea eax, [ebp - 0x8c4]
mov byte [edi + 0xd5d], 1
push eax
lea ecx, [edi + 0xd64]
call fcn.1003d970
lea ecx, [ebp - 0x8c4]
mov byte [edi + 0xd60], 0
call fcn.10023d70
lea ecx, [ebp - 0x8dc]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [ebp - 0xa0], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xd0c], 1
imul eax, dword [edi + 0xd0c], 0xeb
add eax, 0x14
mov dword [edi + 0xcf8], eax
mov dword [edi + 0xd00], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd10], eax
lea eax, [ebp - 0xa0]
push eax
call fcn.100395c0
mov esi, dword [0x100d4b50]
mov dword [ebp - 0x380], 0x7f12161e
movaps xmm0, xmmword [0x100d6840]
mov ecx, 0x10
xorps xmm0, xmmword [0x100d5d80]
movups xmmword [ebp - 0x390], xmm0
nop dword [eax]
xor byte [ebp + ecx - 0x390], 0x7f
inc ecx
cmp ecx, 0x14
jb 0x10054f60
lea eax, [ebp - 0x390]
push eax
lea ecx, [ebp - 0x794]
call fcn.10023dc0
mov dword [ebp - 4], 0x93
mov ecx, 0x10
movaps xmm0, xmmword [0x100d6840]
xorps xmm0, xmmword [0x100d6510]
mov dword [ebp - 0x358], 0x1013101c
mov word [ebp - 0x354], 0x7f0d
movups xmmword [ebp - 0x368], xmm0
xor byte [ebp + ecx - 0x368], 0x7f
inc ecx
cmp ecx, 0x16
jb 0x10054fb4
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x8f4]
call fcn.10023dc0
lea eax, [ebp - 0x8f4]
mov byte [ebp - 4], 0x94
push eax
lea ecx, [edi + 0xdec]
call fcn.1003d970
lea eax, [ebp - 0x794]
push eax
lea ecx, [edi + 0xdb4]
call fcn.1003d970
mov dword [edi + 0xe04], esi
lea ecx, [ebp - 0x8f4]
mov dword [edi + 0xe08], 0
call fcn.10023d70
lea ecx, [ebp - 0x794]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
lea ecx, [ebp - 0x794]
call fcn.1001b4f0
lea eax, [edi + 0xd7c]
mov dword [ebp - 0x44], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xd94], 1
imul eax, dword [edi + 0xd94], 0xeb
add eax, 0x14
mov dword [edi + 0xd80], eax
mov dword [edi + 0xd88], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd98], eax
lea eax, [ebp - 0x44]
push eax
call fcn.10037730
push 0x61
lea ecx, [ebp - 0xdc]
call fcn.10024830
push 0x61
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xdc], al
call fcn.10024830
push 0x5f
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xdb], al
call fcn.10024830
push 0x6c
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xda], al
call fcn.10024830
push 0x65
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xd9], al
call fcn.10024830
push 0x66
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xd8], al
call fcn.10024830
push 0x74
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xd7], al
call fcn.10024830
push 0
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xd6], al
call fcn.10024830
mov byte [ebp - 0xd5], al
xor esi, esi
push esi
lea ecx, [ebp - 0xdc]
call fcn.10023290
push esi
lea ecx, [ebp - 0xdc]
mov al, byte [eax]
xor al, 0x7f
mov byte [ebp - 0xa1], al
call fcn.10023290
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x10055113
lea ecx, [ebp - 0xdc]
call fcn.10023280
push eax
lea ecx, [ebp - 0x924]
call fcn.10023dc0
push 0x6c
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x95
call fcn.10024830
push 0x65
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0xbc], al
call fcn.10024830
push 0x66
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0xbb], al
call fcn.10024830
push 0x74
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0xba], al
call fcn.10024830
push 0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0xb9], al
call fcn.10024830
mov byte [ebp - 0xb8], al
xor esi, esi
push esi
lea ecx, [ebp - 0xbc]
call fcn.10023290
push esi
lea ecx, [ebp - 0xbc]
mov al, byte [eax]
xor al, 0x7f
mov byte [ebp - 0xa1], al
call fcn.10023290
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x100551c2
lea ecx, [ebp - 0xbc]
call fcn.10023280
push eax
lea ecx, [ebp - 0x90c]
call fcn.10023dc0
lea eax, [ebp - 0x90c]
mov byte [ebp - 4], 0x96
push eax
lea ecx, [edi + 0x1050]
call fcn.1003d970
lea eax, [ebp - 0x924]
push eax
lea ecx, [edi + 0x1018]
call fcn.1003d970
lea ecx, [ebp - 0x90c]
mov dword [edi + 0x104c], 0xffffffff
call fcn.10023d70
lea ecx, [ebp - 0x924]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [edi + 0x106c], 0x10026110
lea eax, [edi + 0xfe0]
mov dword [ebp - 0x48], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xff8], 1
imul eax, dword [edi + 0xff8], 0xeb
add eax, 0x14
mov dword [edi + 0xfe4], eax
mov dword [edi + 0xfec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xffc], eax
lea eax, [ebp - 0x48]
push eax
call fcn.10037730
push 0x61
lea ecx, [ebp - 0xe8]
call fcn.10024830
push 0x61
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe8], al
call fcn.10024830
push 0x5f
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe7], al
call fcn.10024830
push 0x72
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe6], al
call fcn.10024830
push 0x69
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe5], al
call fcn.10024830
push 0x67
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe4], al
call fcn.10024830
push 0x68
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe3], al
call fcn.10024830
push 0x74
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe2], al
call fcn.10024830
push 0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe1], al
call fcn.10024830
mov byte [ebp - 0xe0], al
xor esi, esi
push esi
lea ecx, [ebp - 0xe8]
call fcn.10023290
push esi
lea ecx, [ebp - 0xe8]
mov al, byte [eax]
xor al, 0x7f
mov byte [ebp - 0xa1], al
call fcn.10023290
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 9
jb 0x10055354
lea ecx, [ebp - 0xe8]
call fcn.10023280
push eax
lea ecx, [ebp - 0x954]
call fcn.10023dc0
push 0x72
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], 0x97
call fcn.10024830
push 0x69
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xcc], al
call fcn.10024830
push 0x67
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xcb], al
call fcn.10024830
push 0x68
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xca], al
call fcn.10024830
push 0x74
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xc9], al
call fcn.10024830
push 0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xc8], al
call fcn.10024830
mov byte [ebp - 0xc7], al
xor esi, esi
nop word [eax + eax]
push esi
lea ecx, [ebp - 0xcc]
call fcn.10023290
push esi
lea ecx, [ebp - 0xcc]
mov al, byte [eax]
xor al, 0x7f
mov byte [ebp - 0xa1], al
call fcn.10023290
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x10055420
lea ecx, [ebp - 0xcc]
call fcn.10023280
push eax
lea ecx, [ebp - 0x93c]
call fcn.10023dc0
lea eax, [ebp - 0x93c]
mov byte [ebp - 4], 0x98
push eax
lea ecx, [edi + 0x10e0]
call fcn.1003d970
lea eax, [ebp - 0x954]
push eax
lea ecx, [edi + 0x10a8]
call fcn.1003d970
lea ecx, [ebp - 0x93c]
mov dword [edi + 0x10dc], 0xffffffff
call fcn.10023d70
lea ecx, [ebp - 0x954]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [edi + 0x10fc], 0x10026130
lea eax, [edi + 0x1070]
mov dword [ebp - 0x60], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1088], 1
imul eax, dword [edi + 0x1088], 0xeb
add eax, 0x14
mov dword [edi + 0x1074], eax
mov dword [edi + 0x107c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x108c], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10037730
push 0x61
lea ecx, [ebp - 0xd4]
call fcn.10024830
push 0x61
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xd4], al
call fcn.10024830
push 0x5f
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xd3], al
call fcn.10024830
push 0x62
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xd2], al
call fcn.10024830
push 0x61
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xd1], al
call fcn.10024830
push 0x63
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xd0], al
call fcn.10024830
push 0x6b
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xcf], al
call fcn.10024830
push 0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xce], al
call fcn.10024830
mov byte [ebp - 0xcd], al
xor esi, esi
nop
push esi
lea ecx, [ebp - 0xd4]
call fcn.10023290
push esi
lea ecx, [ebp - 0xd4]
mov al, byte [eax]
xor al, 0x7f
mov byte [ebp - 0xa1], al
call fcn.10023290
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x100555a0
lea ecx, [ebp - 0xd4]
call fcn.10023280
push eax
lea ecx, [ebp - 0x984]
call fcn.10023dc0
push 0x62
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 0x99
call fcn.10024830
push 0x61
lea ecx, [ebp - 0xc4]
mov byte [ebp - 0xc4], al
call fcn.10024830
push 0x63
lea ecx, [ebp - 0xc4]
mov byte [ebp - 0xc3], al
call fcn.10024830
push 0x6b
lea ecx, [ebp - 0xc4]
mov byte [ebp - 0xc2], al
call fcn.10024830
push 0
lea ecx, [ebp - 0xc4]
mov byte [ebp - 0xc1], al
call fcn.10024830
mov byte [ebp - 0xc0], al
xor esi, esi
nop
push esi
lea ecx, [ebp - 0xc4]
call fcn.10023290
push esi
lea ecx, [ebp - 0xc4]
mov al, byte [eax]
xor al, 0x7f
mov byte [ebp - 0xa1], al
call fcn.10023290
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x10055650
lea ecx, [ebp - 0xc4]
call fcn.10023280
push eax
lea ecx, [ebp - 0x96c]
call fcn.10023dc0
lea eax, [ebp - 0x96c]
mov byte [ebp - 4], 0x9a
push eax
lea ecx, [edi + 0x1170]
call fcn.1003d970
lea eax, [ebp - 0x984]
push eax
lea ecx, [edi + 0x1138]
call fcn.1003d970
lea ecx, [ebp - 0x96c]
mov dword [edi + 0x116c], 0xffffffff
call fcn.10023d70
lea ecx, [ebp - 0x984]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d70
mov dword [edi + 0x118c], 0x10026150
lea eax, [edi + 0x1100]
mov dword [ebp - 0x20], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1118], 1
imul eax, dword [edi + 0x1118], 0xeb
add eax, 0x14
mov dword [edi + 0x1104], eax
mov dword [edi + 0x110c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x111c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10037730
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100c613c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret