Function at 0x1008ee90
Capabilities:
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 0x100f656b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2d0
mov eax, dword [0x1011904c]
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 - 0x1c], edi
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x6373696d
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 0x28], 0
call fcn.10020980
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.10020900
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xffffffff
call fcn.10020930
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x696c6167
push eax
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2c], 0x72616c
call fcn.10020980
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x3c], 0x616d6166
mov word [ebp - 0x38], 0x73
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x2c], 0x37346b61
mov byte [ebp - 0x28], 0
call fcn.10020980
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x3c], 0x3161346d
mov byte [ebp - 0x38], 0
call fcn.10020980
mov byte [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x68], 0x9dcd98c1
mov dword [ebp - 0x64], 0xc0c5dff3
mov dword [ebp - 0x60], 0xc9cfc2c9
mov word [ebp - 0x5c], 0xacde
nop dword [eax + eax]
xor byte [ebp + ecx - 0x68], 0xac
inc ecx
cmp ecx, 0xe
jb 0x1008efb0
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x280]
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x2c], 0x30677373
mov word [ebp - 0x28], 0x38
call fcn.10020980
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x44], 0x677561
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x2c], 0x35356773
mov word [ebp - 0x28], 0x36
call fcn.10020980
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x44], 0x707761
call fcn.10020980
mov byte [ebp - 4], 9
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x30], 0x72616373
mov word [ebp - 0x2c], 0x3032
mov byte [ebp - 0x2a], 0
call fcn.10020980
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x3c], 0x67733367
mov word [ebp - 0x38], 0x31
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x2c], 0x61766f6e
mov byte [ebp - 0x28], 0
call fcn.10020980
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x40], 0x30316d78
mov word [ebp - 0x3c], 0x3431
mov byte [ebp - 0x3a], 0
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x2c], 0x3767616d
mov byte [ebp - 0x28], 0
call fcn.10020980
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x3934326d
mov byte [ebp - 0x38], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x2c], 0x6567656e
mov word [ebp - 0x28], 0x76
call fcn.10020980
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x3c], 0x3163616d
mov word [ebp - 0x38], 0x30
call fcn.10020980
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x44], 0x39706d
call fcn.10020980
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x18], 0x37706d
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x2c], 0x34706d75
mov word [ebp - 0x28], 0x35
call fcn.10020980
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x18], 0x303970
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x2c], 0x6f7a6962
mov word [ebp - 0x28], 0x6e
call fcn.10020980
lea eax, [ebp - 0x71]
mov dword [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x2e0]
push edx
lea ecx, [ebp - 0x8c]
call fcn.10099770
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x30], 0x6f747561
mov dword [ebp - 0x2c], 0x7975625f
mov word [ebp - 0x28], 0x31
call fcn.10020980
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x68], 0xc3d8d9cd
mov dword [ebp - 0x64], 0xd5d9ce8c
mov dword [ebp - 0x60], 0xc9d8c58c
mov word [ebp - 0x5c], 0xdfc1
mov byte [ebp - 0x5a], 0xac
xor ecx, ecx
nop
xor byte [ebp + ecx - 0x68], 0xac
inc ecx
cmp ecx, 0xf
jb 0x1008f240
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0xc8]
call fcn.10020980
lea ecx, [ebp - 0x58]
call fcn.10022070
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [edi + 0x68]
call fcn.10020900
lea eax, [ebp - 0xc8]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.10020900
mov esi, dword [ebp - 0x8c]
xor eax, eax
cmp byte [edi + 0x99], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xd4], eax
add eax, 0x14
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x44], eax
cmp esi, eax
je 0x1008f2db
lea eax, [edi + 0xb8]
mov edi, eax
push esi
mov ecx, edi
call fcn.10043c60
add esi, 0x18
cmp esi, dword [ebp - 0x44]
jne 0x1008f2c8
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x44], eax
cmp eax, ecx
je 0x1008f39d
lea ecx, [edi + 0xc8]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xcc]
push eax
call fcn.1001f7f0
lea ecx, [edi + 0xc8]
mov esi, dword [eax]
lea eax, [ebp - 0xd0]
push eax
call fcn.1001f800
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x3c]
push dword [eax]
call fcn.100219a0
add esp, 8
lea ecx, [edi + 0xc8]
mov esi, eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1001f7f0
mov ecx, dword [edi + 0xbc]
sub ecx, dword [edi + 0xb8]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x1008f374
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xc8]
call fcn.10038330
cmp esi, dword [ebp - 0x24]
jne 0x1008f385
mov eax, dword [edi + 0x94]
test eax, eax
je 0x1008f385
call eax
mov eax, dword [ebp - 0x44]
lea ecx, [edi + 0xc8]
add eax, 4
mov dword [ebp - 0x44], eax
cmp eax, dword [ebp - 0x20]
jne 0x1008f2f5
lea ecx, [ebp - 0x58]
call fcn.1001f910
lea ecx, [ebp - 0xc8]
call fcn.10020930
lea ecx, [ebp - 0xb0]
call fcn.10020930
lea ecx, [ebp - 0x8c]
call fcn.100435f0
push fcn.10020930
push 0x16
push 0x18
lea eax, [ebp - 0x2e0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6a96
lea eax, [edi + 0x30]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x20]
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.10099ff0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x636f6c67
push eax
lea ecx, [ebp - 0x190]
mov word [ebp - 0x28], 0x6b
call fcn.10020980
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x40], 0x32706b68
mov dword [ebp - 0x3c], 0x303030
call fcn.10020980
mov byte [ebp - 4], 0x1c
xor ecx, ecx
mov dword [ebp - 0x68], 0xf3dcdfd9
mov dword [ebp - 0x64], 0xc9c0c5df
mov dword [ebp - 0x60], 0xdec9cfc2
mov byte [ebp - 0x5c], 0xac
xor byte [ebp + ecx - 0x68], 0xac
inc ecx
cmp ecx, 0xd
jb 0x1008f474
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x160]
call fcn.10020980
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x3c], 0x74696c65
mov word [ebp - 0x38], 0x65
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x2c], 0x30353270
mov byte [ebp - 0x28], 0
call fcn.10020980
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x3c], 0x39636574
mov byte [ebp - 0x38], 0
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x2c], 0x37356e66
mov byte [ebp - 0x28], 0
call fcn.10020980
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x40], 0x67616564
mov word [ebp - 0x3c], 0x656c
mov byte [ebp - 0x3a], 0
call fcn.10020980
lea eax, [ebp - 0x71]
mov dword [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x190]
push edx
lea ecx, [ebp - 0x58]
call fcn.10099770
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x30], 0x6f747561
mov dword [ebp - 0x2c], 0x7975625f
mov word [ebp - 0x28], 0x32
call fcn.10020980
push 0x1010622b
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x24
call fcn.10020980
lea ecx, [ebp - 0x90]
call fcn.10022070
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [edi + 0x110]
call fcn.10020900
mov byte [edi + 0x141], 0
mov dword [edi + 0x17c], 0
mov dword [edi + 0xe8], 0x14
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x58]
mov dword [edi + 0xec], 0x14
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x1008f5f9
lea eax, [edi + 0x160]
mov dword [ebp - 0x20], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.10043c60
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x1008f5e6
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x44], eax
cmp eax, ecx
je 0x1008f6c8
lea ecx, [edi + 0x170]
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1001f7f0
lea ecx, [edi + 0x170]
mov esi, dword [eax]
lea eax, [ebp - 0x3c]
push eax
call fcn.1001f800
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xd0]
push dword [eax]
call fcn.100219a0
add esp, 8
lea ecx, [edi + 0x170]
mov esi, eax
lea eax, [ebp - 0xcc]
push eax
call fcn.1001f7f0
mov ecx, dword [edi + 0x164]
sub ecx, dword [edi + 0x160]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x1008f69f
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x170]
call fcn.10038330
cmp esi, dword [ebp - 0x20]
jne 0x1008f6b0
mov eax, dword [edi + 0x13c]
test eax, eax
je 0x1008f6b0
call eax
mov eax, dword [ebp - 0x44]
lea ecx, [edi + 0x170]
add eax, 4
mov dword [ebp - 0x44], eax
cmp eax, dword [ebp - 0x24]
jne 0x1008f620
lea ecx, [ebp - 0x90]
call fcn.1001f910
lea ecx, [ebp - 0xc8]
call fcn.10020930
lea ecx, [ebp - 0xb0]
call fcn.10020930
lea ecx, [ebp - 0x58]
call fcn.100435f0
push fcn.10020930
push 8
push 0x18
lea eax, [ebp - 0x190]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6a96
lea eax, [edi + 0xd8]
mov dword [ebp - 0x20], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xf0], 0
imul eax, dword [edi + 0xf0], 0xeb
add eax, 0x14
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf4], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10099ff0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x74736576
push eax
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 0x28], 0
call fcn.10020980
mov dword [ebp - 4], 0x27
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x40], 0x74736576
mov dword [ebp - 0x3c], 0x6d6c6568
mov byte [ebp - 0x38], 0
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x2c], 0x65736174
mov word [ebp - 0x28], 0x72
call fcn.10020980
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x40], 0x75666564
mov dword [ebp - 0x3c], 0x726573
call fcn.10020980
mov byte [ebp - 4], 0x2a
xor ecx, ecx
mov dword [ebp - 0x58], 0xdacdc9c4
mov dword [ebp - 0x54], 0xc1decdd5
mov word [ebp - 0x50], 0xdec3
mov byte [ebp - 0x4e], 0xac
xor byte [ebp + ecx - 0x58], 0xac
inc ecx
cmp ecx, 0xb
jb 0x1008f7f3
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x178]
call fcn.10020980
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x30], 0x6f6c6f6d
mov dword [ebp - 0x2c], 0x766f74
call fcn.10020980
mov byte [ebp - 4], 0x2c
xor ecx, ecx
mov dword [ebp - 0x58], 0xcbcfc2c5
mov dword [ebp - 0x54], 0xcdc2c9de
mov word [ebp - 0x50], 0xc9c8
mov byte [ebp - 0x4e], 0xac
nop dword [eax]
xor byte [ebp + ecx - 0x58], 0xac
inc ecx
cmp ecx, 0xb
jb 0x1008f850
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x148]
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x2c], 0x6f636564
mov word [ebp - 0x28], 0x79
call fcn.10020980
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x40], 0x73616c66
mov dword [ebp - 0x3c], 0x6e616268
mov word [ebp - 0x38], 0x67
call fcn.10020980
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x30], 0x72676568
mov dword [ebp - 0x2c], 0x64616e65
mov word [ebp - 0x28], 0x65
call fcn.10020980
mov byte [ebp - 4], 0x30
xor ecx, ecx
mov dword [ebp - 0x58], 0xc7c3c1df
mov dword [ebp - 0x54], 0xc9decbc9
mov dword [ebp - 0x50], 0xc9c8cdc2
mov byte [ebp - 0x4c], 0xac
xor byte [ebp + ecx - 0x58], 0xac
inc ecx
cmp ecx, 0xd
jb 0x1008f8f7
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xe8]
call fcn.10020980
lea eax, [ebp - 0x71]
mov dword [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x1d8]
push edx
lea ecx, [ebp - 0x64]
call fcn.10099770
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x30], 0x6f747561
mov dword [ebp - 0x2c], 0x7975625f
mov word [ebp - 0x28], 0x33
call fcn.10020980
push 0x1010622b
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x33
call fcn.10020980
lea ecx, [ebp - 0x90]
call fcn.10022070
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [edi + 0x1b8]
call fcn.10020900
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
mov byte [edi + 0x1e9], 0
mov dword [edi + 0x224], 0
mov dword [edi + 0x190], 0x14
mov dword [edi + 0x194], 0x14
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x1008f9e3
lea eax, [edi + 0x208]
mov dword [ebp - 0x20], eax
mov edi, eax
nop dword [eax + eax]
push esi
mov ecx, edi
call fcn.10043c60
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x1008f9d0
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x44], eax
cmp eax, ecx
je 0x1008faab
lea ecx, [edi + 0x218]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1001f7f0
lea ecx, [edi + 0x218]
mov esi, dword [eax]
lea eax, [ebp - 0x3c]
push eax
call fcn.1001f800
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xd0]
push dword [eax]
call fcn.100219a0
add esp, 8
lea ecx, [edi + 0x218]
mov esi, eax
lea eax, [ebp - 0xcc]
push eax
call fcn.1001f7f0
mov ecx, dword [edi + 0x20c]
sub ecx, dword [edi + 0x208]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x1008fa82
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x218]
call fcn.10038330
cmp esi, dword [ebp - 0x20]
jne 0x1008fa93
mov eax, dword [edi + 0x1e4]
test eax, eax
je 0x1008fa93
call eax
mov eax, dword [ebp - 0x44]
lea ecx, [edi + 0x218]
add eax, 4
mov dword [ebp - 0x44], eax
cmp eax, dword [ebp - 0x24]
jne 0x1008fa03
lea ecx, [ebp - 0x90]
call fcn.1001f910
lea ecx, [ebp - 0xc8]
call fcn.10020930
lea ecx, [ebp - 0xb0]
call fcn.10020930
lea ecx, [ebp - 0x64]
call fcn.100435f0
push fcn.10020930
push 0xb
push 0x18
lea eax, [ebp - 0x1d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6a96
lea eax, [edi + 0x180]
mov dword [ebp - 0x20], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x198], 0
imul eax, dword [edi + 0x198], 0xeb
add eax, 0x14
mov dword [edi + 0x184], eax
mov dword [edi + 0x18c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x19c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10099ff0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x616d6164
push eax
lea ecx, [ebp - 0x130]
mov word [ebp - 0x2c], 0x6567
mov byte [ebp - 0x2a], 0
call fcn.10020980
mov dword [ebp - 4], 0x36
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x40], 0x63727570
mov dword [ebp - 0x3c], 0x65736168
mov word [ebp - 0x38], 0x73
call fcn.10020980
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x2c], 0x626d6f62
mov byte [ebp - 0x28], 0
call fcn.10020980
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x40], 0x75666564
mov word [ebp - 0x3c], 0x6573
mov byte [ebp - 0x3a], 0
call fcn.10020980
lea eax, [ebp - 0x71]
mov dword [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x130]
push edx
lea ecx, [ebp - 0x8c]
call fcn.10099770
mov byte [ebp - 4], 0x3a
xor ecx, ecx
mov dword [ebp - 0x58], 0xc5d8c3c2
mov dword [ebp - 0x54], 0xcdcfc5ca
mov dword [ebp - 0x50], 0xc2c3c5d8
mov word [ebp - 0x4c], 0xacdf
xor byte [ebp + ecx - 0x58], 0xac
inc ecx
cmp ecx, 0xe
jb 0x1008fc06
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc8]
call fcn.10020980
mov byte [ebp - 4], 0x3b
xor ecx, ecx
mov dword [ebp - 0x34], 0xc5d8c3c2
mov dword [ebp - 0x30], 0xcdcfc5ca
mov dword [ebp - 0x2c], 0xc2c3c5d8
mov word [ebp - 0x28], 0xacdf
xor byte [ebp + ecx - 0x34], 0xac
inc ecx
cmp ecx, 0xe
jb 0x1008fc41
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10020980
lea ecx, [ebp - 0x68]
call fcn.10022070
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [edi + 0x260]
call fcn.10020900
lea eax, [ebp - 0xb0]
mov byte [edi + 0x291], 1
push eax
lea ecx, [edi + 0x298]
call fcn.10020900
mov esi, dword [ebp - 0x8c]
xor eax, eax
cmp byte [edi + 0x291], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x2cc], eax
add eax, 0x14
mov dword [edi + 0x238], eax
mov dword [edi + 0x23c], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x1008fce8
lea eax, [edi + 0x2b0]
mov dword [ebp - 0x20], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.10043c60
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x1008fcd5
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x1008fdaa
lea ecx, [edi + 0x2c0]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1001f7f0
lea ecx, [edi + 0x2c0]
mov esi, dword [eax]
lea eax, [ebp - 0x3c]
push eax
call fcn.1001f800
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xd0]
push dword [eax]
call fcn.100219a0
add esp, 8
lea ecx, [edi + 0x2c0]
mov esi, eax
lea eax, [ebp - 0xcc]
push eax
call fcn.1001f7f0
mov ecx, dword [edi + 0x2b4]
sub ecx, dword [edi + 0x2b0]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1c], eax
jae 0x1008fd81
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x2c0]
call fcn.10038330
cmp esi, dword [ebp - 0x20]
jne 0x1008fd92
mov eax, dword [edi + 0x28c]
test eax, eax
je 0x1008fd92
call eax
mov eax, dword [ebp - 0x18]
lea ecx, [edi + 0x2c0]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x24]
jne 0x1008fd02
lea ecx, [ebp - 0x68]
call fcn.1001f910
lea ecx, [ebp - 0xb0]
call fcn.10020930
lea ecx, [ebp - 0xc8]
call fcn.10020930
lea ecx, [ebp - 0x8c]
call fcn.100435f0
push fcn.10020930
push 4
push 0x18
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c6a96
lea eax, [edi + 0x228]
mov dword [ebp - 0x20], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x240], 0
imul eax, dword [edi + 0x240], 0xeb
add eax, 0x14
mov dword [edi + 0x22c], eax
mov dword [edi + 0x234], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x244], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10099ff0
lea esi, [edi + 0x360]
mov dword [ebp - 0x68], 0xc9c7cdca
mov dword [ebp - 0x64], 0xd8cdc0f3
xor ecx, ecx
mov dword [ebp - 0x60], 0xd5cfc2c9
mov byte [ebp - 0x5c], 0xac
xor byte [ebp + ecx - 0x68], 0xac
inc ecx
cmp ecx, 0xd
jb 0x1008fe55
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0xc8]
call fcn.10020980
mov dword [ebp - 4], 0x3e
xor ecx, ecx
mov dword [ebp - 0x8c], 0xc9c7cdca
mov dword [ebp - 0x88], 0xd8cdc08c
mov dword [ebp - 0x84], 0xd5cfc2c9
mov byte [ebp - 0x80], 0xac
nop word [eax + eax]
xor byte [ebp + ecx - 0x8c], 0xac
inc ecx
cmp ecx, 0xd
jb 0x1008fea0
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10020980
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [edi + 0x3d0]
call fcn.10020900
lea eax, [ebp - 0xc8]
push eax
lea ecx, [edi + 0x398]
call fcn.10020900
lea ecx, [ebp - 0xb0]
mov dword [edi + 0x3cc], 0xffffffff
call fcn.10020930
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.10020930
mov dword [edi + 0x3ec], 0x10024040
lea ecx, [edi + 0x18]
mov dword [ebp - 0x20], esi
mov dword [edi + 0x378], 0
imul eax, dword [edi + 0x378], 0xeb
add eax, 0x14
mov dword [edi + 0x364], eax
mov dword [edi + 0x36c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x37c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10099ff0
xor eax, eax
mov dword [ebp - 0x2c], 0x73006d
mov word [ebp - 0x28], ax
lea ecx, [ebp - 0xc8]
lea eax, [ebp - 0x2c]
push eax
lea esi, [edi + 0x3f0]
call fcn.10099b40
mov dword [ebp - 4], 0x40
lea eax, [ebp - 0x6c]
movaps xmm0, xmmword [0x10109180]
lea ecx, [ebp - 0xb0]
pxor xmm0, xmmword [0x101096b0]
push eax
movups xmmword [ebp - 0x6c], xmm0
mov byte [ebp - 0x5c], 0
call fcn.10020980
push 0x1010622b
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x41
call fcn.10020980
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [edi + 0x428]
call fcn.10020900
lea eax, [ebp - 0xc8]
mov byte [edi + 0x459], 0
push eax
lea ecx, [edi + 0x490]
mov dword [edi + 0x4a8], 0
mov dword [edi + 0x400], 8
mov dword [edi + 0x404], 8
mov dword [edi + 0x464], 0x42480000
mov dword [edi + 0x468], 0x44480000
mov dword [edi + 0x460], 0x43480000
mov dword [edi + 0x474], 0
mov dword [edi + 0x46c], 0x42480000
call fcn.10099b10
lea ecx, [ebp - 0x98]
call fcn.10020930
lea ecx, [ebp - 0xb0]
call fcn.10020930
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.10043670
mov dword [ebp - 0x20], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x408], 0
imul eax, dword [edi + 0x408], 0xeb
add eax, 0x14
mov dword [edi + 0x3f4], eax
mov dword [edi + 0x3fc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x40c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10099ff0
movaps xmm0, xmmword [0x10109180]
lea eax, [ebp - 0x6c]
pxor xmm0, xmmword [0x101096a0]
lea ecx, [ebp - 0xc8]
push eax
lea esi, [edi + 0x4ac]
mov byte [ebp - 0x5c], 0
movups xmmword [ebp - 0x6c], xmm0
call fcn.10020980
mov dword [ebp - 4], 0x43
mov ecx, 0x10
movaps xmm0, xmmword [0x10109180]
pxor xmm0, xmmword [0x10109690]
mov dword [ebp - 0x88], 0x81c2c58c
mov dword [ebp - 0x84], 0xc9c1cdcb
mov byte [ebp - 0x80], 0xac
movups xmmword [ebp - 0x98], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x98], 0xac
inc ecx
cmp ecx, 0x19
jb 0x10090110
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10020980
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x44
push eax
lea ecx, [edi + 0x4e4]
call fcn.10020900
lea eax, [ebp - 0xb0]
mov byte [edi + 0x515], 1
push eax
lea ecx, [edi + 0x51c]
call fcn.10020900
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x518], 0
call fcn.10020930
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.10020930
mov dword [ebp - 0x20], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x4c4], 1
imul eax, dword [edi + 0x4c4], 0xeb
add eax, 0x14
mov dword [edi + 0x4b0], eax
mov dword [edi + 0x4b8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c8], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10099ff0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x6d746968
push eax
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x2c], 0x656b7261
lea esi, [edi + 0x534]
mov word [ebp - 0x28], 0x72
call fcn.10020980
mov dword [ebp - 4], 0x45
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x40], 0x6d746968
mov dword [ebp - 0x3c], 0x656b7261
mov word [ebp - 0x38], 0x72
call fcn.10020980
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [edi + 0x56c]
call fcn.10020900
lea eax, [ebp - 0xb0]
mov byte [edi + 0x59d], 1
push eax
lea ecx, [edi + 0x5a4]
call fcn.10020900
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x5a0], 0
call fcn.10020930
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.10020930
mov dword [ebp - 0x20], 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 - 0x20]
push eax
call fcn.10099ff0
lea esi, [edi + 0x644]
mov dword [ebp - 0x30], 0x6c6c696b
lea eax, [ebp - 0x30]
mov dword [ebp - 0x2c], 0x64656566
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x28], 0
call fcn.10020980
mov dword [ebp - 4], 0x47
mov ecx, 0x10
movaps xmm0, xmmword [0x10109180]
pxor xmm0, xmmword [0x101094c0]
mov word [ebp - 0x5c], 0xacc8
movups xmmword [ebp - 0x6c], xmm0
xor byte [ebp + ecx - 0x6c], 0xac
inc ecx
cmp ecx, 0x12
jb 0x100902e4
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10020980
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [edi + 0x67c]
call fcn.10020900
lea eax, [ebp - 0xb0]
mov byte [edi + 0x6ad], 1
push eax
lea ecx, [edi + 0x6b4]
call fcn.10020900
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x6b0], 0
call fcn.10020930
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.10020930
mov dword [edi + 0x6a8], 0x10024050
lea ecx, [edi + 0x18]
mov dword [ebp - 0x20], esi
mov dword [edi + 0x65c], 1
imul eax, dword [edi + 0x65c], 0xeb
add eax, 0x14
mov dword [edi + 0x648], eax
mov dword [edi + 0x650], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x660], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10099ff0
movaps xmm0, xmmword [0x10109180]
lea esi, [edi + 0x6cc]
pxor xmm0, xmmword [0x10109320]
mov ecx, 0x10
mov dword [ebp - 0x5c], 0xaccdc2c5
movups xmmword [ebp - 0x6c], xmm0
nop
xor byte [ebp + ecx - 0x6c], 0xac
inc ecx
cmp ecx, 0x14
jb 0x100903c0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xc8]
call fcn.10020980
mov dword [ebp - 4], 0x49
mov ecx, 0x10
movaps xmm0, xmmword [0x10109180]
pxor xmm0, xmmword [0x10109310]
mov dword [ebp - 0x84], 0xaccdc2c5
movups xmmword [ebp - 0x94], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x94], 0xac
inc ecx
cmp ecx, 0x14
jb 0x10090410
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xb0]
call fcn.10020980
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [edi + 0x704]
call fcn.10020900
lea eax, [ebp - 0xb0]
mov byte [edi + 0x735], 1
push eax
lea ecx, [edi + 0x73c]
call fcn.10020900
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x738], 0
call fcn.10020930
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.10020930
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x6e4], 1
imul eax, dword [edi + 0x6e4], 0xeb
add eax, 0x14
mov dword [edi + 0x6d0], eax
mov dword [edi + 0x6d8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6e8], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10099ff0
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.100c6a45
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret