Function at 0x430d10
Capabilities:
Authenticate hmac
Encode data using xor
Get common file path
Get startup folder
Inspect section memory permissions
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 0x524ba3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x570
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x168], esi
push edi
mov dword [ebp - 0x14], 1
mov dword [ebp - 4], 0
push ecx
call fcn.00480ed0
mov byte [ebp - 4], 3
sub esp, 0x10
movaps xmm0, xmmword [0x5484b0]
mov ecx, esp
mov dword [ebp - 0x1c], esp
mov edi, 1
sub esp, 8
mov dword [ebp - 0x14], edi
mov eax, esp
mov byte [ebp - 0x9f], 0xe4
movups xmmword [ebp - 0x9e], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00480ea0
add esp, 8
mov dword [ebp - 4], 4
xor ecx, ecx
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x9f], al
inc ecx
cmp ecx, 7
jb 0x430db0
lea eax, [ebp - 0x9f]
mov dword [0x55d560], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x98], 0
call fcn.00402ab0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x118]
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00480b20
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 3
call fcn.00402a10
push 0x104
lea eax, [ebp - 0x580]
push 0
push eax
call fcn.004fd0d0
add esp, 0xc
lea eax, [ebp - 0x580]
push eax
movzx eax, byte [ebp - 0x15]
xor eax, 1
push 0
push 0
lea eax, [eax*2 + 0x1a]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebx + 0x10]
push eax
lea edx, [ebp - 0x580]
lea ecx, [ebp - 0x2a0]
call fcn.00486de0
add esp, 4
mov dword [ebp - 4], 7
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 8
jne 0x43117f
sub esp, 0x18
lea eax, [ebp - 0x2a0]
mov ecx, esp
push eax
call fcn.00483010
push 0
mov dl, 1
lea ecx, [ebp - 0x124]
call fcn.00427910
add esp, 0x1c
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 9
call fcn.00481ca0
test eax, eax
jne 0x430f12
call fcn.00485200
lea ecx, [ebp - 0xe8]
call fcn.00485200
lea ecx, [ebp - 0x2a0]
call fcn.00402a10
lea ecx, [ebx + 0x10]
call fcn.00402a10
lea ecx, [ebx + 0x28]
call fcn.00402a10
lea ecx, [ebx + 0x40]
call fcn.00402a10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
xor esi, esi
mov dword [ebp - 0x5c], esi
call fcn.00481ca0
test eax, eax
je 0x43116e
cmp byte [ebx + 0xc], 0
je 0x430f8c
movaps xmm0, xmmword [0x547920]
xor ecx, ecx
mov word [ebp - 0xa0], 0xc6db
movups xmmword [ebp - 0x9e], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xa0], al
inc ecx
cmp ecx, 8
jb 0x430f43
lea eax, [ebp - 0xa0]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x390]
mov byte [ebp - 0x98], 0
call fcn.00402ab0
or edi, 2
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x390]
mov dword [ebp - 0x14], edi
call fcn.00402b50
mov edi, eax
jmp 0x430f91
mov edi, 0x5424b0
push esi
lea ecx, [ebp - 0x124]
call fcn.00481c80
xorps xmm0, xmm0
mov dword [ebp - 0xc0], eax
mov byte [ebp - 0x7f], 0xdb
xor ecx, ecx
movq qword [ebp - 0x7e], xmm0
mov word [ebp - 0x76], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x7f], al
inc ecx
cmp ecx, 1
jb 0x430fb7
lea eax, [ebp - 0x7f]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x7e], 0
call fcn.00402ab0
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xb
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x228]
call fcn.00486d20
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2e8]
push dword [ebp - 0xc0]
mov edx, eax
call fcn.00486f40
sub esp, 0x14
mov byte [ebp - 4], 0xd
mov ecx, esp
mov edx, eax
push edi
call fcn.00486d80
add esp, 4
lea ecx, [ebp - 0x130]
xor dl, dl
push 0
call fcn.00427910
add esp, 0x1c
lea ecx, [ebp - 0x2e8]
call fcn.00402a10
lea ecx, [ebp - 0x228]
call fcn.00402a10
lea ecx, [ebp - 0x118]
call fcn.00402a10
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x14]
test al, 2
je 0x43107f
and eax, 0xfffffffd
lea ecx, [ebp - 0x390]
mov dword [ebp - 0x14], eax
call fcn.00402a10
lea ecx, [ebp - 0x130]
call fcn.00481ca0
test eax, eax
je 0x431145
xor edi, edi
mov dword [ebp - 0x40], edi
call fcn.00481ca0
test eax, eax
je 0x431145
push edi
lea ecx, [ebp - 0x130]
call fcn.00481c80
push 0
lea ecx, [ebx + 0x28]
push ecx
mov ecx, eax
call fcn.00482b30
cmp eax, 0xffffffff
je 0x43112e
lea ecx, [ebp - 0xe8]
xor edi, edi
call fcn.00481ca0
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x431113
nop dword [eax]
push esi
lea ecx, [ebp - 0x124]
call fcn.00481c80
push edi
lea ecx, [ebp - 0xe8]
mov esi, eax
call fcn.00481c80
mov edx, esi
mov ecx, eax
call fcn.00486fc0
mov esi, dword [ebp - 0x5c]
test al, al
jne 0x43112b
inc edi
cmp edi, dword [ebp - 0xc0]
jb 0x4310e0
push esi
lea ecx, [ebp - 0x124]
call fcn.00481c80
push eax
lea ecx, [ebp - 0xe8]
call fcn.00481d60
mov edi, dword [ebp - 0x40]
inc edi
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x40], edi
call fcn.00481ca0
cmp edi, eax
jb 0x4310a4
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 9
call fcn.00485200
inc esi
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x5c], esi
call fcn.00481ca0
mov edi, dword [ebp - 0x14]
cmp esi, eax
jb 0x430f24
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 8
call fcn.00485200
jmp 0x4311b4
push 0x5424b0
lea ecx, [ebp - 0x118]
call fcn.00402ab0
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0xe8]
call fcn.00481d00
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 8
call fcn.00402a10
lea ecx, [ebp - 0xe8]
call fcn.00481ca0
test eax, eax
jne 0x4311f8
push 0x5424b0
lea ecx, [ebp - 0x118]
call fcn.00402ab0
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0xe8]
call fcn.00481d00
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 8
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x7f], 0xdb
movq qword [ebp - 0x7e], xmm0
xor ecx, ecx
mov word [ebp - 0x76], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x7f], al
inc ecx
cmp ecx, 1
jb 0x431210
lea eax, [ebp - 0x7f]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x7e], 0
call fcn.00402ab0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x15
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x2e8]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x16
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x2e8]
call fcn.00402a10
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 8
call fcn.00402a10
cmp byte [ebp - 0x15], 0
jne 0x4313c7
movaps xmm0, xmmword [0x549d90]
xor ecx, ecx
movups xmmword [ebp - 0xdc], xmm0
mov word [ebp - 0xc4], 0
xorps xmm0, xmm0
movq qword [ebp - 0xcc], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xdc], al
inc ecx
cmp ecx, 0x10
jb 0x4312c2
lea eax, [ebp - 0xdc]
mov dword [0x55d628], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0xcc], 0
call fcn.00402ab0
sub esp, 0x18
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x118]
mov esi, esp
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
mov ecx, esi
call fcn.00486d20
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 8
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x4313c7
movaps xmm0, xmmword [0x5482f0]
xor ecx, ecx
mov dword [ebp - 0xdb], 0xebeae7cb
mov dword [ebp - 0xd7], 0xebffdce7
mov byte [ebp - 0xd3], 0xe9
movups xmmword [ebp - 0xd2], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xdb], al
inc ecx
cmp ecx, 0xf
jb 0x431370
lea eax, [ebp - 0xdb]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0xcc], 0
call fcn.00402ab0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x18
call fcn.00402b50
push eax
lea ecx, [ebx + 0x40]
call fcn.00482e30
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 8
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x7f], 0xdb
movq qword [ebp - 0x7e], xmm0
xor ecx, ecx
mov word [ebp - 0x76], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x7f], al
inc ecx
cmp ecx, 1
jb 0x4313e0
lea eax, [ebp - 0x7f]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x7e], 0
call fcn.00402ab0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x19
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x2e8]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x1a
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
lea ecx, [ebp - 0x3b8]
call fcn.0040d3d0
add esp, 0x18
lea ecx, [ebp - 0x2e8]
call fcn.00402a10
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x1d
call fcn.00402a10
push 0x5424b0
lea ecx, [ebp - 0x390]
call fcn.00402ab0
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0x3a8], 0
je 0x431797
sub esp, 0x28
lea edx, [ebp - 0x3b8]
mov eax, esp
lea ecx, [ebp - 0xb8]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x1f
xor ecx, ecx
movaps xmm0, xmmword [0x5482c0]
mov word [ebp - 0xa0], 0xfbe8
movups xmmword [ebp - 0x9e], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xa0], al
inc ecx
cmp ecx, 8
jb 0x4314d0
lea eax, [ebp - 0xa0]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x330]
mov byte [ebp - 0x98], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x330]
or edi, 4
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0xb8]
call fcn.00486ff0
cmp byte [eax], 0
je 0x431607
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0xa0], 0xfbe8
movups xmmword [ebp - 0x9e], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xa0], al
inc ecx
cmp ecx, 8
jb 0x431543
lea eax, [ebp - 0xa0]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 0x98], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x2b8]
or edi, 8
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0xb8]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x73], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x6f], 0xfcf2
mov byte [ebp - 0x6d], 0xf9
movups xmmword [ebp - 0x6c], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x73], al
inc ecx
cmp ecx, 0xd
jb 0x4315b7
lea eax, [ebp - 0x73]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x66], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x118]
or edi, 0x10
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x43160b
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test al, 0x10
je 0x431626
and eax, 0xffffffef
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test al, 8
je 0x43163e
and eax, 0xfffffff7
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1f
test al, 4
je 0x43165a
and eax, 0xfffffffb
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x431785
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0xa0], 0xfbe8
movups xmmword [ebp - 0x9e], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xa0], al
inc ecx
cmp ecx, 8
jb 0x431680
lea eax, [ebp - 0xa0]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 0x98], 0
call fcn.00402ab0
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x23
call fcn.00402b50
push eax
lea ecx, [ebp - 0xb8]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x73], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x6f], 0xfcf2
mov byte [ebp - 0x6d], 0xf9
movups xmmword [ebp - 0x6c], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x73], al
inc ecx
cmp ecx, 0xd
jb 0x4316f0
lea eax, [ebp - 0x73]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x66], 0
call fcn.00402ab0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x24
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x228]
push ecx
mov ecx, eax
call fcn.00487130
mov edx, eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x2e8]
call fcn.004028f0
push eax
lea ecx, [ebp - 0x390]
call fcn.00482e90
lea ecx, [ebp - 0x2e8]
call fcn.00402a10
lea ecx, [ebp - 0x228]
call fcn.00402a10
lea ecx, [ebp - 0x118]
call fcn.00402a10
lea ecx, [ebp - 0x2b8]
call fcn.00402a10
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1e
call fcn.00480b00
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x84], 0
call fcn.00481ca0
test eax, eax
je 0x433c81
cmp byte [ebx + 8], 0
je 0x4317d5
push 0x5424b0
lea ecx, [ebp - 0x58]
call fcn.00402ab0
mov esi, eax
mov byte [ebp - 4], 0x26
or edi, 0x20
jmp 0x43186d
xorps xmm0, xmm0
mov byte [ebp - 0x1cc], 0xdb
movq qword [ebp - 0x1cb], xmm0
xor ecx, ecx
mov word [ebp - 0x1c3], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1cc], al
inc ecx
cmp ecx, 1
jb 0x4317f2
lea eax, [ebp - 0x1cc]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x1cb], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x100]
or edi, 0x40
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x84]
lea ecx, [ebp - 0xe8]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x210]
call fcn.00486d20
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x28
or edi, 0x80
xorps xmm0, xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 0x1d7], 0xdb
xor ecx, ecx
movq qword [ebp - 0x1d6], xmm0
mov word [ebp - 0x1ce], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1d7], al
inc ecx
cmp ecx, 1
jb 0x431890
lea eax, [ebp - 0x1d7]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x1d6], 0
call fcn.00402ab0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x29
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x2d0]
call fcn.00486d20
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x228]
call fcn.00486fa0
sub esp, 0x14
mov byte [ebp - 4], 0x2b
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
call fcn.0040da60
add esp, 0x18
lea ecx, [ebp - 0x228]
test al, al
sete byte [ebp - 0x15]
call fcn.00402a10
lea ecx, [ebp - 0x2d0]
call fcn.00402a10
lea ecx, [ebp - 0x3c]
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test al, al
jns 0x431953
and eax, 0xffffff7f
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test al, 0x40
je 0x43196b
and eax, 0xffffffbf
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1e
test al, 0x20
je 0x431984
and eax, 0xffffffdf
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x431c6e
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x431a27
movaps xmm0, xmmword [0x5482f0]
mov dword [ebp - 0xdb], 0xebeae7cb
mov dword [ebp - 0xd7], 0xebffdce7
mov byte [ebp - 0xd3], 0xe9
movups xmmword [ebp - 0xd2], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xdb], al
inc ecx
cmp ecx, 0xf
jb 0x4319c2
lea eax, [ebp - 0xdb]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 0xcc], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x58]
mov edi, dword [ebp - 0x14]
or edi, 0x100
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x210]
call fcn.00402ab0
mov esi, eax
mov dword [ebp - 4], 0x2d
or edi, 0x200
jmp 0x431ad1
movaps xmm0, xmmword [0x549d90]
movups xmmword [ebp - 0x34c], xmm0
mov word [ebp - 0x334], 0
xorps xmm0, xmm0
movq qword [ebp - 0x33c], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x34c], al
inc ecx
cmp ecx, 0x10
jb 0x431a50
lea eax, [ebp - 0x34c]
mov dword [0x55d628], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x33c], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x2e
lea ecx, [ebp - 0x100]
mov edi, dword [ebp - 0x14]
or edi, 0x400
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x84]
lea ecx, [ebp - 0xe8]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x2d0]
call fcn.00486d20
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x2f
or edi, 0x800
xorps xmm0, xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 0x1e2], 0xdb
xor ecx, ecx
movq qword [ebp - 0x1e1], xmm0
mov word [ebp - 0x1d9], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1e2], al
inc ecx
cmp ecx, 1
jb 0x431af1
lea eax, [ebp - 0x1e2]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x1e1], 0
call fcn.00402ab0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x30
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x228]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x31
mov ecx, esp
mov edx, eax
push esi
call fcn.00486fa0
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x228]
call fcn.00402a10
lea ecx, [ebp - 0x3c]
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x800
je 0x431b91
and eax, 0xfffff7ff
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x400
je 0x431bae
and eax, 0xfffffbff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x200
je 0x431bcb
and eax, 0xfffffdff
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1e
test eax, 0x100
je 0x431be9
and eax, 0xfffffeff
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x431c6e
movaps xmm0, xmmword [0x5482f0]
xor ecx, ecx
mov dword [ebp - 0xdb], 0xebeae7cb
mov dword [ebp - 0xd7], 0xebffdce7
mov byte [ebp - 0xd3], 0xe9
movups xmmword [ebp - 0xd2], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xdb], al
inc ecx
cmp ecx, 0xf
jb 0x431c20
lea eax, [ebp - 0xdb]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0xcc], 0
call fcn.00402ab0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x32
call fcn.00402b50
push eax
lea ecx, [ebx + 0x40]
call fcn.00482e30
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1e
call fcn.00402a10
cmp byte [ebx + 8], 0
je 0x431c93
push 0x5424b0
lea ecx, [ebp - 0x58]
call fcn.00402ab0
mov esi, eax
mov byte [ebp - 4], 0x33
or dword [ebp - 0x14], 0x1000
jmp 0x431d34
xorps xmm0, xmm0
mov byte [ebp - 0x1b6], 0xdb
movq qword [ebp - 0x1b5], xmm0
xor ecx, ecx
mov word [ebp - 0x1ad], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1b6], al
inc ecx
cmp ecx, 1
jb 0x431cb0
lea eax, [ebp - 0x1b6]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x1b5], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x34
lea ecx, [ebp - 0x100]
mov edi, dword [ebp - 0x14]
or edi, 0x2000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x84]
lea ecx, [ebp - 0xe8]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x210]
call fcn.00486d20
add esp, 4
mov esi, eax
or edi, 0x4000
mov dword [ebp - 4], 0x35
mov dword [ebp - 0x14], edi
xorps xmm0, xmm0
mov byte [ebp - 0x1c1], 0xdb
movq qword [ebp - 0x1c0], xmm0
xor ecx, ecx
mov word [ebp - 0x1b8], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1c1], al
inc ecx
cmp ecx, 1
jb 0x431d51
lea eax, [ebp - 0x1c1]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x1c0], 0
call fcn.00402ab0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x36
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x2d0]
call fcn.00486d20
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x228]
call fcn.00486fa0
sub esp, 0x14
mov byte [ebp - 4], 0x38
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.0040d3d0
add esp, 0x18
lea ecx, [ebp - 0x228]
call fcn.00402a10
lea ecx, [ebp - 0x2d0]
call fcn.00402a10
lea ecx, [ebp - 0x3c]
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x4000
je 0x431e17
and eax, 0xffffbfff
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x2000
je 0x431e34
and eax, 0xffffdfff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3f
test eax, 0x1000
je 0x431e4f
and eax, 0xffffefff
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x14], eax
call fcn.00402a10
push 0x5424b0
lea ecx, [ebp - 0x330]
call fcn.00402ab0
mov byte [ebp - 4], 0x40
cmp dword [ebp - 0x108], 0
je 0x432171
cmp dword [ebp - 0x380], 0
jne 0x432171
sub esp, 0x28
lea edx, [ebp - 0x118]
mov eax, esp
lea ecx, [ebp - 0x3a0]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x41
xor ecx, ecx
movaps xmm0, xmmword [0x5482c0]
mov word [ebp - 0xb8], 0xfbe8
movups xmmword [ebp - 0xb6], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xb8], al
inc ecx
cmp ecx, 8
jb 0x431ec0
lea eax, [ebp - 0xb8]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x210]
mov byte [ebp - 0xb0], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x210]
mov edi, dword [ebp - 0x14]
or edi, 0x8000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x3a0]
call fcn.00486ff0
cmp byte [eax], 0
je 0x431fee
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x6e], 0xfbe8
movups xmmword [ebp - 0x6c], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x6e], al
inc ecx
cmp ecx, 8
jb 0x431f33
lea eax, [ebp - 0x6e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x66], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x43
lea ecx, [ebp - 0x100]
or edi, 0x10000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x3a0]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x57], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x53], 0xfcf2
mov byte [ebp - 0x51], 0xf9
movups xmmword [ebp - 0x50], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x57], al
inc ecx
cmp ecx, 0xd
jb 0x431fa1
lea eax, [ebp - 0x57]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x4a], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x44
lea ecx, [ebp - 0x3c]
or edi, 0x20000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x431ff2
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x20000
je 0x43200f
and eax, 0xfffdffff
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x10000
je 0x43202c
and eax, 0xfffeffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x41
test eax, 0x8000
je 0x43204d
and eax, 0xffff7fff
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x432162
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x6e], 0xfbe8
movups xmmword [ebp - 0x6c], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x6e], al
inc ecx
cmp ecx, 8
jb 0x432070
lea eax, [ebp - 0x6e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x66], 0
call fcn.00402ab0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x45
call fcn.00402b50
push eax
lea ecx, [ebp - 0x3a0]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x57], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x53], 0xfcf2
mov byte [ebp - 0x51], 0xf9
movups xmmword [ebp - 0x50], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x57], al
inc ecx
cmp ecx, 0xd
jb 0x4320d0
lea eax, [ebp - 0x57]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x210]
mov byte [ebp - 0x4a], 0
call fcn.00402ab0
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x46
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x2d0]
push ecx
mov ecx, eax
call fcn.00487130
mov edx, eax
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x228]
call fcn.004028f0
push eax
lea ecx, [ebp - 0x330]
call fcn.00482e90
lea ecx, [ebp - 0x228]
call fcn.00402a10
lea ecx, [ebp - 0x2d0]
call fcn.00402a10
lea ecx, [ebp - 0x210]
call fcn.00402a10
lea ecx, [ebp - 0x3c]
call fcn.00402a10
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 0x40
call fcn.00480b00
mov eax, dword [ebp - 0x320]
test eax, eax
jne 0x432195
lea eax, [ebp - 0x390]
push eax
lea ecx, [ebp - 0x330]
call fcn.00482e60
mov eax, dword [ebp - 0x320]
test eax, eax
push ecx
lea ecx, [ebp - 0xa0]
setne byte [ebp - 0xb9]
call fcn.00480ed0
mov byte [ebp - 4], 0x48
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00480ea0
add esp, 8
push dword [ebp - 0x84]
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x49
call fcn.00481c80
push eax
lea ecx, [ebp - 0xa0]
call fcn.00480770
mov ecx, eax
mov byte [ebp - 4], 0x48
call fcn.00480b20
cmp byte [ebx + 0xc], 0
je 0x43225a
movaps xmm0, xmmword [0x5471a0]
xor ecx, ecx
mov word [ebp - 0x6e], 0xedc9
movups xmmword [ebp - 0x6c], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x6e], al
inc ecx
cmp ecx, 8
jb 0x432213
lea eax, [ebp - 0x6e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 0x66], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x228]
mov edi, dword [ebp - 0x14]
or edi, 0x40000
mov dword [ebp - 0x14], edi
call fcn.00402b50
mov dword [ebp - 0x40], eax
jmp 0x432264
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x40], 0x5424b0
cmp byte [ebx + 8], 0
je 0x43228e
push 0x5424b0
lea ecx, [ebp - 0xdc]
call fcn.00402ab0
mov esi, eax
mov dword [ebp - 4], 0x4b
or edi, 0x80000
jmp 0x43232e
xorps xmm0, xmm0
mov byte [ebp - 0x12f], 0xdb
movq qword [ebp - 0x12e], xmm0
xor ecx, ecx
mov word [ebp - 0x126], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x12f], al
inc ecx
cmp ecx, 1
jb 0x4322b0
lea eax, [ebp - 0x12f]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 0x12e], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x4c
lea ecx, [ebp - 0x2d0]
or edi, 0x100000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x84]
lea ecx, [ebp - 0xe8]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x34c]
call fcn.00486d20
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x4d
or edi, 0x200000
xorps xmm0, xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 0x123], 0xdb
xor ecx, ecx
movq qword [ebp - 0x122], xmm0
mov word [ebp - 0x11a], 0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x123], al
inc ecx
cmp ecx, 1
jb 0x432350
lea eax, [ebp - 0x123]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x210]
mov byte [ebp - 0x122], 0
call fcn.00402ab0
lea ecx, [ebp - 0x210]
mov dword [ebp - 4], 0x4e
call fcn.00402b50
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x440]
call fcn.00486d20
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x474]
call fcn.00486fa0
add esp, 4
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x45c]
push dword [ebp - 0x40]
mov edx, eax
call fcn.00486d80
add esp, 4
lea ecx, [ebx + 0x28]
mov byte [ebp - 4], 0x51
push ecx
mov edx, eax
lea ecx, [ebp - 0x2e8]
call fcn.00486f40
add esp, 4
lea ecx, [ebp - 0x45c]
call fcn.00402a10
lea ecx, [ebp - 0x474]
call fcn.00402a10
lea ecx, [ebp - 0x440]
call fcn.00402a10
lea ecx, [ebp - 0x210]
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x200000
je 0x432437
and eax, 0xffdfffff
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x100000
je 0x432454
and eax, 0xffefffff
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x80000
je 0x432471
and eax, 0xfff7ffff
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x5a
test eax, 0x40000
je 0x43248f
and eax, 0xfffbffff
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x14], eax
call fcn.00402a10
lea ecx, [ebp - 0x2e8]
call fcn.00402b50
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.00419620
test eax, eax
jne 0x433bbb
movaps xmm0, xmmword [0x548a20]
xor ecx, ecx
movups xmmword [ebp - 0x427], xmm0
mov dword [ebp - 0x3c7], 0x8f808388
movaps xmm0, xmmword [0x548dc0]
movups xmmword [ebp - 0x417], xmm0
mov byte [ebp - 0x3c3], 0x98
movaps xmm0, xmmword [0x5491e0]
movups xmmword [ebp - 0x407], xmm0
mov word [ebp - 0x3ba], ax
movaps xmm0, xmmword [0x548850]
movups xmmword [ebp - 0x3f7], xmm0
movaps xmm0, xmmword [0x548810]
movups xmmword [ebp - 0x3e7], xmm0
movaps xmm0, xmmword [0x548730]
movups xmmword [ebp - 0x3d7], xmm0
xorps xmm0, xmm0
movq qword [ebp - 0x3c2], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x427], al
inc ecx
cmp ecx, 0x65
jb 0x432530
lea eax, [ebp - 0x427]
mov dword [0x55d55c], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x3c2], 0
call fcn.00402ab0
lea ecx, [ebp - 0x3c]
call fcn.00402b50
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.00402a10
push ecx
lea eax, [ebp - 0x5c]
mov edx, esi
mov esi, dword [ebp - 0xc0]
push eax
push ecx
mov ecx, esi
call fcn.004e0940
add esp, 0xc
test eax, eax
jne 0x433bb4
mov edi, dword [ebp - 0x5c]
mov ecx, edi
call fcn.004bd060
cmp eax, 0x64
jne 0x433bad
lea eax, [ebp - 0x131]
mov dword [ebp - 0x368], eax
nop
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x140]
push 0
mov byte [ebp - 0x148], 0
call fcn.00484a10
mov byte [ebp - 4], 0x5c
test edi, edi
je 0x43261b
cmp dword [edi + 0x2c], 0
je 0x4325f6
xor eax, eax
cmp ax, word [edi + 0x30]
jae 0x4325f6
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4325f1
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [edi + 0x2c]
jmp 0x432620
mov eax, dword [edi]
test eax, eax
je 0x43261b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43260d
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x20], eax
test edi, edi
je 0x432681
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x432664
cmp byte [esi + 0x1e], 0
jne 0x432647
mov eax, esi
cmp ecx, 0xc0a
jne 0x43265f
push 0
push 7
push esi
call fcn.004ab9b0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x43266b
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x432681
push eax
call dword [0x55ad20]
add esp, 4
movaps xmm0, xmmword [0x5475b0]
movups xmmword [ebp - 0xb6], xmm0
mov byte [ebp - 0x248], 3
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x240], xmm0
call fcn.004fae70
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x364], esi
mov byte [ebp - 4], 0x5d
xorps xmm0, xmm0
mov edx, dword [ebp - 0x20]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4326e0
sub ecx, dword [ebp - 0x20]
push ecx
push edx
mov ecx, esi
call fcn.00402b80
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x240], esi
mov byte [ebp - 4], 0x5e
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xb6], al
inc ecx
cmp ecx, 6
jb 0x432710
mov dword [0x55d548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xb6]
mov byte [ebp - 0xb0], 0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432750
sub ecx, edx
lea eax, [ebp - 0xb6]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402b80
or dword [ebp - 0x14], 0x2000000
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x5f
call fcn.00402b50
mov cl, byte [ebp - 0x148]
mov esi, eax
test cl, cl
jne 0x4327b9
push 1
lea ecx, [ebp - 0x360]
mov byte [ebp - 0x148], 1
call fcn.00484a10
mov ecx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], eax
jmp 0x4327cb
cmp cl, 1
jne 0x433ce3
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x40], eax
mov ecx, esi
mov dword [ebp - 0x2a8], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2a4], 0
movups xmmword [ebp - 0x2b8], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4327f0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x2b8]
call fcn.00402b80
lea eax, [ebp - 0x2b8]
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0x40]
push eax
call fcn.0048a1c0
lea ecx, [ebp - 0x2b8]
mov esi, eax
call fcn.00402a10
mov cl, byte [esi]
mov eax, dword [ebp - 0x23c]
mov edi, dword [ebp - 0x1c]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x248], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x240], ecx
lea ecx, [ebp - 0x248]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x23c], edx
call fcn.00480b00
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x432898
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43288e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 0x191], 0xb6
movq qword [ebp - 0x190], xmm0
xor ecx, ecx
mov word [ebp - 0x188], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x191], al
inc ecx
cmp ecx, 1
jb 0x4328b5
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x191]
mov byte [ebp - 0x190], 0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4328f1
sub ecx, edx
lea eax, [ebp - 0x191]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402b80
or dword [ebp - 0x14], 0x80000000
mov byte [ebp - 4], 0x64
lea edx, [ebp - 0x3c]
cmp dword [ebp - 0x28], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x100], xmm0
cmovae edx, dword [ebp - 0x3c]
mov ecx, edx
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432943
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x100]
call fcn.00402b80
mov byte [ebp - 4], 0x65
test edi, edi
je 0x4329b2
cmp dword [edi + 0x2c], 0
je 0x43298d
mov eax, 1
cmp ax, word [edi + 0x30]
jae 0x43298d
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x432985
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x28
jmp 0x4329b7
mov eax, dword [edi]
test eax, eax
je 0x4329b2
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4329a4
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov edx, eax
mov dword [ebp - 0x20], edx
test edi, edi
je 0x432a1d
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x4329fd
cmp byte [esi + 0x1e], 0
jne 0x4329e0
mov eax, esi
cmp ecx, 0xc0a
jne 0x4329f8
push 0
push 7
push esi
call fcn.004ab9b0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x432a04
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x432a1a
push eax
call dword [0x55ad20]
add esp, 4
mov edx, dword [ebp - 0x20]
mov ecx, edx
mov dword [ebp - 0x64], 0
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
movups xmmword [ebp - 0x74], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432a37
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x74]
call fcn.00402b80
cmp dword [ebp - 0xec], 0x10
lea eax, [ebp - 0x100]
mov ecx, dword [ebp - 0x100]
movaps xmm0, xmmword [0x548190]
cmovae eax, ecx
mov edx, dword [ebp - 0x74]
setae byte [ebp - 0x21]
cmp dword [ebp - 0x60], 0x10
push dword [ebp - 0xf0]
mov dword [ebp - 0x20], ecx
setae byte [ebp - 0x15]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], edx
cmovae ecx, edx
mov word [ebp - 0xb8], 0xfcef
mov edx, dword [ebp - 0x64]
movups xmmword [ebp - 0xb6], xmm0
mov byte [ebp - 0x258], 4
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x250], xmm0
call fcn.00492d00
mov byte [ebp - 0x1f8], al
add esp, 8
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x24c], eax
mov byte [ebp - 4], 0x67
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xb8], al
inc ecx
cmp ecx, 8
jb 0x432ae0
mov dword [0x55d624], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0xb0], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432b20
sub ecx, edx
lea eax, [ebp - 0xb8]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402b80
or dword [ebp - 0x14], 0x40000000
mov byte [ebp - 4], 0x68
lea edx, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x300], xmm0
cmovae edx, dword [ebp - 0x58]
mov ecx, edx
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432b72
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x300]
call fcn.00402b80
lea eax, [ebp - 0x300]
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x40]
push eax
call fcn.0048a1c0
mov byte [ebp - 4], 0x68
mov esi, eax
mov ecx, dword [ebp - 0x2ec]
cmp ecx, 0x10
jb 0x432bdb
mov edx, dword [ebp - 0x300]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432bd1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0xf
mov byte [ebp - 0x300], 0
mov al, byte [esi]
mov edx, dword [ebp - 0x1f8]
mov byte [esi], 4
mov ecx, dword [esi + 0xc]
mov byte [ebp - 0x258], al
mov eax, dword [esi + 8]
mov dword [esi + 8], edx
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x24c], ecx
lea ecx, [ebp - 0x258]
mov dword [esi + 0xc], edx
mov dword [ebp - 0x250], eax
call fcn.00480b00
mov byte [ebp - 4], 0x66
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x432c68
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432c5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
cmp byte [ebp - 0x15], 0
mov byte [ebp - 4], 0x65
je 0x432ca1
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432c97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
cmp byte [ebp - 0x21], 0
mov byte [ebp - 4], 0x64
je 0x432cdd
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432cd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x28]
cmp ecx, 0x10
jb 0x432d15
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432d0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
test edi, edi
je 0x432d6a
cmp dword [edi + 0x2c], 0
je 0x432d45
mov eax, 2
cmp ax, word [edi + 0x30]
jae 0x432d45
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x432d3d
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x50
jmp 0x432d6f
mov eax, dword [edi]
test eax, eax
je 0x432d6a
mov eax, dword [eax + 0x44]
test eax, eax
je 0x432d5c
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x432dd0
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x432db3
cmp byte [esi + 0x1e], 0
jne 0x432d96
mov eax, esi
cmp ecx, 0xc0a
jne 0x432dae
push 0
push 7
push esi
call fcn.004ab9b0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x432dba
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x432dd0
push eax
call dword [0x55ad20]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x156], 0xe2fde9f7
push 0x18
movq qword [ebp - 0x152], xmm0
mov word [ebp - 0x14a], 0
movq qword [ebp - 0x260], xmm0
mov byte [ebp - 0x268], 3
call fcn.004fae70
mov esi, eax
add esp, 4
lea eax, [ebp - 0x132]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x350], esi
mov byte [ebp - 4], 0x6d
xorps xmm0, xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432e41
sub ecx, dword [ebp - 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.00402b80
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x260], esi
mov byte [ebp - 4], 0x6e
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x156], al
inc ecx
cmp ecx, 4
jb 0x432e70
mov dword [0x55d5d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x156]
mov byte [ebp - 0x152], 0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432eb0
sub ecx, edx
lea eax, [ebp - 0x156]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402b80
or dword [ebp - 0x14], 0x20000000
mov byte [ebp - 4], 0x6f
lea esi, [ebp - 0x3c]
cmp dword [ebp - 0x28], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x318], xmm0
cmovae esi, dword [ebp - 0x3c]
mov edx, esi
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x432f02
sub edx, ecx
lea ecx, [ebp - 0x318]
push edx
push esi
call fcn.00402b80
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 0x70
mov ecx, dword [ebp - 0x40]
push eax
call fcn.0048a1c0
mov byte [ebp - 4], 0x6f
mov esi, eax
mov ecx, dword [ebp - 0x304]
cmp ecx, 0x10
jb 0x432f6b
mov edx, dword [ebp - 0x318]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432f61
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0xf
mov byte [ebp - 0x318], 0
mov al, byte [esi]
mov edi, dword [ebp - 0x20]
mov byte [esi], 3
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x268], al
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x260], ecx
lea ecx, [ebp - 0x268]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x25c], edx
call fcn.00480b00
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x432ff8
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432fee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 0x7f], 0xb6
movq qword [ebp - 0x7e], xmm0
xor eax, eax
mov word [ebp - 0x76], 0
nop dword [eax]
lea ecx, [eax - 0x79]
xor byte [ebp + eax - 0x7f], cl
inc eax
cmp eax, 1
jb 0x433010
xorps xmm0, xmm0
mov dword [0x55d620], eax
lea ecx, [ebp - 0x7f]
mov byte [ebp - 0x7e], 0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x64], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x60], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433041
sub ecx, edx
lea eax, [ebp - 0x7f]
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.00402b80
or dword [ebp - 0x14], 0x10000000
mov byte [ebp - 4], 0x74
lea edx, [ebp - 0x74]
cmp dword [ebp - 0x60], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
cmovae edx, dword [ebp - 0x74]
mov ecx, edx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433087
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.00402b80
mov byte [ebp - 4], 0x75
test edi, edi
je 0x4330f3
cmp dword [edi + 0x2c], 0
je 0x4330ce
mov eax, 3
cmp ax, word [edi + 0x30]
jae 0x4330ce
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4330c6
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x78
jmp 0x4330f8
mov eax, dword [edi]
test eax, eax
je 0x4330f3
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4330e5
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov edx, eax
mov dword [ebp - 0x20], edx
test edi, edi
je 0x43315e
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x43313e
cmp byte [esi + 0x1e], 0
jne 0x433121
mov eax, esi
cmp ecx, 0xc0a
jne 0x433139
push 0
push 7
push esi
call fcn.004ab9b0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x433145
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43315b
push eax
call dword [0x55ad20]
add esp, 4
mov edx, dword [ebp - 0x20]
mov ecx, edx
mov dword [ebp - 0xf0], 0
xorps xmm0, xmm0
mov dword [ebp - 0xec], 0
movups xmmword [ebp - 0x100], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433181
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x100]
call fcn.00402b80
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov ecx, dword [ebp - 0x58]
movaps xmm0, xmmword [0x547b50]
cmovae eax, ecx
push dword [ebp - 0x48]
mov esi, dword [ebp - 0x100]
setae byte [ebp - 0x15]
cmp dword [ebp - 0xec], 0x10
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x1c], ecx
setae byte [ebp - 0x21]
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x278], 4
movups xmmword [ebp - 0xb6], xmm0
cmovae ecx, esi
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x270], xmm0
call fcn.00492d00
mov byte [ebp - 0x1f0], al
add esp, 8
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0x77
xor ecx, ecx
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xb6], al
inc ecx
cmp ecx, 6
jb 0x433220
mov dword [0x55d548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xb6]
mov byte [ebp - 0xb0], 0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433260
sub ecx, edx
lea eax, [ebp - 0xb6]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402b80
or dword [ebp - 0x14], 0x1000000
mov byte [ebp - 4], 0x78
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 0x10
lea ecx, [ebp - 0x148]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.00486ff0
mov cl, byte [eax]
mov edi, dword [ebp - 0x1f0]
mov byte [eax], 4
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x278], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x1ec]
mov dword [ebp - 0x270], ecx
lea ecx, [ebp - 0x278]
mov dword [eax + 0xc], edi
mov dword [ebp - 0x26c], edx
call fcn.00480b00
mov byte [ebp - 4], 0x76
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x433310
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x433306
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
cmp byte [ebp - 0x21], 0
mov byte [ebp - 4], 0x75
je 0x433349
mov ecx, dword [ebp - 0xec]
mov eax, esi
inc ecx
cmp ecx, 0x1000
jb 0x43333f
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push esi
call fcn.004fb0f1
add esp, 8
cmp byte [ebp - 0x15], 0
mov byte [ebp - 4], 0x74
je 0x433382
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x433378
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x4333ba
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4333b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
test edi, edi
je 0x433412
cmp dword [edi + 0x2c], 0
je 0x4333ed
mov eax, 4
cmp ax, word [edi + 0x30]
jae 0x4333ed
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4333e2
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0xa0
jmp 0x433417
mov eax, dword [edi]
test eax, eax
je 0x433412
mov eax, dword [eax + 0x44]
test eax, eax
je 0x433404
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x20], eax
test edi, edi
je 0x43347b
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x43345b
cmp byte [esi + 0x1e], 0
jne 0x43343e
mov eax, esi
cmp ecx, 0xc0a
jne 0x433456
push 0
push 7
push esi
call fcn.004ab9b0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x433462
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x433478
push eax
call dword [0x55ad20]
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call fcn.00508a14
add esp, 4
push 0
push 0xf4240
push edx
push eax
call fcn.00520600
movaps xmm0, xmmword [0x547ef0]
sub eax, 0xb6109100
mov dword [ebp - 0x378], eax
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x238]
mov dword [ebp - 0x58], 0xe3f9f0e2
sbb edx, 2
mov dword [ebp - 0x54], 0xe7f9edf9
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x374], edx
xorps xmm0, xmm0
mov byte [ebp - 0x238], 0
push eax
movq qword [ebp - 0x230], xmm0
call fcn.00493e80
mov byte [ebp - 4], 0x7a
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 0xe
jb 0x4334f0
mov dword [0x55d524], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x4a], 0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433523
sub ecx, edx
lea eax, [ebp - 0x58]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402b80
or dword [ebp - 0x14], 0x8000000
mov byte [ebp - 4], 0x7b
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 0x10
lea ecx, [ebp - 0x148]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.00486ff0
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x238]
mov eax, dword [ebp - 0x230]
mov byte [edi], cl
mov ecx, dword [ebp - 0x22c]
mov esi, dword [edi + 0xc]
mov byte [ebp - 0x238], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x238]
mov dword [edi + 8], eax
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x22c], esi
call fcn.00480b00
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x28]
cmp ecx, 0x10
jb 0x4335d4
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4335ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov edi, dword [ebp - 0x5c]
test edi, edi
je 0x43362f
cmp dword [edi + 0x2c], 0
je 0x43360a
mov eax, 5
cmp ax, word [edi + 0x30]
jae 0x43360a
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4335ff
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0xc8
jmp 0x433634
mov eax, dword [edi]
test eax, eax
je 0x43362f
mov eax, dword [eax + 0x44]
test eax, eax
je 0x433621
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x433695
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x433678
cmp byte [esi + 0x1e], 0
jne 0x43365b
mov edx, esi
cmp ecx, 0xc0a
jne 0x433673
push 0
push 7
push esi
call fcn.004ab9b0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [edi]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x43367f
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [edi + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x433695
push eax
call dword [0x55ad20]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0xefe4e9e9
push 0x18
movq qword [ebp - 0x160], xmm0
mov word [ebp - 0x158], 0
movq qword [ebp - 0x280], xmm0
mov byte [ebp - 0x288], 3
call fcn.004fae70
mov esi, eax
add esp, 4
lea eax, [ebp - 0x133]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], esi
mov byte [ebp - 4], 0x7d
xorps xmm0, xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433706
sub ecx, dword [ebp - 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.00402b80
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x280], esi
mov byte [ebp - 4], 0x7e
xor ecx, ecx
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x164], al
inc ecx
cmp ecx, 4
jb 0x433730
mov dword [0x55d5d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x164]
mov byte [ebp - 0x160], 0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433770
sub ecx, edx
lea eax, [ebp - 0x164]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402b80
or dword [ebp - 0x14], 0x4000000
mov byte [ebp - 4], 0x7f
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 0x10
lea ecx, [ebp - 0x148]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.00486ff0
mov esi, eax
mov cl, byte [esi]
mov eax, dword [ebp - 0x27c]
mov edi, dword [ebp - 0x20]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x288], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x280], ecx
lea ecx, [ebp - 0x288]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x27c], edx
call fcn.00480b00
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x43381f
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x433815
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433cde
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov edx, 7
mov ecx, edi
call fcn.004bd660
mov edx, 7
mov ecx, edi
mov esi, eax
call fcn.004bd750
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x433aaf
push 0x5424b0
lea ecx, [ebp - 0x3c]
call fcn.00402ab0
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x74]
push dword [ebp - 0x1c]
push esi
call fcn.00402af0
cmp byte [ebp - 0xb9], 0
mov byte [ebp - 4], 0x82
je 0x433976
xorps xmm0, xmm0
mov word [ebp - 0x19e], 0xb9f1
mov byte [ebp - 0x19c], 0xb9
xor ecx, ecx
movq qword [ebp - 0x19b], xmm0
mov word [ebp - 0x193], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x19e], al
inc ecx
cmp ecx, 3
jb 0x4338a0
lea eax, [ebp - 0x19e]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x19b], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x58]
or dword [ebp - 0x14], 0x400000
call fcn.00402b50
push eax
push esi
call fcn.004fc740
add esp, 8
test eax, eax
jne 0x433970
xorps xmm0, xmm0
mov word [ebp - 0x1ab], 0xb9f1
mov byte [ebp - 0x1a9], 0xb8
xor ecx, ecx
movq qword [ebp - 0x1a8], xmm0
mov word [ebp - 0x1a0], ax
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1ab], al
inc ecx
cmp ecx, 3
jb 0x433920
lea eax, [ebp - 0x1ab]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x1a8], 0
call fcn.00402ab0
or dword [ebp - 0x14], 0x800000
lea ecx, [ebp - 0x100]
call fcn.00402b50
push eax
push esi
call fcn.004fc740
add esp, 8
test eax, eax
je 0x433976
mov byte [ebp - 0x15], 1
jmp 0x43397a
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x800000
je 0x43399a
and eax, 0xff7fffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x82
test eax, 0x400000
je 0x4339b8
and eax, 0xffbfffff
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x4339f7
sub esp, 0x18
lea eax, [ebp - 0x74]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.00483010
sub esp, 0x18
mov byte [ebp - 4], 0x84
lea eax, [ebp - 0x330]
mov ecx, esp
push eax
call fcn.00483010
xor dl, dl
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x3c]
call fcn.00426f20
add esp, 0x30
jmp 0x433a05
push ecx
lea edx, [ebp - 0x3c]
mov ecx, esi
call fcn.00426df0
add esp, 4
sub esp, 0x10
mov dword [ebp - 0x186], 0xffe5e9f1
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x1c], esp
xorps xmm0, xmm0
mov byte [ebp - 0x182], 0xee
mov ecx, esp
movq qword [ebp - 0x181], xmm0
push eax
mov word [ebp - 0x179], 0
call fcn.00487710
mov byte [ebp - 4], 0x85
xor ecx, ecx
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x186], al
inc ecx
cmp ecx, 5
jb 0x433a41
lea eax, [ebp - 0x186]
mov dword [0x55d544], ecx
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 0x181], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x100]
call fcn.00402b50
push eax
lea ecx, [ebp - 0x148]
call fcn.00486ff0
mov ecx, eax
mov byte [ebp - 4], 0x87
call fcn.00480b20
lea ecx, [ebp - 0x100]
call fcn.00402a10
lea ecx, [ebp - 0x74]
call fcn.00402a10
jmp 0x433b50
mov edx, 6
mov ecx, edi
call fcn.004bd940
sub esp, 0x10
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], esp
xorps xmm0, xmm0
mov dword [ebp - 0x177], 0xffe5e9f1
mov ecx, esp
mov byte [ebp - 0x173], 0xee
push eax
movq qword [ebp - 0x172], xmm0
mov word [ebp - 0x16a], 0
call fcn.00487780
mov byte [ebp - 4], 0x88
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x177], al
inc ecx
cmp ecx, 5
jb 0x433b00
lea eax, [ebp - 0x177]
mov dword [0x55d544], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x172], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x3c]
call fcn.00402b50
push eax
lea ecx, [ebp - 0x148]
call fcn.00486ff0
mov ecx, eax
mov byte [ebp - 4], 0x8a
call fcn.00480b20
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x5c
call fcn.00402a10
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00480770
lea ecx, [ebp - 0x148]
push ecx
mov ecx, eax
call fcn.00480490
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x5a
call fcn.00480b00
mov ecx, edi
call fcn.004bd060
cmp eax, 0x64
je 0x4325b0
mov esi, dword [ebp - 0xc0]
mov ecx, edi
call fcn.004bcf20
mov ecx, esi
call fcn.00419b90
movaps xmm0, xmmword [0x5484b0]
xor ecx, ecx
mov byte [ebp - 0xb7], 0xe4
movups xmmword [ebp - 0xb6], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xb7], al
inc ecx
cmp ecx, 7
jb 0x433bd2
lea eax, [ebp - 0xb7]
mov dword [0x55d560], ecx
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0xb0], 0
call fcn.00402ab0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x8b
call fcn.00402b50
mov ecx, dword [ebp - 0x168]
push eax
call fcn.00486ff0
lea ecx, [ebp - 0xa0]
push ecx
mov ecx, eax
call fcn.00480490
lea ecx, [ebp - 0x3c]
call fcn.00402a10
lea ecx, [ebp - 0x2e8]
call fcn.00402a10
lea ecx, [ebp - 0xa0]
call fcn.00480b00
lea ecx, [ebp - 0x330]
call fcn.00402a10
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x1e
call fcn.00402a10
mov esi, dword [ebp - 0x84]
lea ecx, [ebp - 0xe8]
inc esi
mov dword [ebp - 0x84], esi
call fcn.00481ca0
cmp esi, eax
jae 0x433c81
mov edi, dword [ebp - 0x14]
jmp 0x4317b4
lea ecx, [ebp - 0x390]
call fcn.00402a10
lea ecx, [ebp - 0x3b8]
call fcn.00402a10
lea ecx, [ebp - 0xe8]
call fcn.00485200
lea ecx, [ebp - 0x2a0]
call fcn.00402a10
lea ecx, [ebx + 0x10]
call fcn.00402a10
lea ecx, [ebx + 0x28]
call fcn.00402a10
lea ecx, [ebx + 0x40]
call fcn.00402a10
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00500390
lea ecx, [ebp - 0x148]
call fcn.00484ce0
push eax
lea ecx, [ebp - 0xdc]
call fcn.00402ab0
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x34c]
call fcn.00486e40
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x444]
call fcn.00408cb0
add esp, 4
lea eax, [ebp - 0x444]
push 0x558298
push eax
call fcn.004fcadb
int3