Function at 0x10057790
Capabilities:
Access peb ldr_data
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Get number of processors
Get process heap flags
Parse pe header

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 0x100cd357
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xca8
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 - 0xe8], edi
lea eax, [ebp - 0x2a8]
mov dword [ebp - 0x2a8], 0x69746e61
push eax
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 0x2a4], 0x6d69612d
mov byte [ebp - 0x2a0], 0
call fcn.1002a550
lea eax, [ebp - 0x4c0]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.100436b0
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1e8], 0x62616e65
push eax
lea ecx, [ebp - 0x4f0]
mov word [ebp - 0x1e4], 0x656c
lea esi, [edi + 0x30]
mov byte [ebp - 0x1e2], 0
call fcn.1002a550
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 0x1f0], 0x62616e65
mov word [ebp - 0x1ec], 0x656c
mov byte [ebp - 0x1ea], 0
call fcn.1002a550
lea eax, [ebp - 0x4f0]
mov byte [ebp - 4], 2
push eax
lea ecx, [edi + 0x68]
call fcn.100436b0
lea eax, [ebp - 0x4d8]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.100436b0
lea ecx, [ebp - 0x4d8]
mov byte [edi + 0x9c], 0
call fcn.1002a500
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
mov dword [ebp - 0x80], esi
lea ecx, [ebp - 0x80]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
push ecx
lea ecx, [edi + 0x18]
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
call fcn.1003f320
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x2c0], 0x65657266
push eax
lea ecx, [ebp - 0x520]
mov dword [ebp - 0x2bc], 0x6e617473
lea esi, [edi + 0xb8]
mov word [ebp - 0x2b8], 0x64
call fcn.1002a550
mov dword [ebp - 4], 3
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x2cc], 0x65657266
mov dword [ebp - 0x2c8], 0x6e617473
mov word [ebp - 0x2c4], 0x64
call fcn.1002a550
mov byte [ebp - 4], 4
lea eax, [ebp - 0x520]
push eax
lea ecx, [edi + 0xf0]
call fcn.100436b0
lea eax, [ebp - 0x508]
mov byte [edi + 0x121], 1
push eax
lea ecx, [edi + 0x128]
call fcn.100436b0
lea ecx, [ebp - 0x508]
mov byte [edi + 0x124], 0
call fcn.1002a500
lea ecx, [ebp - 0x520]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
mov dword [ebp - 0x84], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
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 - 0x84]
push eax
call fcn.1003f320
lea eax, [ebp - 0x164]
mov dword [ebp - 0x164], 0x66666f
push eax
lea ecx, [ebp - 0xc10]
call fcn.1002a550
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 5
push eax
lea ecx, [ebp - 0xbf8]
mov dword [ebp - 0x1a8], 0x6e776f64
mov byte [ebp - 0x1a4], 0
call fcn.1002a550
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xbe0]
mov word [ebp - 0xec], 0x7075
mov byte [ebp - 0xea], 0
call fcn.1002a550
mov byte [ebp - 4], 7
lea eax, [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0xbc8]
mov dword [ebp - 0x1f8], 0x646e6172
mov word [ebp - 0x1f4], 0x6d6f
mov byte [ebp - 0x1f2], 0
call fcn.1002a550
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0xbb0]
mov dword [ebp - 0x1b0], 0x61656469
mov word [ebp - 0x1ac], 0x6c
call fcn.1002a550
lea eax, [ebp - 0x303]
mov dword [ebp - 4], 9
push eax
lea ecx, [ebp - 0xb98]
push ecx
lea edx, [ebp - 0xc10]
push edx
lea ecx, [ebp - 0x3b8]
call fcn.10099870
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1b8], 0x63746970
mov word [ebp - 0x1b4], 0x68
push eax
lea ecx, [ebp - 0x550]
call fcn.1002a550
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x538]
mov dword [ebp - 0x1c0], 0x63746970
mov word [ebp - 0x1bc], 0x68
call fcn.1002a550
lea eax, [ebp - 0x550]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [edi + 0x178]
call fcn.100436b0
lea eax, [ebp - 0x538]
mov byte [edi + 0x1a9], 1
push eax
lea ecx, [edi + 0x1b0]
call fcn.100436b0
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 - 0x3b4]
mov esi, dword [ebp - 0x3b8]
mov dword [ebp - 0xa8], ecx
cmp esi, ecx
je 0x10057bd2
mov edi, eax
push esi
mov ecx, edi
call fcn.1004b280
add esi, 0x18
cmp esi, dword [ebp - 0xa8]
jne 0x10057bb3
mov edi, dword [ebp - 0xe8]
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 0x10057bf4
mov dword [edi + 0x1d8], 0
lea ecx, [ebp - 0x538]
call fcn.1002a500
lea ecx, [ebp - 0x550]
call fcn.1002a500
lea ecx, [ebp - 0x3b8]
call fcn.1004adf0
push fcn.1002a500
push 5
push 0x18
lea eax, [ebp - 0xc10]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c74f8
lea eax, [edi + 0x140]
mov dword [ebp - 0x88], 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 - 0x88]
push eax
call fcn.1003f320
lea eax, [ebp - 0x160]
mov dword [ebp - 0x160], 0x66666f
push eax
lea ecx, [ebp - 0xad8]
call fcn.1002a550
lea eax, [ebp - 0x15c]
mov dword [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xac0]
mov dword [ebp - 0x15c], 0x303831
call fcn.1002a550
mov byte [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x134], 0x7b6b636a
mov dword [ebp - 0x130], 0x2f2f3231
mov word [ebp - 0x12c], 0x293e
mov byte [ebp - 0x12a], 0x5b
nop word [eax + eax]
xor byte [ebp + ecx - 0x134], 0x5b
inc ecx
cmp ecx, 0xb
jb 0x10057cf0
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0xaa8]
call fcn.1002a550
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0xa90]
mov dword [ebp - 0x1a0], 0x6e697073
mov byte [ebp - 0x19c], 0
call fcn.1002a550
lea eax, [ebp - 0x2fd]
mov dword [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0xa78]
push ecx
lea edx, [ebp - 0xad8]
push edx
lea ecx, [ebp - 0x3ac]
call fcn.10099870
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x580]
mov dword [ebp - 0x158], 0x776179
call fcn.1002a550
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x154], 0x776179
call fcn.1002a550
lea eax, [ebp - 0x580]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [edi + 0x218]
call fcn.100436b0
lea eax, [ebp - 0x568]
mov byte [edi + 0x249], 1
push eax
lea ecx, [edi + 0x250]
call fcn.100436b0
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 - 0x3a8]
mov esi, dword [ebp - 0x3ac]
mov dword [ebp - 0xa8], eax
cmp esi, eax
je 0x10057e3b
lea eax, [edi + 0x268]
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
nop word [eax + eax]
push esi
mov ecx, eax
call fcn.1004b280
mov eax, dword [ebp - 0xb0]
add esi, 0x18
cmp esi, edi
jne 0x10057e20
mov edi, dword [ebp - 0xe8]
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 0x10057e64
mov dword [edi + 0x278], 0
lea ecx, [ebp - 0x568]
call fcn.1002a500
lea ecx, [ebp - 0x580]
call fcn.1002a500
lea ecx, [ebp - 0x3ac]
call fcn.1004adf0
push fcn.1002a500
push 4
push 0x18
lea eax, [ebp - 0xad8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c74f8
lea eax, [edi + 0x1e0]
mov dword [ebp - 0x8c], 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 - 0x8c]
push eax
call fcn.1003f320
lea eax, [ebp - 0x318]
mov dword [ebp - 0x318], 0xb0
push eax
lea ecx, [ebp - 0x5b0]
call fcn.10099cf0
mov dword [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0x180], 0x2f2f3231
mov dword [ebp - 0x17c], 0x2904293e
mov dword [ebp - 0x178], 0x3e3c353a
mov byte [ebp - 0x174], 0x5b
nop word [eax + eax]
xor byte [ebp + ecx - 0x180], 0x5b
inc ecx
cmp ecx, 0xd
jb 0x10057f40
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x598]
call fcn.1002a550
push 0x100d5130
lea ecx, [ebp - 0x970]
mov byte [ebp - 4], 0x15
call fcn.1002a550
lea eax, [ebp - 0x598]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [edi + 0x2b8]
call fcn.100436b0
mov byte [edi + 0x2e9], 0
lea eax, [ebp - 0x5b0]
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.10099cc0
lea ecx, [ebp - 0x970]
call fcn.1002a500
lea ecx, [ebp - 0x598]
call fcn.1002a500
lea ecx, [ebp - 0x5b0]
mov dword [ebp - 4], 0xffffffff
call fcn.1004ae80
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0x1002c820
lea ecx, [edi + 0x2d8]
push eax
call fcn.1003f320
lea eax, [edi + 0x280]
mov dword [ebp - 0x7c], eax
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 - 0x7c]
push eax
call fcn.1003f320
mov dword [ebp - 0x110], 0x2f28323f
xor ecx, ecx
mov dword [ebp - 0x10c], 0x322f2934
mov word [ebp - 0x108], 0x3534
mov byte [ebp - 0x106], 0x5b
xor byte [ebp + ecx - 0x110], 0x5b
inc ecx
cmp ecx, 0xb
jb 0x100580a2
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x5e0]
call fcn.1002a550
mov dword [ebp - 4], 0x17
xor ecx, ecx
mov dword [ebp - 0x11c], 0x2f28323f
mov dword [ebp - 0x118], 0x322f2934
mov word [ebp - 0x114], 0x3534
mov byte [ebp - 0x112], 0x5b
nop
xor byte [ebp + ecx - 0x11c], 0x5b
inc ecx
cmp ecx, 0xb
jb 0x100580f0
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x5c8]
call fcn.1002a550
lea eax, [ebp - 0x5e0]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [edi + 0x374]
call fcn.100436b0
lea eax, [ebp - 0x5c8]
mov byte [edi + 0x3a5], 1
push eax
lea ecx, [edi + 0x3ac]
call fcn.100436b0
lea ecx, [ebp - 0x5c8]
mov byte [edi + 0x3a8], 0
call fcn.1002a500
lea ecx, [ebp - 0x5e0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
lea eax, [edi + 0x33c]
mov dword [ebp - 0x78], eax
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 - 0x78]
push eax
call fcn.1003f320
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0xb0
push eax
lea ecx, [ebp - 0x628]
lea esi, [edi + 0x3c4]
call fcn.10099cf0
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x484]
movaps xmm0, xmmword [0x100d79f0]
lea ecx, [ebp - 0x610]
xorps xmm0, xmmword [0x100d7710]
mov byte [ebp - 0x474], 0x5b
push eax
movups xmmword [ebp - 0x484], xmm0
mov byte [ebp - 0x474], 0
call fcn.1002a550
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x5f8]
mov dword [ebp - 0x1e0], 0x676e6172
mov word [ebp - 0x1dc], 0x65
call fcn.1002a550
lea eax, [ebp - 0x610]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [edi + 0x3fc]
call fcn.100436b0
lea eax, [ebp - 0x5f8]
mov byte [edi + 0x42d], 1
push eax
lea ecx, [edi + 0x44c]
call fcn.100436b0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x42d], al
cmovne eax, ecx
mov dword [edi + 0x47c], eax
add eax, 8
mov dword [edi + 0x3d4], eax
mov dword [edi + 0x3d8], eax
mov dword [edi + 0x438], 0xc3b40000
mov dword [edi + 0x43c], 0x43b40000
mov dword [edi + 0x434], 0x42b40000
lea eax, [ebp - 0x628]
mov dword [edi + 0x448], 0
push eax
lea ecx, [edi + 0x464]
mov dword [edi + 0x440], 0x3f800000
call fcn.10099cc0
lea ecx, [ebp - 0x5f8]
call fcn.1002a500
lea ecx, [ebp - 0x610]
call fcn.1002a500
lea ecx, [ebp - 0x628]
mov dword [ebp - 4], 0xffffffff
call fcn.1004ae80
lea eax, [ebp - 0x74]
mov dword [ebp - 0x74], 0x1002c830
lea ecx, [esi + 0x58]
push eax
call fcn.1003f320
mov dword [ebp - 0x70], 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 - 0x70]
push eax
call fcn.1003f320
lea eax, [ebp - 0x31c]
mov dword [ebp - 0x31c], 0x25
push eax
lea ecx, [ebp - 0x670]
lea esi, [edi + 0x480]
call fcn.10099cf0
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0x498]
movaps xmm0, xmmword [0x100d79f0]
lea ecx, [ebp - 0x658]
xorps xmm0, xmmword [0x100d7780]
mov byte [ebp - 0x488], 0x5b
push eax
movups xmmword [ebp - 0x498], xmm0
mov byte [ebp - 0x488], 0
call fcn.1002a550
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x640]
mov dword [ebp - 0x1c8], 0x65657073
mov word [ebp - 0x1c4], 0x64
call fcn.1002a550
lea eax, [ebp - 0x658]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [edi + 0x4b8]
call fcn.100436b0
lea eax, [ebp - 0x640]
mov byte [edi + 0x4e9], 1
push eax
lea ecx, [edi + 0x508]
call fcn.100436b0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x4e9], al
cmovne eax, ecx
mov dword [edi + 0x538], eax
add eax, 8
mov dword [edi + 0x490], eax
mov dword [edi + 0x494], eax
lea eax, [ebp - 0x670]
mov dword [edi + 0x4f4], 0
mov dword [edi + 0x4f8], 0x41200000
mov dword [edi + 0x4f0], 0x40833333
mov dword [edi + 0x504], 1
mov dword [edi + 0x4fc], 0x3f800000
push eax
lea ecx, [edi + 0x520]
call fcn.10099cc0
lea ecx, [ebp - 0x640]
call fcn.1002a500
lea ecx, [ebp - 0x658]
call fcn.1002a500
lea ecx, [ebp - 0x670]
mov dword [ebp - 4], 0xffffffff
call fcn.1004ae80
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0x1002c830
lea ecx, [esi + 0x58]
push eax
call fcn.1003f320
mov dword [ebp - 0x64], 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 - 0x64]
push eax
call fcn.1003f320
mov dword [ebp - 0x170], 0x3e303a3d
xor ecx, ecx
mov dword [ebp - 0x16c], 0x30373a2c
mov dword [ebp - 0x168], 0x5b3c3532
nop word [eax + eax]
xor byte [ebp + ecx - 0x170], 0x5b
inc ecx
cmp ecx, 0xc
jb 0x10058500
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0xa30]
call fcn.1002a550
lea eax, [ebp - 0x248]
mov dword [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0xa18]
mov dword [ebp - 0x248], 0x6e6e7572
mov dword [ebp - 0x244], 0x676e69
call fcn.1002a550
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 0xa00]
mov dword [ebp - 0x200], 0x61206e69
mov word [ebp - 0x1fc], 0x7269
mov byte [ebp - 0x1fa], 0
call fcn.1002a550
lea eax, [ebp - 0x2fe]
mov dword [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x9e8]
push ecx
lea edx, [ebp - 0xa30]
push edx
lea ecx, [ebp - 0x3ec]
call fcn.10099870
mov byte [ebp - 4], 0x22
mov ecx, 0x10
movaps xmm0, xmmword [0x100d79f0]
xorps xmm0, xmmword [0x100d7580]
mov dword [ebp - 0x354], 0x28293e37
mov byte [ebp - 0x350], 0x5b
movups xmmword [ebp - 0x364], xmm0
xor byte [ebp + ecx - 0x364], 0x5b
inc ecx
cmp ecx, 0x15
jb 0x100585d3
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0x6a0]
call fcn.1002a550
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x688]
mov dword [ebp - 0x2b4], 0x61736964
mov dword [ebp - 0x2b0], 0x72656c62
mov word [ebp - 0x2ac], 0x73
call fcn.1002a550
lea ecx, [ebp - 0x3a0]
call fcn.1002afa0
lea eax, [ebp - 0x6a0]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [edi + 0x574]
call fcn.100436b0
lea eax, [ebp - 0x688]
mov byte [edi + 0x5a5], 1
push eax
lea ecx, [edi + 0x5ac]
call fcn.100436b0
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 - 0x3e8]
mov esi, dword [ebp - 0x3ec]
mov dword [ebp - 0xa8], eax
cmp esi, eax
je 0x100586cb
lea eax, [edi + 0x5c4]
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.1004b280
mov eax, dword [ebp - 0xb0]
add esi, 0x18
cmp esi, edi
jne 0x100586b0
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xb0], eax
cmp eax, ecx
je 0x100587ae
lea ecx, [edi + 0x5d4]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x46c]
push eax
call fcn.10029a70
lea ecx, [edi + 0x5d4]
mov esi, dword [eax]
lea eax, [ebp - 0x470]
push eax
call fcn.10029a80
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x41c]
push dword [eax]
call fcn.1002aa70
add esp, 8
lea ecx, [edi + 0x5d4]
mov esi, eax
lea eax, [ebp - 0x420]
push eax
call fcn.10029a70
mov ecx, dword [edi + 0x5c8]
sub ecx, dword [edi + 0x5c4]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1c], eax
jae 0x10058779
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x5d4]
call fcn.1003f320
cmp esi, dword [ebp - 0xa8]
jne 0x1005878d
mov eax, dword [edi + 0x5a0]
test eax, eax
je 0x1005878d
call eax
mov eax, dword [ebp - 0xb0]
lea ecx, [edi + 0x5d4]
add eax, 4
mov dword [ebp - 0xb0], eax
cmp eax, dword [ebp - 0xac]
jne 0x100586f1
lea ecx, [ebp - 0x3a0]
call fcn.10029bd0
lea ecx, [ebp - 0x688]
call fcn.1002a500
lea ecx, [ebp - 0x6a0]
call fcn.1002a500
lea ecx, [ebp - 0x3ec]
call fcn.1004adf0
push fcn.1002a500
push 3
push 0x18
lea eax, [ebp - 0xa30]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c74f8
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0x1002c830
lea esi, [edi + 0x53c]
lea ecx, [esi + 0x58]
push eax
call fcn.1003f320
mov dword [ebp - 0x40], 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 - 0x40]
push eax
call fcn.1003f320
lea eax, [ebp - 0x150]
mov dword [ebp - 0x150], 0x66666f
push eax
lea ecx, [ebp - 0xb38]
call fcn.1002a550
lea eax, [ebp - 0x240]
mov dword [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0xb20]
mov dword [ebp - 0x240], 0x6974706f
mov dword [ebp - 0x23c], 0x6c616d
call fcn.1002a550
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0xb08]
mov dword [ebp - 0x29c], 0x6f70706f
mov dword [ebp - 0x298], 0x65746973
mov byte [ebp - 0x294], 0
call fcn.1002a550
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0xaf0]
mov dword [ebp - 0x208], 0x74737563
mov word [ebp - 0x204], 0x6d6f
mov byte [ebp - 0x202], 0
call fcn.1002a550
lea eax, [ebp - 0x2ff]
mov dword [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0xad8]
push ecx
lea edx, [ebp - 0xb38]
push edx
lea ecx, [ebp - 0x3e0]
call fcn.10099870
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x2d8], 0x79646f62
mov dword [ebp - 0x2d4], 0x6b61665f
mov word [ebp - 0x2d0], 0x65
push eax
lea ecx, [ebp - 0x6d0]
call fcn.1002a550
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x6b8]
mov dword [ebp - 0x2e4], 0x656b6166
mov dword [ebp - 0x2e0], 0x646f6220
mov word [ebp - 0x2dc], 0x79
call fcn.1002a550
lea eax, [ebp - 0x6d0]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [edi + 0x61c]
call fcn.100436b0
lea eax, [ebp - 0x6b8]
mov byte [edi + 0x64d], 1
push eax
lea ecx, [edi + 0x654]
call fcn.100436b0
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 - 0x3dc]
mov esi, dword [ebp - 0x3e0]
mov dword [ebp - 0xac], eax
cmp esi, eax
je 0x10058a1c
lea eax, [edi + 0x66c]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
push esi
mov ecx, eax
call fcn.1004b280
mov eax, dword [ebp - 0xa8]
add esi, 0x18
cmp esi, edi
jne 0x10058a01
mov edi, dword [ebp - 0xe8]
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 0x10058a45
mov dword [edi + 0x67c], 0
lea ecx, [ebp - 0x6b8]
call fcn.1002a500
lea ecx, [ebp - 0x6d0]
call fcn.1002a500
lea ecx, [ebp - 0x3e0]
call fcn.1004adf0
push fcn.1002a500
push 4
push 0x18
lea eax, [ebp - 0xb38]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c74f8
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 0x1002c810
lea esi, [edi + 0x5e4]
lea ecx, [esi + 0x58]
push eax
call fcn.1003f320
mov dword [ebp - 0x50], 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 - 0x50]
push eax
call fcn.1003f320
lea eax, [ebp - 0x314]
mov dword [ebp - 0x314], 0xb0
push eax
lea ecx, [ebp - 0x700]
call fcn.10099cf0
mov dword [ebp - 4], 0x2d
mov ecx, 0x10
movaps xmm0, xmmword [0x100d79f0]
xorps xmm0, xmmword [0x100d7310]
mov word [ebp - 0x37c], 0x373a
mov byte [ebp - 0x37a], 0x5b
movups xmmword [ebp - 0x38c], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x38c], 0x5b
inc ecx
cmp ecx, 0x13
jb 0x10058b30
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.1002a550
push 0x100d5130
lea ecx, [ebp - 0x988]
mov byte [ebp - 4], 0x2e
call fcn.1002a550
lea eax, [ebp - 0x6e8]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [edi + 0x6bc]
call fcn.100436b0
mov byte [edi + 0x6ed], 0
lea eax, [ebp - 0x700]
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.10099cc0
lea ecx, [ebp - 0x988]
call fcn.1002a500
lea ecx, [ebp - 0x6e8]
call fcn.1002a500
lea ecx, [ebp - 0x700]
mov dword [ebp - 4], 0xffffffff
call fcn.1004ae80
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x1002c810
push eax
lea ecx, [edi + 0x6dc]
call fcn.1003f320
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x1002c800
push eax
lea ecx, [edi + 0x6dc]
call fcn.1003f320
lea eax, [edi + 0x684]
mov dword [ebp - 0x3c], 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 - 0x3c]
push eax
call fcn.1003f320
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x14c], 0x66666f
push eax
lea ecx, [ebp - 0xcb8]
call fcn.1002a550
lea eax, [ebp - 0x238]
mov dword [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0xca0]
mov dword [ebp - 0x238], 0x61666564
mov dword [ebp - 0x234], 0x746c75
call fcn.1002a550
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0xc88]
mov dword [ebp - 0x290], 0x616c6572
mov dword [ebp - 0x28c], 0x65766974
mov byte [ebp - 0x288], 0
call fcn.1002a550
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0xc70]
mov dword [ebp - 0x210], 0x7474696a
mov word [ebp - 0x20c], 0x7265
mov byte [ebp - 0x20a], 0
call fcn.1002a550
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0xc58]
mov dword [ebp - 0x220], 0x61746f72
mov word [ebp - 0x21c], 0x6574
mov byte [ebp - 0x21a], 0
call fcn.1002a550
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xc40]
mov dword [ebp - 0x218], 0x646e6172
mov word [ebp - 0x214], 0x6d6f
mov byte [ebp - 0x212], 0
call fcn.1002a550
mov byte [ebp - 4], 0x35
xor ecx, ecx
mov dword [ebp - 0x128], 0x3a383437
mov dword [ebp - 0x124], 0x322d7b37
mov word [ebp - 0x120], 0x2c3e
mov byte [ebp - 0x11e], 0x5b
xor byte [ebp + ecx - 0x128], 0x5b
inc ecx
cmp ecx, 0xb
jb 0x10058db0
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0xc28]
call fcn.1002a550
lea eax, [ebp - 0x300]
mov dword [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0xc10]
push ecx
lea edx, [ebp - 0xcb8]
push edx
lea ecx, [ebp - 0x3d4]
call fcn.10099870
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x730]
mov dword [ebp - 0x254], 0x656b6166
mov dword [ebp - 0x250], 0x7761795f
mov byte [ebp - 0x24c], 0
call fcn.1002a550
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x718]
mov dword [ebp - 0x284], 0x656b6166
mov dword [ebp - 0x280], 0x77617920
mov byte [ebp - 0x27c], 0
call fcn.1002a550
lea eax, [ebp - 0x730]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [edi + 0x778]
call fcn.100436b0
lea eax, [ebp - 0x718]
mov byte [edi + 0x7a9], 1
push eax
lea ecx, [edi + 0x7b0]
call fcn.100436b0
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 - 0x3d0]
mov esi, dword [ebp - 0x3d4]
mov dword [ebp - 0xac], eax
cmp esi, eax
je 0x10058ef0
lea eax, [edi + 0x7c8]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
push esi
mov ecx, eax
call fcn.1004b280
mov eax, dword [ebp - 0xa8]
add esi, 0x18
cmp esi, edi
jne 0x10058ed5
mov edi, dword [ebp - 0xe8]
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 0x10058f19
mov dword [edi + 0x7d8], 0
lea ecx, [ebp - 0x718]
call fcn.1002a500
lea ecx, [ebp - 0x730]
call fcn.1002a500
lea ecx, [ebp - 0x3d4]
call fcn.1004adf0
push fcn.1002a500
push 7
push 0x18
lea eax, [ebp - 0xcb8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c74f8
lea eax, [edi + 0x740]
mov dword [ebp - 0x38], 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 - 0x38]
push eax
call fcn.1003f320
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x30c], 0xb0
push eax
lea ecx, [ebp - 0x760]
call fcn.10099cf0
mov dword [ebp - 4], 0x3a
xor ecx, ecx
mov dword [ebp - 0x190], 0x3e303a3d
mov dword [ebp - 0x18c], 0x373e2904
mov dword [ebp - 0x188], 0x2d322f3a
mov word [ebp - 0x184], 0x5b3e
nop word [eax + eax]
xor byte [ebp + ecx - 0x190], 0x5b
inc ecx
cmp ecx, 0xe
jb 0x10058ff0
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x748]
call fcn.1002a550
push 0x100d5130
lea ecx, [ebp - 0x9a0]
mov byte [ebp - 4], 0x3b
call fcn.1002a550
lea eax, [ebp - 0x748]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [edi + 0x818]
call fcn.100436b0
mov byte [edi + 0x849], 0
lea eax, [ebp - 0x760]
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.10099cc0
lea ecx, [ebp - 0x9a0]
call fcn.1002a500
lea ecx, [ebp - 0x748]
call fcn.1002a500
lea ecx, [ebp - 0x760]
mov dword [ebp - 4], 0xffffffff
call fcn.1004ae80
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x1002d670
lea ecx, [edi + 0x838]
push eax
call fcn.1003f320
lea eax, [edi + 0x7e0]
mov dword [ebp - 0x28], eax
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 - 0x28]
push eax
call fcn.1003f320
lea eax, [ebp - 0x310]
mov dword [ebp - 0x310], 0xb0
push eax
lea ecx, [ebp - 0x790]
call fcn.10099cf0
mov dword [ebp - 4], 0x3d
mov ecx, 0x10
movaps xmm0, xmmword [0x100d79f0]
xorps xmm0, xmmword [0x100d75e0]
mov word [ebp - 0x408], 0x5b3e
movups xmmword [ebp - 0x418], xmm0
nop dword [eax]
xor byte [ebp + ecx - 0x418], 0x5b
inc ecx
cmp ecx, 0x12
jb 0x10059170
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x778]
call fcn.1002a550
push 0x100d5130
lea ecx, [ebp - 0x9b8]
mov byte [ebp - 4], 0x3e
call fcn.1002a550
lea eax, [ebp - 0x778]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [edi + 0x8d4]
call fcn.100436b0
mov byte [edi + 0x905], 0
lea eax, [ebp - 0x790]
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.10099cc0
lea ecx, [ebp - 0x9b8]
call fcn.1002a500
lea ecx, [ebp - 0x778]
call fcn.1002a500
lea ecx, [ebp - 0x790]
mov dword [ebp - 4], 0xffffffff
call fcn.1004ae80
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x1002d6f0
lea ecx, [edi + 0x8f4]
push eax
call fcn.1003f320
lea eax, [edi + 0x89c]
mov dword [ebp - 0x20], eax
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 - 0x20]
push eax
call fcn.1003f320
mov dword [ebp - 0xf8], 0x43c3a37
xor ecx, ecx
mov dword [ebp - 0xf4], 0x393a353e
mov word [ebp - 0xf0], 0x3e37
mov byte [ebp - 0xee], 0x5b
nop dword [eax]
xor byte [ebp + ecx - 0xf8], 0x5b
inc ecx
cmp ecx, 0xb
jb 0x100592d0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x7c0]
call fcn.1002a550
mov dword [ebp - 4], 0x40
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 0x278], 0x656b6166
mov dword [ebp - 0x274], 0x67616c2d
mov byte [ebp - 0x270], 0
call fcn.1002a550
lea eax, [ebp - 0x7c0]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [edi + 0x990]
call fcn.100436b0
lea eax, [ebp - 0x7a8]
mov byte [edi + 0x9c1], 1
push eax
lea ecx, [edi + 0x9c8]
call fcn.100436b0
lea ecx, [ebp - 0x7a8]
mov byte [edi + 0x9c4], 0
call fcn.1002a500
lea ecx, [ebp - 0x7c0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
lea eax, [edi + 0x958]
mov dword [ebp - 0x98], eax
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 - 0x98]
push eax
call fcn.1003f320
lea eax, [ebp - 0x198]
mov dword [ebp - 0x198], 0x65766f6d
push eax
lea ecx, [ebp - 0xa78]
mov byte [ebp - 0x194], 0
call fcn.1002a550
lea eax, [ebp - 0x148]
mov dword [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0x148], 0x726961
call fcn.1002a550
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0x230], 0x756f7263
mov word [ebp - 0x22c], 0x6863
mov byte [ebp - 0x22a], 0
call fcn.1002a550
lea eax, [ebp - 0x301]
mov dword [ebp - 4], 0x44
push eax
lea ecx, [ebp - 0xa30]
push ecx
lea edx, [ebp - 0xa78]
push edx
lea ecx, [ebp - 0x3f8]
call fcn.10099870
mov byte [ebp - 4], 0x45
mov dword [ebp - 0x104], 0x43c3a37
mov dword [ebp - 0x100], 0x322f383a
mov word [ebp - 0xfc], 0x3e2d
mov byte [ebp - 0xfa], 0x5b
xor ecx, ecx
nop dword [eax]
xor byte [ebp + ecx - 0x104], 0x5b
inc ecx
cmp ecx, 0xb
jb 0x10059490
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x7d8]
call fcn.1002a550
push 0x100d5130
lea ecx, [ebp - 0x9d0]
mov byte [ebp - 4], 0x46
call fcn.1002a550
lea ecx, [ebp - 0x3c8]
call fcn.1002afa0
lea eax, [ebp - 0x7d8]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [edi + 0xa18]
call fcn.100436b0
mov byte [edi + 0xa49], 0
mov dword [edi + 0xa84], 0
mov dword [edi + 0x9f0], 0x14
mov dword [edi + 0x9f4], 0x14
mov eax, dword [ebp - 0x3f4]
mov esi, dword [ebp - 0x3f8]
mov dword [ebp - 0xac], eax
cmp esi, eax
je 0x1005954d
lea eax, [edi + 0xa68]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
push esi
mov ecx, eax
call fcn.1004b280
mov eax, dword [ebp - 0xa8]
add esi, 0x18
cmp esi, edi
jne 0x10059532
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xb0], eax
cmp eax, ecx
je 0x10059630
lea ecx, [edi + 0xa78]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x430]
push eax
call fcn.10029a70
lea ecx, [edi + 0xa78]
mov esi, dword [eax]
lea eax, [ebp - 0x424]
push eax
call fcn.10029a80
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x428]
push dword [eax]
call fcn.1002aa70
add esp, 8
lea ecx, [edi + 0xa78]
mov esi, eax
lea eax, [ebp - 0x42c]
push eax
call fcn.10029a70
mov ecx, dword [edi + 0xa6c]
sub ecx, dword [edi + 0xa68]
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 0x100595fb
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xa78]
call fcn.1003f320
cmp esi, dword [ebp - 0xac]
jne 0x1005960f
mov eax, dword [edi + 0xa44]
test eax, eax
je 0x1005960f
call eax
mov eax, dword [ebp - 0xb0]
lea ecx, [edi + 0xa78]
add eax, 4
mov dword [ebp - 0xb0], eax
cmp eax, dword [ebp - 0xa8]
jne 0x10059573
lea ecx, [ebp - 0x3c8]
call fcn.10029bd0
lea ecx, [ebp - 0x9d0]
call fcn.1002a500
lea ecx, [ebp - 0x7d8]
call fcn.1002a500
lea ecx, [ebp - 0x3f8]
call fcn.1004adf0
push fcn.1002a500
push 3
push 0x18
lea eax, [ebp - 0xa78]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c74f8
lea eax, [edi + 0x9e0]
mov dword [ebp - 0x9c], 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 - 0x9c]
push eax
call fcn.1003f320
lea eax, [ebp - 0x144]
mov dword [ebp - 0x144], 0x78616d
push eax
lea ecx, [ebp - 0xb98]
call fcn.1002a550
lea eax, [ebp - 0x1d0]
mov dword [ebp - 4], 0x49
push eax
lea ecx, [ebp - 0xb80]
mov dword [ebp - 0x1d0], 0x61657262
mov word [ebp - 0x1cc], 0x6b
call fcn.1002a550
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0xb68]
mov dword [ebp - 0x228], 0x646e6172
mov word [ebp - 0x224], 0x6d6f
mov byte [ebp - 0x222], 0
call fcn.1002a550
mov byte [ebp - 4], 0x4b
xor ecx, ecx
mov dword [ebp - 0x140], 0x3a3e2939
mov dword [ebp - 0x13c], 0x2f287b30
mov word [ebp - 0x138], 0x2b3e
mov byte [ebp - 0x136], 0x5b
nop word [eax + eax]
xor byte [ebp + ecx - 0x140], 0x5b
inc ecx
cmp ecx, 0xb
jb 0x10059770
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0xb50]
call fcn.1002a550
lea eax, [ebp - 0x302]
mov dword [ebp - 4], 0x4c
push eax
lea ecx, [ebp - 0xb38]
push ecx
lea edx, [ebp - 0xb98]
push edx
lea ecx, [ebp - 0x404]
call fcn.10099870
mov byte [ebp - 4], 0x4d
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x7f0]
mov dword [ebp - 0x26c], 0x5f67616c
mov dword [ebp - 0x268], 0x65646f6d
mov byte [ebp - 0x264], 0
call fcn.1002a550
push 0x100d5130
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], 0x4e
call fcn.1002a550
lea eax, [ebp - 0x7f0]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0xac0]
call fcn.100436b0
mov byte [edi + 0xaf1], 0
mov dword [edi + 0xb24], 0
mov dword [edi + 0xa98], 0x14
mov dword [edi + 0xa9c], 0x14
mov eax, dword [ebp - 0x400]
mov esi, dword [ebp - 0x404]
mov dword [ebp - 0xac], eax
cmp esi, eax
je 0x1005987b
lea eax, [edi + 0xb10]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
nop
push esi
mov ecx, eax
call fcn.1004b280
mov eax, dword [ebp - 0xa8]
add esi, 0x18
cmp esi, edi
jne 0x10059860
mov edi, dword [ebp - 0xe8]
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 0x100598a4
mov dword [edi + 0xb20], 0
lea ecx, [ebp - 0x9e8]
call fcn.1002a500
lea ecx, [ebp - 0x7f0]
call fcn.1002a500
lea ecx, [ebp - 0x404]
call fcn.1004adf0
push fcn.1002a500
push 4
push 0x18
lea eax, [ebp - 0xb98]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c74f8
lea eax, [edi + 0xa88]
mov dword [ebp - 0xa0], 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 - 0xa0]
push eax
call fcn.1003f320
push 0x100d6a10
lea ecx, [ebp - 0x838]
lea esi, [edi + 0xb28]
call fcn.10099cf0
mov dword [ebp - 4], 0x50
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x820]
mov dword [ebp - 0x2f0], 0x5f67616c
mov dword [ebp - 0x2ec], 0x696d696c
mov word [ebp - 0x2e8], 0x74
call fcn.1002a550
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [ebp - 0x808]
mov dword [ebp - 0x1d8], 0x696d696c
mov word [ebp - 0x1d4], 0x74
call fcn.1002a550
lea eax, [ebp - 0x820]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [edi + 0xb60]
call fcn.100436b0
lea eax, [ebp - 0x808]
mov byte [edi + 0xb91], 1
push eax
lea ecx, [edi + 0xbb0]
call fcn.100436b0
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 - 0x838]
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.10099cc0
lea ecx, [ebp - 0x808]
call fcn.1002a500
lea ecx, [ebp - 0x820]
call fcn.1002a500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x838]
call fcn.1004ae80
mov dword [ebp - 0x2c], 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 - 0x2c]
push eax
call fcn.1003f320
lea eax, [ebp - 0x260]
mov dword [ebp - 0x260], 0x61657262
push eax
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x25c], 0x636c5f6b
mov byte [ebp - 0x258], 0
call fcn.1002a550
mov dword [ebp - 4], 0x53
mov ecx, 0x10
movaps xmm0, xmmword [0x100d79f0]
xorps xmm0, xmmword [0x100d7220]
mov dword [ebp - 0x324], 0x34322f3a
mov word [ebp - 0x320], 0x5b35
movups xmmword [ebp - 0x334], xmm0
xor byte [ebp + ecx - 0x334], 0x5b
inc ecx
cmp ecx, 0x16
jb 0x10059af2
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0x850]
call fcn.1002a550
lea eax, [ebp - 0x868]
mov byte [ebp - 4], 0x54
push eax
lea ecx, [edi + 0xca4]
call fcn.100436b0
lea eax, [ebp - 0x850]
mov byte [edi + 0xcd5], 1
push eax
lea ecx, [edi + 0xcdc]
call fcn.100436b0
lea ecx, [ebp - 0x850]
mov byte [edi + 0xcd8], 0
call fcn.1002a500
lea ecx, [ebp - 0x868]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
lea eax, [edi + 0xc6c]
mov dword [ebp - 0x30], eax
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 - 0x30]
push eax
call fcn.1003f320
lea eax, [ebp - 0x2fc]
mov dword [ebp - 0x2fc], 0x756e616d
push eax
lea ecx, [ebp - 0x898]
mov dword [ebp - 0x2f8], 0x615f6c61
lea esi, [edi + 0xcf4]
mov word [ebp - 0x2f4], 0x61
call fcn.1002a550
mov dword [ebp - 4], 0x55
lea eax, [ebp - 0x4a8]
movaps xmm0, xmmword [0x100d79f0]
lea ecx, [ebp - 0x880]
xorps xmm0, xmmword [0x100d7990]
push eax
movups xmmword [ebp - 0x4a8], xmm0
call fcn.1002a550
lea eax, [ebp - 0x898]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [edi + 0xd2c]
call fcn.100436b0
lea eax, [ebp - 0x880]
mov byte [edi + 0xd5d], 1
push eax
lea ecx, [edi + 0xd64]
call fcn.100436b0
lea ecx, [ebp - 0x880]
mov byte [edi + 0xd60], 0
call fcn.1002a500
lea ecx, [ebp - 0x898]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
mov dword [ebp - 0x44], 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 - 0x44]
push eax
call fcn.1003f320
mov esi, dword [0x100d5b64]
movaps xmm0, xmmword [0x100d79f0]
mov ecx, 0x10
xorps xmm0, xmmword [0x100d73d0]
mov dword [ebp - 0x368], 0x5b36323a
movups xmmword [ebp - 0x378], xmm0
nop dword [eax]
xor byte [ebp + ecx - 0x378], 0x5b
inc ecx
cmp ecx, 0x14
jb 0x10059cd0
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x8c8]
call fcn.1002a550
mov dword [ebp - 4], 0x57
mov ecx, 0x10
movaps xmm0, xmmword [0x100d79f0]
xorps xmm0, xmmword [0x100d7da0]
mov dword [ebp - 0x33c], 0x34373438
mov word [ebp - 0x338], 0x5b29
movups xmmword [ebp - 0x34c], xmm0
xor byte [ebp + ecx - 0x34c], 0x5b
inc ecx
cmp ecx, 0x16
jb 0x10059d24
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x8b0]
call fcn.1002a550
lea eax, [ebp - 0x8b0]
mov byte [ebp - 4], 0x58
push eax
lea ecx, [edi + 0xdec]
call fcn.100436b0
lea eax, [ebp - 0x8c8]
push eax
lea ecx, [edi + 0xdb4]
call fcn.100436b0
mov dword [edi + 0xe04], esi
lea ecx, [ebp - 0x8b0]
mov dword [edi + 0xe08], 0
call fcn.1002a500
lea ecx, [ebp - 0x8c8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
lea eax, [edi + 0xd7c]
mov dword [ebp - 0x58], 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 - 0x58]
push eax
call fcn.1003d4a0
push 0x61
lea ecx, [ebp - 0xd0]
call fcn.1002af90
push 0x61
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xd0], al
call fcn.1002af90
push 0x5f
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xcf], al
call fcn.1002af90
push 0x6c
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xce], al
call fcn.1002af90
push 0x65
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xcd], al
call fcn.1002af90
push 0x66
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xcc], al
call fcn.1002af90
push 0x74
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xcb], al
call fcn.1002af90
push 0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xca], al
call fcn.1002af90
mov byte [ebp - 0xc9], al
xor esi, esi
nop dword [eax + eax]
push esi
lea ecx, [ebp - 0xd0]
call fcn.10029a20
push esi
lea ecx, [ebp - 0xd0]
mov al, byte [eax]
xor al, 0x5b
mov byte [ebp - 0xa1], al
call fcn.10029a20
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x10059e80
lea ecx, [ebp - 0xd0]
call fcn.10029a10
push eax
lea ecx, [ebp - 0x8f8]
call fcn.1002a550
push 0x6c
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0x59
call fcn.1002af90
push 0x65
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0xb8], al
call fcn.1002af90
push 0x66
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0xb7], al
call fcn.1002af90
push 0x74
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0xb6], al
call fcn.1002af90
push 0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0xb5], al
call fcn.1002af90
mov byte [ebp - 0xb4], al
xor esi, esi
nop
push esi
lea ecx, [ebp - 0xb8]
call fcn.10029a20
push esi
lea ecx, [ebp - 0xb8]
mov al, byte [eax]
xor al, 0x5b
mov byte [ebp - 0xa1], al
call fcn.10029a20
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x10059f30
lea ecx, [ebp - 0xb8]
call fcn.10029a10
push eax
lea ecx, [ebp - 0x8e0]
call fcn.1002a550
lea eax, [ebp - 0x8e0]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [edi + 0x1050]
call fcn.100436b0
lea eax, [ebp - 0x8f8]
push eax
lea ecx, [edi + 0x1018]
call fcn.100436b0
lea ecx, [ebp - 0x8e0]
mov dword [edi + 0x104c], 0xffffffff
call fcn.1002a500
lea ecx, [ebp - 0x8f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
mov dword [edi + 0x106c], 0x1002c850
lea eax, [edi + 0xfe0]
mov dword [ebp - 0x94], 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 - 0x94]
push eax
call fcn.1003d4a0
push 0x61
lea ecx, [ebp - 0xe4]
call fcn.1002af90
push 0x61
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xe4], al
call fcn.1002af90
push 0x5f
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xe3], al
call fcn.1002af90
push 0x72
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xe2], al
call fcn.1002af90
push 0x69
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xe1], al
call fcn.1002af90
push 0x67
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xe0], al
call fcn.1002af90
push 0x68
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xdf], al
call fcn.1002af90
push 0x74
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xde], al
call fcn.1002af90
push 0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xdd], al
call fcn.1002af90
mov byte [ebp - 0xdc], al
xor esi, esi
nop dword [eax + eax]
push esi
lea ecx, [ebp - 0xe4]
call fcn.10029a20
push esi
lea ecx, [ebp - 0xe4]
mov al, byte [eax]
xor al, 0x5b
mov byte [ebp - 0xa1], al
call fcn.10029a20
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 9
jb 0x1005a0d0
lea ecx, [ebp - 0xe4]
call fcn.10029a10
push eax
lea ecx, [ebp - 0x928]
call fcn.1002a550
push 0x72
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x5b
call fcn.1002af90
push 0x69
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0xc8], al
call fcn.1002af90
push 0x67
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0xc7], al
call fcn.1002af90
push 0x68
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0xc6], al
call fcn.1002af90
push 0x74
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0xc5], al
call fcn.1002af90
push 0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0xc4], al
call fcn.1002af90
mov byte [ebp - 0xc3], al
xor esi, esi
push esi
lea ecx, [ebp - 0xc8]
call fcn.10029a20
push esi
lea ecx, [ebp - 0xc8]
mov al, byte [eax]
xor al, 0x5b
mov byte [ebp - 0xa1], al
call fcn.10029a20
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x1005a192
lea ecx, [ebp - 0xc8]
call fcn.10029a10
push eax
lea ecx, [ebp - 0x910]
call fcn.1002a550
lea eax, [ebp - 0x910]
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [edi + 0x10e0]
call fcn.100436b0
lea eax, [ebp - 0x928]
push eax
lea ecx, [edi + 0x10a8]
call fcn.100436b0
lea ecx, [ebp - 0x910]
mov dword [edi + 0x10dc], 0xffffffff
call fcn.1002a500
lea ecx, [ebp - 0x928]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
mov dword [edi + 0x10fc], 0x1002c870
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.1003d4a0
push 0x61
lea ecx, [ebp - 0xd8]
call fcn.1002af90
push 0x61
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd8], al
call fcn.1002af90
push 0x5f
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd7], al
call fcn.1002af90
push 0x62
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd6], al
call fcn.1002af90
push 0x61
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd5], al
call fcn.1002af90
push 0x63
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd4], al
call fcn.1002af90
push 0x6b
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd3], al
call fcn.1002af90
push 0
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd2], al
call fcn.1002af90
mov byte [ebp - 0xd1], al
xor esi, esi
push esi
lea ecx, [ebp - 0xd8]
call fcn.10029a20
push esi
lea ecx, [ebp - 0xd8]
mov al, byte [eax]
xor al, 0x5b
mov byte [ebp - 0xa1], al
call fcn.10029a20
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x1005a311
lea ecx, [ebp - 0xd8]
call fcn.10029a10
push eax
lea ecx, [ebp - 0x958]
call fcn.1002a550
push 0x62
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 0x5d
call fcn.1002af90
push 0x61
lea ecx, [ebp - 0xc0]
mov byte [ebp - 0xc0], al
call fcn.1002af90
push 0x63
lea ecx, [ebp - 0xc0]
mov byte [ebp - 0xbf], al
call fcn.1002af90
push 0x6b
lea ecx, [ebp - 0xc0]
mov byte [ebp - 0xbe], al
call fcn.1002af90
push 0
lea ecx, [ebp - 0xc0]
mov byte [ebp - 0xbd], al
call fcn.1002af90
mov byte [ebp - 0xbc], al
xor esi, esi
push esi
lea ecx, [ebp - 0xc0]
call fcn.10029a20
push esi
lea ecx, [ebp - 0xc0]
mov al, byte [eax]
xor al, 0x5b
mov byte [ebp - 0xa1], al
call fcn.10029a20
mov cl, byte [ebp - 0xa1]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x1005a3c0
lea ecx, [ebp - 0xc0]
call fcn.10029a10
push eax
lea ecx, [ebp - 0x940]
call fcn.1002a550
lea eax, [ebp - 0x940]
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [edi + 0x1170]
call fcn.100436b0
lea eax, [ebp - 0x958]
push eax
lea ecx, [edi + 0x1138]
call fcn.100436b0
lea ecx, [ebp - 0x940]
mov dword [edi + 0x116c], 0xffffffff
call fcn.1002a500
lea ecx, [ebp - 0x958]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a500
mov dword [edi + 0x118c], 0x1002c890
lea eax, [edi + 0x1100]
mov dword [ebp - 0x6c], 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 - 0x6c]
push eax
call fcn.1003d4a0
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.100c74ac
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret