Function at 0x408750
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x428df2
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3e8
mov eax, dword [0x439018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
mov dword [ebp - 4], 1
call fcn.0041754a
add esp, 4
push eax
call fcn.00417404
add esp, 4
push 0
push 0
push 0
push 0x4051d0
push 0
push 0
call dword [0x42a088]
push 0x7d0
call dword [0x42a078]
push 4
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
push 0x435a30
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.00403020
lea edx, [ebp - 0x3c]
mov byte [ebp - 4], 2
lea ecx, [ebx + 0x20]
call fcn.00406bf0
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x28]
cmp edx, 0x10
jb 0x40883a
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408830
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push edx
push ecx
call fcn.0040f3a3
add esp, 8
push 1
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
push 0x435a38
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.00403020
lea edx, [ebp - 0x3c]
mov byte [ebp - 4], 3
lea ecx, [ebx + 8]
call fcn.00406bf0
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x28]
cmp edx, 0x10
jb 0x4088a9
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40889f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push edx
push ecx
call fcn.0040f3a3
add esp, 8
cmp dword [ebx + 0x1c], 0x10
lea ecx, [ebx + 8]
jb 0x4088be
mov edi, dword [ebx + 8]
mov ecx, edi
mov esi, dword [ebx + 0x18]
add esi, edi
jmp 0x4088c7
lea esi, [ebx + 8]
add esi, dword [ebx + 0x18]
lea edi, [ebx + 8]
cmp edi, esi
je 0x4088ed
sub ecx, edi
mov dword [ebp - 0x364], ecx
movzx eax, byte [edi]
push eax
call fcn.0041751a
mov ecx, dword [ebp - 0x364]
add esp, 4
mov byte [edi + ecx], al
inc edi
cmp edi, esi
jne 0x4088d3
call fcn.004058c0
mov dword [ebp - 0x368], eax
call fcn.004051f0
cmp dword [ebx + 0x1c], 0x10
lea ecx, [ebx + 8]
mov edx, dword [ebx + 0x18]
cmovae ecx, dword [ebx + 8]
push 3
push 0x435a3c
push ecx
mov dword [ebp - 0x364], eax
call fcn.0040d780
mov edi, dword fs:[0x2c]
add esp, 0xc
test eax, eax
jne 0x408d04
push 0x148
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00410f50
add esp, 0xc
mov dword [ebp - 0x20c], 0x435a20
mov dword [ebp - 0x214], 0x7a120
push 0x7a120
call fcn.0040f3b1
add esp, 4
mov dword [ebp - 0x218], eax
push dword [ebp - 0x214]
push 0
push eax
call fcn.00410f50
add esp, 0xc
mov dword [ebp - 0x1f4], 0xfde9
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov byte [ebp - 4], 4
mov ecx, dword [edi]
mov eax, dword [0x43ae6c]
mov dword [ebp - 0x4c], 0x4f5e4d01
mov dword [ebp - 0x48], 0x434f4001
mov dword [ebp - 0x44], 0x465e004b
mov word [ebp - 0x40], 0x2e5e
cmp eax, dword [ecx + 4]
jle 0x408a23
push 0x43ae6c
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ae6c], 0xffffffff
jne 0x408a23
mov eax, dword [ebp - 0x44]
movq xmm0, qword [ebp - 0x4c]
mov dword [0x43ad88], eax
mov ax, word [ebp - 0x40]
push 0x429880
movq qword [0x43ad80], xmm0
mov word [0x43ad8c], ax
call fcn.0040f913
add esp, 4
push 0x43ae6c
call fcn.0040f4a2
add esp, 4
cmp byte [0x43ad8d], 0
je 0x408a3d
xor eax, eax
nop
xor byte [eax + 0x43ad80], 0x2e
inc eax
cmp eax, 0xe
jb 0x408a30
mov ecx, 0x43ad80
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408a60
sub ecx, edx
push ecx
push 0x43ad80
lea ecx, [ebp - 0x3c]
call fcn.00403020
mov byte [ebp - 4], 5
mov eax, 0x43ad20
cmp dword [0x43ad34], 0x10
push dword [0x43ad30]
cmovae eax, dword [0x43ad20]
push eax
push ecx
lea ecx, [ebp - 0x3c]
call fcn.0040dcd0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x28]
cmp edx, 0x10
jb 0x408b1d
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408b13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x408b13
call fcn.00413977
push edx
push ecx
call fcn.0040f3a3
add esp, 8
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
nop
cmp dword [ebp - 0xa0], 0x10
lea esi, [ebp - 0xb4]
mov eax, dword [ebp - 0x1ec]
cmovae esi, dword [ebp - 0xb4]
mov dword [ebp - 0x1e4], 0
test eax, eax
je 0x408b6b
push eax
call fcn.0040f171
add esp, 4
mov dword [ebp - 0x1ec], 0
push esi
lea ecx, [ebp - 0x218]
call fcn.00402930
test eax, eax
je 0x408c0a
mov edx, dword [ebp - 0x1f0]
xor eax, eax
cmp dword [ebp - 0x1e4], eax
mov dword [ebp - 0x54], eax
cmove edx, eax
mov dword [ebp - 0x44], eax
mov ecx, edx
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], al
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408ba5
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x54]
call fcn.00403020
mov byte [ebp - 4], 8
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 0x40]
cmp edx, 0x10
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x44]
cmovae eax, ecx
cmp esi, 1
je 0x408c1a
cmp esi, 0x14
jb 0x408c33
mov byte [ebp - 4], 7
cmp edx, 0x10
jb 0x408c0a
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408c00
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408caa
push edx
push ecx
call fcn.0040f3a3
add esp, 8
push 0xbb8
call dword [0x42a078]
jmp 0x408b30
movzx eax, byte [eax]
cmp al, 0x30
jne 0x408c25
xor eax, eax
jmp 0x408c2a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x408c33
call fcn.00405bf0
cmp edx, 0x10
lea eax, [ebp - 0x54]
push esi
cmovae eax, ecx
lea ecx, [ebx + 8]
push eax
call fcn.00403020
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x40]
cmp edx, 0x10
jb 0x408c7a
mov ecx, dword [ebp - 0x54]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408c70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408caa
push edx
push ecx
call fcn.0040f3a3
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xa0]
cmp edx, 0x10
jb 0x408cb9
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408caf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x408caf
call fcn.00413977
push edx
push ecx
call fcn.0040f3a3
add esp, 8
push dword [ebp - 0x218]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
call fcn.0040f171
add esp, 4
push dword [ebp - 0x1f0]
call fcn.0040f171
add esp, 4
push dword [ebp - 0x1ec]
call fcn.0040f171
add esp, 4
call dword [0x42a208]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
mov byte [ebp - 4], 0xb
mov esi, dword [edi]
mov eax, dword [0x43ae5c]
mov dword [ebp - 0x18], 0x2e564743
cmp eax, dword [esi + 4]
jle 0x408db3
push 0x43ae5c
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ae5c], 0xffffffff
jne 0x408db3
mov eax, dword [ebp - 0x18]
push 0x429870
mov dword [0x43afac], eax
call fcn.0040f913
add esp, 4
push 0x43ae5c
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43afaf]
test al, al
je 0x408dd8
xor byte [0x43afac], 0x2e
xor byte [0x43afad], 0x2e
xor byte [0x43afae], 0x2e
xor al, 0x2e
mov byte [0x43afaf], al
mov ecx, 0x43afac
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408df5
sub ecx, edx
push ecx
push 0x43afac
lea ecx, [ebp - 0x3c]
call fcn.00403020
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp - 0x3c]
lea ecx, [ebx + 8]
push dword [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
cmovae eax, edi
setae byte [ebp - 0x19]
cmp dword [ebx + 0x1c], 0x10
push eax
cmovae ecx, dword [ebx + 8]
push ecx
call fcn.0040d780
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x19], 0
je 0x408e70
mov ecx, dword [ebp - 0x28]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x408e63
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push ecx
push edi
call fcn.0040f3a3
mov eax, dword [ebp - 0x18]
add esp, 8
test eax, eax
jne 0x4091ab
cmp dword [ebx + 0x1c], 0x10
lea ecx, [ebx + 8]
mov edx, dword [ebx + 0x18]
cmovae ecx, dword [ebx + 8]
push 6
push 0x435a44
push ecx
call fcn.00403200
mov ecx, dword [esi + 4]
add esp, 0xc
mov dword [ebp - 0x24], 0x4b5c465a
mov word [ebp - 0x20], 0x2e4b
cmp eax, 0xffffffff
je 0x409014
cmp dword [0x43ad98], ecx
jle 0x408efc
push 0x43ad98
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ad98], 0xffffffff
jne 0x408efc
mov eax, dword [ebp - 0x24]
mov dword [0x43ae94], eax
mov ax, word [ebp - 0x20]
push 0x429860
mov word [0x43ae98], ax
call fcn.0040f913
add esp, 4
push 0x43ad98
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ae99]
test al, al
je 0x408f2f
xor byte [0x43ae94], 0x2e
xor byte [0x43ae95], 0x2e
xor byte [0x43ae96], 0x2e
xor byte [0x43ae97], 0x2e
xor byte [0x43ae98], 0x2e
xor al, 0x2e
mov byte [0x43ae99], al
mov ecx, 0x43ae94
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408f50
sub ecx, edx
push ecx
push 0x43ae94
lea ecx, [ebp - 0x3c]
call fcn.00403020
movups xmm0, xmmword [ebp - 0x3c]
mov eax, dword [0x43ae60]
mov word [ebp - 0x1c], 0x2e68
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x74], xmm0
cmp eax, dword [esi + 4]
jle 0x408fc9
push 0x43ae60
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ae60], 0xffffffff
jne 0x408fc9
mov ax, word [ebp - 0x1c]
push 0x429850
mov word [0x43ae04], ax
call fcn.0040f913
add esp, 4
push 0x43ae60
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ae05]
test al, al
je 0x408fe0
xor byte [0x43ae04], 0x2e
xor al, 0x2e
mov byte [0x43ae05], al
mov ecx, 0x43ae04
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409000
sub ecx, edx
push ecx
push 0x43ae04
jmp 0x40916f
cmp dword [0x43afcc], ecx
jle 0x40905e
push 0x43afcc
call fcn.0040f4ec
add esp, 4
cmp dword [0x43afcc], 0xffffffff
jne 0x40905e
mov eax, dword [ebp - 0x24]
mov dword [0x43ac8c], eax
mov ax, word [ebp - 0x20]
push 0x429840
mov word [0x43ac90], ax
call fcn.0040f913
add esp, 4
push 0x43afcc
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ac91]
test al, al
je 0x409091
xor byte [0x43ac8c], 0x2e
xor byte [0x43ac8d], 0x2e
xor byte [0x43ac8e], 0x2e
xor byte [0x43ac8f], 0x2e
xor byte [0x43ac90], 0x2e
xor al, 0x2e
mov byte [0x43ac91], al
mov ecx, 0x43ac8c
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4090b0
sub ecx, edx
push ecx
push 0x43ac8c
lea ecx, [ebp - 0x3c]
call fcn.00403020
movups xmm0, xmmword [ebp - 0x3c]
mov eax, dword [0x43affc]
mov word [ebp - 0x1c], 0x2e6d
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x74], xmm0
cmp eax, dword [esi + 4]
jle 0x409129
push 0x43affc
call fcn.0040f4ec
add esp, 4
cmp dword [0x43affc], 0xffffffff
jne 0x409129
mov ax, word [ebp - 0x1c]
push 0x429830
mov word [0x43aea8], ax
call fcn.0040f913
add esp, 4
push 0x43affc
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43aea9]
test al, al
je 0x409140
xor byte [0x43aea8], 0x2e
xor al, 0x2e
mov byte [0x43aea9], al
mov ecx, 0x43aea8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409160
sub ecx, edx
push ecx
push 0x43aea8
lea ecx, [ebp - 0x3c]
call fcn.00403020
movups xmm0, xmmword [ebp - 0x3c]
cmp dword [ebx + 0x1c], 0x10
lea eax, [ebx + 8]
push dword [ebx + 0x18]
cmovae eax, dword [ebx + 8]
lea ecx, [ebp - 0x6c]
movups xmmword [ebp - 0x9c], xmm0
push eax
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x8c], xmm0
call fcn.00403020
jmp 0x40a292
mov eax, dword [0x43ae0c]
mov word [ebp - 0x18], 0x5b4b
mov byte [ebp - 0x19], 0x2e
cmp eax, dword [esi + 4]
jle 0x409204
push 0x43ae0c
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ae0c], 0xffffffff
jne 0x409204
mov ax, word [ebp - 0x18]
mov word [0x43aecc], ax
mov al, byte [ebp - 0x19]
push 0x429820
mov byte [0x43aece], al
call fcn.0040f913
add esp, 4
push 0x43ae0c
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43aece]
test al, al
je 0x409222
xor byte [0x43aecc], 0x2e
xor byte [0x43aecd], 0x2e
xor al, 0x2e
mov byte [0x43aece], al
mov ecx, 0x43aecc
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409240
sub ecx, edx
push ecx
push 0x43aecc
lea ecx, [ebp - 0x3c]
call fcn.00403020
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp - 0x3c]
lea ecx, [ebx + 8]
push dword [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
cmovae eax, edi
setae byte [ebp - 0x19]
cmp dword [ebx + 0x1c], 0x10
push eax
cmovae ecx, dword [ebx + 8]
push ecx
call fcn.0040d780
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x19], 0
je 0x4092b8
mov ecx, dword [ebp - 0x28]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x4092ae
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push ecx
push edi
call fcn.0040f3a3
add esp, 8
cmp dword [ebp - 0x18], 0
mov eax, dword [esi + 4]
mov byte [ebp - 0x19], 0x2e
jne 0x409873
mov word [ebp - 0x18], 0x5b4b
cmp dword [0x43aeb0], eax
jle 0x40931c
push 0x43aeb0
call fcn.0040f4ec
add esp, 4
cmp dword [0x43aeb0], 0xffffffff
jne 0x40931c
mov ax, word [ebp - 0x18]
mov word [0x43ad94], ax
mov al, byte [ebp - 0x19]
push 0x429810
mov byte [0x43ad96], al
call fcn.0040f913
add esp, 4
push 0x43aeb0
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ad96]
test al, al
je 0x40933a
xor byte [0x43ad94], 0x2e
xor byte [0x43ad95], 0x2e
xor al, 0x2e
mov byte [0x43ad96], al
mov ecx, 0x43ad94
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409357
sub ecx, edx
push ecx
push 0x43ad94
lea ecx, [ebp - 0x3c]
call fcn.00403020
movups xmm0, xmmword [ebp - 0x3c]
mov eax, dword [0x43ad7c]
mov word [ebp - 0x1c], 0x2e6a
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x74], xmm0
cmp eax, dword [esi + 4]
jle 0x4093d0
push 0x43ad7c
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ad7c], 0xffffffff
jne 0x4093d0
mov ax, word [ebp - 0x1c]
push 0x429800
mov word [0x43ae08], ax
call fcn.0040f913
add esp, 4
push 0x43ad7c
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ae09]
test al, al
je 0x4093e7
xor byte [0x43ae08], 0x2e
xor al, 0x2e
mov byte [0x43ae09], al
mov ecx, 0x43ae08
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409404
sub ecx, edx
push ecx
push 0x43ae08
lea ecx, [ebp - 0x3c]
call fcn.00403020
movups xmm0, xmmword [ebp - 0x3c]
mov eax, dword [0x43af14]
mov dword [ebp - 0x24], 0x40415b4b
movups xmmword [ebp - 0x9c], xmm0
mov word [ebp - 0x20], 0x2e4b
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x8c], xmm0
cmp eax, dword [esi + 4]
jle 0x40948f
push 0x43af14
call fcn.0040f4ec
add esp, 4
cmp dword [0x43af14], 0xffffffff
jne 0x40948f
mov eax, dword [ebp - 0x24]
mov dword [0x43ac94], eax
mov ax, word [ebp - 0x20]
push 0x4297f0
mov word [0x43ac98], ax
call fcn.0040f913
add esp, 4
push 0x43af14
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ac99]
test al, al
je 0x4094c2
xor byte [0x43ac94], 0x2e
xor byte [0x43ac95], 0x2e
xor byte [0x43ac96], 0x2e
xor byte [0x43ac97], 0x2e
xor byte [0x43ac98], 0x2e
xor al, 0x2e
mov byte [0x43ac99], al
mov ecx, 0x43ac94
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4094e0
sub ecx, edx
push ecx
push 0x43ac94
lea ecx, [ebp - 0x3c]
call fcn.00403020
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp - 0x3c]
lea ecx, [ebx + 8]
push dword [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
cmovae eax, edi
setae byte [ebp - 0x19]
cmp dword [ebx + 0x1c], 0x10
push eax
cmovae ecx, dword [ebx + 8]
push ecx
call fcn.0040d780
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x19], 0
je 0x409558
mov ecx, dword [ebp - 0x28]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x40954e
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push ecx
push edi
call fcn.0040f3a3
add esp, 8
cmp dword [ebp - 0x18], 0
mov eax, dword [esi + 4]
jne 0x409657
mov dword [ebp - 0x18], 0x2e4b4041
cmp dword [0x43ae14], eax
jle 0x4095af
push 0x43ae14
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ae14], 0xffffffff
jne 0x4095af
mov eax, dword [ebp - 0x18]
push 0x4297e0
mov dword [0x43acd4], eax
call fcn.0040f913
add esp, 4
push 0x43ae14
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43acd7]
test al, al
je 0x4095d4
xor byte [0x43acd4], 0x2e
xor byte [0x43acd5], 0x2e
xor byte [0x43acd6], 0x2e
xor al, 0x2e
mov byte [0x43acd7], al
mov ecx, 0x43acd4
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4095f1
sub ecx, edx
push ecx
push 0x43acd4
lea ecx, [ebp - 0x3c]
call fcn.00403020
mov edx, dword [ebp - 0x58]
cmp edx, 0x10
jb 0x40985c
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409636
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push edx
push ecx
call fcn.0040f3a3
movups xmm0, xmmword [ebp - 0x3c]
add esp, 8
movups xmmword [ebp - 0x6c], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x5c], xmm0
jmp 0x40a292
mov dword [ebp - 0x24], 0x595a5b4b
mov word [ebp - 0x20], 0x2e41
cmp dword [0x43aec0], eax
jle 0x4096ae
push 0x43aec0
call fcn.0040f4ec
add esp, 4
cmp dword [0x43aec0], 0xffffffff
jne 0x4096ae
mov eax, dword [ebp - 0x24]
mov dword [0x43ad9c], eax
mov ax, word [ebp - 0x20]
push 0x4297d0
mov word [0x43ada0], ax
call fcn.0040f913
add esp, 4
push 0x43aec0
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ada1]
test al, al
je 0x4096e1
xor byte [0x43ad9c], 0x2e
xor byte [0x43ad9d], 0x2e
xor byte [0x43ad9e], 0x2e
xor byte [0x43ad9f], 0x2e
xor byte [0x43ada0], 0x2e
xor al, 0x2e
mov byte [0x43ada1], al
mov ecx, 0x43ad9c
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409700
sub ecx, edx
push ecx
push 0x43ad9c
lea ecx, [ebp - 0x3c]
call fcn.00403020
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp - 0x3c]
lea ecx, [ebx + 8]
push dword [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
cmovae eax, edi
setae byte [ebp - 0x19]
cmp dword [ebx + 0x1c], 0x10
push eax
cmovae ecx, dword [ebx + 8]
push ecx
call fcn.0040d780
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x19], 0
je 0x40977b
mov ecx, dword [ebp - 0x28]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x40976e
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push ecx
push edi
call fcn.0040f3a3
mov eax, dword [ebp - 0x18]
add esp, 8
test eax, eax
jne 0x40a292
mov eax, dword [0x43adb0]
mov dword [ebp - 0x18], 0x2e41595a
cmp eax, dword [esi + 4]
jle 0x4097cf
push 0x43adb0
call fcn.0040f4ec
add esp, 4
cmp dword [0x43adb0], 0xffffffff
jne 0x4097cf
mov eax, dword [ebp - 0x18]
push 0x4297c0
mov dword [0x43adc0], eax
call fcn.0040f913
add esp, 4
push 0x43adb0
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43adc3]
test al, al
je 0x4097f4
xor byte [0x43adc0], 0x2e
xor byte [0x43adc1], 0x2e
xor byte [0x43adc2], 0x2e
xor al, 0x2e
mov byte [0x43adc3], al
mov ecx, 0x43adc0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409811
sub ecx, edx
push ecx
push 0x43adc0
lea ecx, [ebp - 0x3c]
call fcn.00403020
mov edx, dword [ebp - 0x58]
cmp edx, 0x10
jb 0x40985c
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409852
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push edx
push ecx
call fcn.0040f3a3
add esp, 8
movups xmm0, xmmword [ebp - 0x3c]
movups xmmword [ebp - 0x6c], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x5c], xmm0
jmp 0x40a292
mov word [ebp - 0x18], 0x5d5b
cmp dword [0x43abe4], eax
jle 0x4098c3
push 0x43abe4
call fcn.0040f4ec
add esp, 4
cmp dword [0x43abe4], 0xffffffff
jne 0x4098c3
mov ax, word [ebp - 0x18]
mov word [0x43acbc], ax
mov al, byte [ebp - 0x19]
push 0x4297b0
mov byte [0x43acbe], al
call fcn.0040f913
add esp, 4
push 0x43abe4
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43acbe]
test al, al
je 0x4098e1
xor byte [0x43acbc], 0x2e
xor byte [0x43acbd], 0x2e
xor al, 0x2e
mov byte [0x43acbe], al
mov ecx, 0x43acbc
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409900
sub ecx, edx
push ecx
push 0x43acbc
lea ecx, [ebp - 0x3c]
call fcn.00403020
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp - 0x3c]
lea ecx, [ebx + 8]
push dword [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
cmovae eax, edi
setae byte [ebp - 0x19]
cmp dword [ebx + 0x1c], 0x10
push eax
cmovae ecx, dword [ebx + 8]
push ecx
call fcn.0040d780
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x19], 0
je 0x409978
mov ecx, dword [ebp - 0x28]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x40996e
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push ecx
push edi
call fcn.0040f3a3
add esp, 8
cmp dword [ebp - 0x18], 0
mov eax, dword [esi + 4]
mov byte [ebp - 0x19], 0x2e
jne 0x409f1f
mov word [ebp - 0x18], 0x5d5b
cmp dword [0x43af70], eax
jle 0x4099dc
push 0x43af70
call fcn.0040f4ec
add esp, 4
cmp dword [0x43af70], 0xffffffff
jne 0x4099dc
mov ax, word [ebp - 0x18]
mov word [0x43aed0], ax
mov al, byte [ebp - 0x19]
push 0x4297a0
mov byte [0x43aed2], al
call fcn.0040f913
add esp, 4
push 0x43af70
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43aed2]
test al, al
je 0x4099fa
xor byte [0x43aed0], 0x2e
xor byte [0x43aed1], 0x2e
xor al, 0x2e
mov byte [0x43aed2], al
mov ecx, 0x43aed0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409a17
sub ecx, edx
push ecx
push 0x43aed0
lea ecx, [ebp - 0x3c]
call fcn.00403020
movups xmm0, xmmword [ebp - 0x3c]
mov eax, dword [0x43abf4]
mov word [ebp - 0x1c], 0x2e6b
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x74], xmm0
cmp eax, dword [esi + 4]
jle 0x409a90
push 0x43abf4
call fcn.0040f4ec
add esp, 4
cmp dword [0x43abf4], 0xffffffff
jne 0x409a90
mov ax, word [ebp - 0x1c]
push 0x429790
mov word [0x43ad04], ax
call fcn.0040f913
add esp, 4
push 0x43abf4
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ad05]
test al, al
je 0x409aa7
xor byte [0x43ad04], 0x2e
xor al, 0x2e
mov byte [0x43ad05], al
mov ecx, 0x43ad04
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409ac4
sub ecx, edx
push ecx
push 0x43ad04
lea ecx, [ebp - 0x3c]
call fcn.00403020
movups xmm0, xmmword [ebp - 0x3c]
mov eax, dword [0x43ae2c]
mov dword [ebp - 0x24], 0x40415d5b
movups xmmword [ebp - 0x9c], xmm0
mov word [ebp - 0x20], 0x2e4b
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x8c], xmm0
cmp eax, dword [esi + 4]
jle 0x409b4f
push 0x43ae2c
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ae2c], 0xffffffff
jne 0x409b4f
mov eax, dword [ebp - 0x24]
mov dword [0x43af30], eax
mov ax, word [ebp - 0x20]
push 0x429780
mov word [0x43af34], ax
call fcn.0040f913
add esp, 4
push 0x43ae2c
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43af35]
test al, al
je 0x409b82
xor byte [0x43af30], 0x2e
xor byte [0x43af31], 0x2e
xor byte [0x43af32], 0x2e
xor byte [0x43af33], 0x2e
xor byte [0x43af34], 0x2e
xor al, 0x2e
mov byte [0x43af35], al
mov ecx, 0x43af30
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409ba0
sub ecx, edx
push ecx
push 0x43af30
lea ecx, [ebp - 0x3c]
call fcn.00403020
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp - 0x3c]
lea ecx, [ebx + 8]
push dword [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
cmovae eax, edi
setae byte [ebp - 0x19]
cmp dword [ebx + 0x1c], 0x10
push eax
cmovae ecx, dword [ebx + 8]
push ecx
call fcn.0040d780
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x19], 0
je 0x409c18
mov ecx, dword [ebp - 0x28]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x409c0e
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push ecx
push edi
call fcn.0040f3a3
add esp, 8
cmp dword [ebp - 0x18], 0
mov eax, dword [esi + 4]
jne 0x409d17
mov dword [ebp - 0x18], 0x2e4b4041
cmp dword [0x43af64], eax
jle 0x409c6f
push 0x43af64
call fcn.0040f4ec
add esp, 4
cmp dword [0x43af64], 0xffffffff
jne 0x409c6f
mov eax, dword [ebp - 0x18]
push 0x429770
mov dword [0x43afe8], eax
call fcn.0040f913
add esp, 4
push 0x43af64
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43afeb]
test al, al
je 0x409c94
xor byte [0x43afe8], 0x2e
xor byte [0x43afe9], 0x2e
xor byte [0x43afea], 0x2e
xor al, 0x2e
mov byte [0x43afeb], al
mov ecx, 0x43afe8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409cb1
sub ecx, edx
push ecx
push 0x43afe8
lea ecx, [ebp - 0x3c]
call fcn.00403020
mov edx, dword [ebp - 0x58]
cmp edx, 0x10
jb 0x40985c
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409cf6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push edx
push ecx
call fcn.0040f3a3
movups xmm0, xmmword [ebp - 0x3c]
add esp, 8
movups xmmword [ebp - 0x6c], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x5c], xmm0
jmp 0x40a292
mov dword [ebp - 0x24], 0x595a5d5b
mov word [ebp - 0x20], 0x2e41
cmp dword [0x43ae88], eax
jle 0x409d6e
push 0x43ae88
call fcn.0040f4ec
add esp, 4
cmp dword [0x43ae88], 0xffffffff
jne 0x409d6e
mov eax, dword [ebp - 0x24]
mov dword [0x43ae18], eax
mov ax, word [ebp - 0x20]
push 0x429760
mov word [0x43ae1c], ax
call fcn.0040f913
add esp, 4
push 0x43ae88
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43ae1d]
test al, al
je 0x409da1
xor byte [0x43ae18], 0x2e
xor byte [0x43ae19], 0x2e
xor byte [0x43ae1a], 0x2e
xor byte [0x43ae1b], 0x2e
xor byte [0x43ae1c], 0x2e
xor al, 0x2e
mov byte [0x43ae1d], al
mov ecx, 0x43ae18
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409dc0
sub ecx, edx
push ecx
push 0x43ae18
lea ecx, [ebp - 0x3c]
call fcn.00403020
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp - 0x3c]
lea ecx, [ebx + 8]
push dword [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
cmovae eax, edi
setae byte [ebp - 0x19]
cmp dword [ebx + 0x1c], 0x10
push eax
cmovae ecx, dword [ebx + 8]
push ecx
call fcn.0040d780
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x19], 0
je 0x409e3b
mov ecx, dword [ebp - 0x28]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x409e2e
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409f1a
push ecx
push edi
call fcn.0040f3a3
mov eax, dword [ebp - 0x18]
add esp, 8
test eax, eax
jne 0x40a292
mov eax, dword [0x43abe8]
mov dword [ebp - 0x18], 0x2e41595a
cmp eax, dword [esi + 4]
jle 0x409e8f
push 0x43abe8
call fcn.0040f4ec
add esp, 4
cmp dword [0x43abe8], 0xffffffff
jne 0x409e8f
mov eax, dword [ebp - 0x18]
push 0x429750
mov dword [0x43aeac], eax
call fcn.0040f913
add esp, 4
push 0x43abe8
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43aeaf]
test al, al
je 0x409eb4
xor byte [0x43aeac], 0x2e
xor byte [0x43aead], 0x2e
xor byte [0x43aeae], 0x2e
xor al, 0x2e
mov byte [0x43aeaf], al
mov ecx, 0x43aeac
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409ed1
sub ecx, edx
push ecx
push 0x43aeac
lea ecx, [ebp - 0x3c]
call fcn.00403020
mov edx, dword [ebp - 0x58]
cmp edx, 0x10
jb 0x40985c
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409852
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x409852
call fcn.00413977
mov dword [ebp - 0x24], 0x4b404740
cmp dword [0x43abe0], eax
jle 0x409f6e
push 0x43abe0
call fcn.0040f4ec
add esp, 4
cmp dword [0x43abe0], 0xffffffff
jne 0x409f6e
mov eax, dword [ebp - 0x24]
mov dword [0x43af5c], eax
mov al, byte [ebp - 0x19]
push 0x429730
mov byte [0x43af60], al
call fcn.0040f913
add esp, 4
push 0x43abe0
call fcn.0040f4a2
add esp, 4
mov al, byte [0x43af60]
test al, al
je 0x409f9a
xor byte [0x43af5c], 0x2e
xor byte [0x43af5d], 0x2e
xor byte [0x43af5e], 0x2e
xor byte [0x43af5f], 0x2e
xor al, 0x2e
mov byte [0x43af60], al
push 0x43af5c
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
call fcn.00402d80
push ecx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebx + 8]
call fcn.0040c820
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.00402db0
test esi, esi
jne 0x40a0d5
call fcn.0040a550
mov ecx, eax
call fcn.0040c680
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x84]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040a5d0
mov ecx, eax
call fcn.0040c660
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x9c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040a650
mov ecx, eax
call fcn.0040c640
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040a6d0
mov ecx, eax
call fcn.0040c6d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push ecx
push eax
lea ecx, [ebx + 8]
call fcn.0040c820
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.00402db0
test esi, esi
jne 0x40a09d
call fcn.0040a760
mov ecx, eax
call fcn.0040c680
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
lea ecx, [ebp - 0x6c]
jmp 0x40a284
call fcn.0040a7e0
mov ecx, eax
call fcn.0040c6d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push ecx
push eax
lea ecx, [ebx + 8]
call fcn.0040c820
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.00402db0
test esi, esi
jne 0x40a292
call fcn.0040a870
jmp 0x40a085
call fcn.0040a8f0
mov ecx, eax
call fcn.0040c610
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push ecx
push eax
lea ecx, [ebx + 8]
call fcn.0040c820
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.00402db0
test esi, esi
jne 0x40a15f
call fcn.0040a980
mov ecx, eax
call fcn.0040c660
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x9c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040aa00
mov ecx, eax
call fcn.0040c6a0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040aa90
jmp 0x40a26e
call fcn.0040ab10
mov ecx, eax
call fcn.0040c6a0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push ecx
push eax
lea ecx, [ebx + 8]
call fcn.0040c820
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.00402db0
test esi, esi
jne 0x40a1e9
call fcn.0040aba0
mov ecx, eax
call fcn.0040c660
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x9c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040ac20
mov ecx, eax
call fcn.0040c680
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040aca0
jmp 0x40a26e
call fcn.0040ad20
mov ecx, eax
call fcn.0040c640
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push ecx
push eax
lea ecx, [ebx + 8]
call fcn.0040c820
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.00402db0
test esi, esi
jne 0x40a292
call fcn.0040ada0
mov ecx, eax
call fcn.0040c660
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x9c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040ae20
mov ecx, eax
call fcn.0040c680
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
call fcn.0040aea0
mov ecx, eax
call fcn.0040c640
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402e80
lea ecx, [ebp - 0x84]
push eax
call fcn.00402e00
lea ecx, [ebp - 0x3c]
call fcn.00402db0
cmp dword [ebp - 0x364], 0
je 0x40a2a8
push 0x435a4c
lea ecx, [ebp - 0x6c]
call fcn.00402d80
cmp dword [ebp - 0x368], 0
je 0x40a2be
push 0x435a50
lea ecx, [ebp - 0x6c]
call fcn.00402d80
sub esp, 0x10
lea ecx, [ebp - 0x360]
xor esi, esi
push 0x435a20
call fcn.00402280
mov byte [ebp - 4], 0xc
call fcn.0040b040
mov ecx, eax
call fcn.0040c6a0
push eax
lea ecx, [ebp - 0x3f8]
call fcn.00402e80
mov edi, eax
mov byte [ebp - 4], 0xd
call fcn.0040afc0
mov ecx, eax
call fcn.0040c680
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00402e80
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
call fcn.0040af20
cmp byte [eax + 0x15], 0
je 0x40a33f
movups xmm0, xmmword [eax]
mov ecx, 0x10
movaps xmm1, xmmword [0x435bd0]
pxor xmm1, xmm0
movups xmmword [eax], xmm1
xor byte [ecx + eax], 0x2e
inc ecx
cmp ecx, 0x16
jb 0x40a335
push eax
lea ecx, [ebp - 0x3c8]
call fcn.00402e80
push eax
mov edx, 0x43ad20
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3b0]
call fcn.0040cfd0
add esp, 4
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x10
push ecx
mov edx, eax
lea ecx, [ebp - 0x398]
call fcn.0040d030
add esp, 4
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x380]
push dword [ebp - 0x18]
mov edx, eax
call fcn.0040d0e0
add esp, 4
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
push ecx
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.0040d030
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xb4]
call fcn.0040d0e0
add esp, 4
lea ecx, [ebx + 0x20]
mov byte [ebp - 4], 0x14
push ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.0040d030
add esp, 4
lea ecx, [ebp - 0xb4]
call fcn.00402db0
lea ecx, [ebp - 0x54]
call fcn.00402db0
lea ecx, [ebp - 0x380]
call fcn.00402db0
lea ecx, [ebp - 0x398]
call fcn.00402db0
lea ecx, [ebp - 0x3b0]
call fcn.00402db0
lea ecx, [ebp - 0x3c8]
call fcn.00402db0
lea ecx, [ebp - 0x3e0]
call fcn.00402db0
lea ecx, [ebp - 0x3f8]
mov byte [ebp - 4], 0x1d
call fcn.00402db0
lea ecx, [ebp - 0xcc]
inc esi
call fcn.00402d70
push eax
lea ecx, [ebp - 0x360]
call fcn.00402c40
test eax, eax
je 0x40a4b6
mov eax, dword [ebp - 0x338]
xor ecx, ecx
cmp dword [ebp - 0x32c], ecx
cmove eax, ecx
lea ecx, [ebp - 0x3c]
push eax
call fcn.00402e80
mov edx, 0x435a40
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x3c]
call fcn.00403170
test al, al
je 0x40a488
cmp esi, 1
je 0x408c2e
mov edx, 0x435a40
lea ecx, [ebp - 0x3c]
call fcn.00403170
lea ecx, [ebp - 0x3c]
test al, al
jne 0x40a4c6
mov edx, 0x435a20
call fcn.00403170
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3c]
test al, al
jne 0x40a4ca
call fcn.00402db0
push 0xbb8
call dword [0x42a078]
jmp 0x40a430
mov byte [ebp - 4], 0x1d
call fcn.00402db0
sub esp, 0x18
lea eax, [ebp - 0x9c]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.0040ca00
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x43ad38
call fcn.0040ca00
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov ecx, esp
push 0x43ad50
call fcn.0040ca00
cmp dword [ebp - 0x368], 0
mov byte [ebp - 4], 0x1d
setne dl
cmp dword [ebp - 0x364], 0
setne cl
call fcn.00407dd0
add esp, 0x30
mov ecx, esp
push 0x43ad08
call fcn.0040ca00
call fcn.00406c70
add esp, 0x18
call fcn.00405bf0
int3