Function at 0x454130
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x260
mov edx, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov eax, 0x1445247
mov ecx, 0x4e574f44
mov ebx, dword [ebp + 8]
movsd xmm1, qword [edx + 0x10]
movq xmm0, qword [edx + 0x18]
movq xmm2, qword [edx]
movsd qword [edi + 0x30], xmm1
movq xmm1, qword [edx + 8]
movq qword [edi + 0x38], xmm0
movq qword [edi + 0x20], xmm2
movq qword [edi + 0x28], xmm1
xor eax, dword [edi + 0x3c]
xor ecx, dword [edi + 0x38]
or ecx, eax
movzx eax, byte [ebp + 0x1c]
sete cl
and cl, al
mov eax, dword [ebp + 0x10]
mov byte [esp + 0xc], cl
je 0x4542c2
mov esi, dword [eax]
mov word [esp + 0x144], 4
mov byte [esp + 0xc8], 0xd
mov byte [esp + 0xca], 1
mov word [esp + 0x130], 0x1f
xor eax, eax
lea ecx, [esp + 0xc8]
cmp byte [esi + 0x28], 2
sete al
push eax
push ecx
push esi
call fcn.0043f370
add esp, 0xc
mov byte [esi + 0x24a], 1
mov word [ebx], 8
mov eax, dword [edi + 0xa0]
lock dec dword [eax]
jne 0x4541fe
lea eax, [edi + 0xa0]
push eax
call fcn.00451eb0
add esp, 4
cmp byte [edi + 0x98], 2
setne al
test byte [esp + 0xc], al
je 0x454333
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x454227
push 1
push eax
push dword [edi + 0x50]
call fcn.0040dc90
add esp, 0xc
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x5c]
test ecx, ecx
je 0x454247
mov edx, eax
nop word cs:[eax + eax]
nop dword [eax]
mov byte [edx], 0
inc edx
dec ecx
jne 0x454240
mov dword [edi + 0x60], 0
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x4551d2
je 0x454267
nop dword [eax + eax]
mov byte [eax], 0
inc eax
dec ecx
jne 0x454260
mov eax, dword [edi + 0x58]
test eax, eax
je 0x45427c
push 1
push eax
push dword [edi + 0x5c]
call fcn.0040dc90
add esp, 0xc
mov esi, dword [edi + 0x6c]
test esi, esi
je 0x454318
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x68]
add edi, 8
jmp 0x4542a6
add edi, 0x10
dec esi
je 0x454318
cmp dword [edi - 8], 0
jne 0x4542a0
mov eax, dword [edi - 4]
test eax, eax
je 0x4542a0
push 1
push eax
push dword [edi]
call fcn.0040dc90
add esp, 0xc
jmp 0x4542a0
mov ecx, dword [edx + 0x4c]
test ecx, ecx
je 0x45453f
mov esi, dword [edx + 0x48]
shl ecx, 2
mov edx, ecx
mov dword [esp + 0x10], ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x1f7f
lea eax, [esi + 0x10]
jmp 0x4542fc
add eax, 0x14
add ecx, 0xffffffec
je 0x454395
movzx edi, word [eax - 0x10]
mov bl, 1
bt edx, edi
jb 0x4542f0
cmp edi, 0xd
jne 0x454397
cmp word [eax], 0x13
jne 0x4542f0
jmp 0x454397
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x64]
test eax, eax
je 0x454333
shl eax, 4
push 4
push eax
push dword [edi + 0x68]
call fcn.0040dc90
add esp, 0xc
cmp byte [edi + 0xc0], 0
je 0x45450e
mov eax, dword [edi + 0xb0]
push dword [edi + 0xac]
call dword [eax]
add esp, 4
mov eax, dword [edi + 0xb0]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x454370
push dword [eax + 8]
push ecx
push dword [edi + 0xac]
call fcn.0040dc90
add esp, 0xc
mov eax, dword [edi + 0xb8]
test eax, eax
je 0x454b6d
mov ecx, dword [edi + 0xb4]
test ecx, ecx
je 0x454b6d
push 1
push ecx
push eax
jmp 0x454b65
xor ebx, ebx
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0xd4]
mov byte [eax + 0xd4], bl
mov ebx, dword [ebp + 8]
lea eax, [esi + 0x10]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + ecx*4]
jmp 0x4543cc
add eax, 0x14
add ecx, 0xffffffec
je 0x454451
movzx edx, word [eax - 0x10]
lea edi, [edx - 3]
cmp edi, 0xa
jb 0x4543c0
cmp edx, 2
jb 0x4543c0
cmp edx, 0xd
jne 0x4543e8
cmp word [eax], 0x14
jne 0x4543c0
mov eax, dword [0x57407c]
mov cl, 1
mov eax, dword [eax]
mov dword [esp + 8], ecx
cmp eax, 4
jb 0x454459
mov dword [esp + 0xd0], 0x51fc40
mov dword [esp + 0xd4], 1
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd8], 0x51fbc0
mov dword [esp + 0xdc], 0
sub esp, 4
lea eax, [esp + 0xcc]
push 0
push 0x5a
push 0x51fc6c
push 4
push eax
call fcn.004bc640
add esp, 0x18
jmp 0x454459
mov dword [esp + 8], 0
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 0xc]
add esi, 0x10
mov ecx, 0x1eff
lea eax, [eax + eax*4]
jmp 0x45447c
add esi, 0x14
add eax, 0xffffffec
je 0x454558
movzx edx, word [esi - 0x10]
bt ecx, edx
jb 0x454470
cmp edx, 0xd
jne 0x454490
cmp word [esi], 5
jne 0x454470
mov eax, dword [0x57407c]
mov cl, 1
mov eax, dword [eax]
mov dword [esp + 0x10], ecx
cmp eax, 4
jb 0x4544f7
mov dword [esp + 0xd0], str.Server_may_staple_OCSP_response
mov dword [esp + 0xd4], 1
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd8], 0x51fbc0
mov dword [esp + 0xdc], 0
sub esp, 4
lea eax, [esp + 0xcc]
push 0
push 0x66
push 0x51fc6c
push 4
push eax
call fcn.004bc640
add esp, 0x18
movzx eax, byte [edi + 0x98]
cmp al, 2
mov byte [esp + 0x160], al
jne 0x454576
jmp 0x45488f
cmp dword [edi + 0xc4], 0
je 0x454340
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x454340
push 1
push eax
push dword [edi + 0xcc]
call fcn.0040dc90
add esp, 0xc
jmp 0x454340
lea eax, [edi + 0xd4]
mov byte [edi + 0xd4], 0
mov dword [esp + 8], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], 0
movzx eax, byte [edi + 0x98]
cmp al, 2
mov byte [esp + 0x160], al
je 0x45488f
lea esi, [edi + 0x40]
lea edi, [esp + 0x68]
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0xb8]
cmp eax, dword [ecx + 0x40]
jne 0x4547a3
lea edi, [ecx + 0x20]
test eax, eax
je 0x454b77
lea ecx, [eax - 0x21]
cmp ecx, 0xffffffe0
jb 0x4551d2
xor edx, edx
cmp eax, 8
mov ecx, 0
jb 0x454786
xor edx, edx
cmp eax, 0x10
jb 0x45462d
mov ecx, eax
pxor xmm0, xmm0
xor edx, edx
and ecx, 0xfffffff0
movdqu xmm1, xmmword [esp + edx + 0x98]
movdqu xmm2, xmmword [edi + edx]
add edx, 0x10
cmp ecx, edx
pxor xmm2, xmm1
por xmm0, xmm2
jne 0x4545d0
pshufd xmm1, xmm0, 0xee
cmp eax, ecx
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
por xmm1, xmm0
movdqa xmm0, xmm1
psrlw xmm0, 8
por xmm0, xmm1
movd edx, xmm0
je 0x454798
test al, 8
je 0x454786
mov esi, ecx
mov ecx, eax
movzx edx, dl
and ecx, 0xfffffff8
movd xmm0, edx
nop dword [eax + eax]
movq xmm1, qword [esp + esi + 0x98]
movq xmm2, qword [edi + esi]
add esi, 8
cmp ecx, esi
pxor xmm2, xmm1
por xmm0, xmm2
jne 0x454640
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd edx, xmm1
jmp 0x454794
mov byte [ebx], 8
mov byte [ebx + 1], al
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4546a9
push 1
push eax
push dword [esp + 0x80]
call fcn.0040dc90
add esp, 0xc
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
test ecx, ecx
je 0x4546c7
mov edx, eax
nop dword [eax]
mov byte [edx], 0
inc edx
dec ecx
jne 0x4546c0
mov dword [esp + 0x88], 0
mov ecx, dword [esp + 0x80]
test ecx, ecx
js 0x4551d2
je 0x4546f7
nop word cs:[eax + eax]
nop dword [eax]
mov byte [eax], 0
inc eax
dec ecx
jne 0x4546f0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x454714
push 1
push eax
push dword [esp + 0x8c]
call fcn.0040dc90
add esp, 0xc
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
test edi, edi
je 0x454752
lea ebx, [esi + 8]
jmp 0x454736
add ebx, 0x10
dec edi
je 0x454752
cmp dword [ebx - 8], 0
jne 0x454730
mov eax, dword [ebx - 4]
test eax, eax
je 0x454730
push 1
push eax
push dword [ebx]
call fcn.0040dc90
add esp, 0xc
jmp 0x454730
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x45476c
shl eax, 4
push 4
push eax
push esi
call fcn.0040dc90
add esp, 0xc
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xa0]
lock dec dword [eax]
je 0x4541ef
jmp 0x4541fe
movzx ebx, byte [edi + ecx]
xor bl, byte [esp + ecx + 0x98]
inc ecx
or dl, bl
cmp eax, ecx
jne 0x454786
mov ebx, dword [ebp + 8]
test dl, dl
je 0x454b77
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4547bd
push 1
push eax
push dword [esp + 0x80]
call fcn.0040dc90
add esp, 0xc
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
test ecx, ecx
je 0x4547e7
mov edx, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov byte [edx], 0
inc edx
dec ecx
jne 0x4547e0
mov dword [esp + 0x88], 0
mov ecx, dword [esp + 0x80]
test ecx, ecx
js 0x4551d2
je 0x454817
nop word cs:[eax + eax]
nop dword [eax]
mov byte [eax], 0
inc eax
dec ecx
jne 0x454810
mov eax, dword [esp + 0x80]
test eax, eax
je 0x454834
push 1
push eax
push dword [esp + 0x8c]
call fcn.0040dc90
add esp, 0xc
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
test edi, edi
je 0x454872
lea ebx, [esi + 8]
jmp 0x454856
add ebx, 0x10
dec edi
je 0x454872
cmp dword [ebx - 8], 0
jne 0x454850
mov eax, dword [ebx - 4]
test eax, eax
je 0x454850
push 1
push eax
push dword [ebx]
call fcn.0040dc90
add esp, 0xc
jmp 0x454850
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x45488c
shl eax, 4
push 4
push eax
push esi
call fcn.0040dc90
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov edi, dword [edi + 0xa0]
movsd xmm1, qword [ecx + 0xc0]
movsd xmm2, qword [ecx + 0x10]
mov eax, dword [ecx + 0xd0]
movsd xmm0, qword [ecx + 0xc8]
movsd xmm3, qword [ecx]
movzx ebx, byte [ecx + 0xd4]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0xd8], xmm2
movsd xmm2, qword [ecx + 0x20]
mov dword [esp + 0x180], eax
mov eax, dword [ecx + 0xbc]
movsd qword [esp + 0x178], xmm0
movsd qword [esp + 0xc8], xmm3
movsd qword [esp + 0xd0], xmm1
movsd xmm1, qword [ecx + 0x18]
movsd qword [esp + 0xe8], xmm2
movsd xmm2, qword [ecx + 0x30]
mov dword [esp + 0x200], eax
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [ecx + 0x28]
movsd qword [esp + 0xf8], xmm2
movsd xmm2, qword [ecx + 0xa4]
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [ecx + 0x38]
movsd qword [esp + 0x1e8], xmm2
movsd qword [esp + 0x100], xmm1
movsd xmm1, qword [ecx + 0xac]
movsd qword [esp + 0x1f0], xmm1
movsd xmm1, qword [ecx + 0xb4]
movsd qword [esp + 0x1f8], xmm1
push 8
push 0x100
call fcn.0040dc80
add esp, 8
test eax, eax
je 0x4551d6
mov esi, eax
lea eax, [esp + 0xc8]
push 0x98
push eax
push esi
call fcn.004f5b80
add esp, 0xc
mov eax, dword [ebp + 0x18]
mov byte [esi + 0x98], 2
cmp byte [esp + 0x160], 2
movsd xmm0, qword [eax + 0x20]
movsd xmm1, qword [eax + 0x28]
movq xmm2, qword [eax + 0x30]
movsd xmm3, qword [eax + 0x38]
mov eax, dword [eax + 0x40]
mov dword [esi + 0xc0], eax
movsd qword [esi + 0xa0], xmm0
mov eax, dword [esp + 0x200]
movsd xmm0, qword [esp + 0x1e8]
movsd qword [esi + 0xa8], xmm1
movq qword [esi + 0xb0], xmm2
movsd qword [esi + 0xb8], xmm3
mov dword [esi + 0xc4], edi
movsd xmm1, qword [esp + 0x1f0]
mov dword [esi + 0xe0], eax
movsd qword [esi + 0xc8], xmm0
movsd xmm0, qword [esp + 0x1f8]
mov eax, dword [ebp + 0x14]
movsd qword [esi + 0xd0], xmm1
movq xmm1, qword [esp + 0x178]
movsd qword [esi + 0xd8], xmm0
mov dword [esi + 0xe4], eax
mov eax, dword [esp + 0x180]
movq xmm0, qword [esp + 0x170]
movq qword [esi + 0xf0], xmm1
mov dword [esi + 0xf8], eax
mov eax, dword [esp + 0x10]
movq qword [esi + 0xe8], xmm0
mov byte [esi + 0xfc], bl
mov ebx, dword [ebp + 8]
mov byte [esi + 0xfd], al
mov eax, dword [esp + 8]
mov dword [ebx + 4], esi
mov dword [ebx + 8], 0x51fd40
mov byte [ebx], 0x14
mov byte [esi + 0xfe], al
mov esi, dword [ebp + 0xc]
jne 0x454b6d
cmp byte [esi + 0x98], 2
je 0x454b6d
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x454acd
push 1
push eax
push dword [esi + 0x50]
call fcn.0040dc90
add esp, 0xc
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x5c]
test ecx, ecx
je 0x454ae7
mov edx, eax
nop dword [eax]
mov byte [edx], 0
inc edx
dec ecx
jne 0x454ae0
mov dword [esi + 0x60], 0
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x4551d2
je 0x454b07
nop dword [eax + eax]
mov byte [eax], 0
inc eax
dec ecx
jne 0x454b00
mov eax, dword [esi + 0x58]
test eax, eax
je 0x454b1c
push 1
push eax
push dword [esi + 0x5c]
call fcn.0040dc90
add esp, 0xc
mov esi, dword [esi + 0x6c]
test esi, esi
je 0x454b52
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x68]
add edi, 8
jmp 0x454b36
add edi, 0x10
dec esi
je 0x454b52
cmp dword [edi - 8], 0
jne 0x454b30
mov eax, dword [edi - 4]
test eax, eax
je 0x454b30
push 1
push eax
push dword [edi]
call fcn.0040dc90
add esp, 0xc
jmp 0x454b30
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x454b6d
shl eax, 4
push 4
push eax
push dword [ecx + 0x68]
call fcn.0040dc90
add esp, 0xc
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x57407c]
mov eax, dword [eax]
cmp eax, 3
jbe 0x454bd8
mov dword [esp + 0xd0], str.Server_agreed_to_resume
mov dword [esp + 0xd4], 1
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd8], 0x51fbc0
mov dword [esp + 0xdc], 0
sub esp, 4
lea eax, [esp + 0xcc]
push 0
push 0x6c
push 0x51fc6c
push 4
push eax
call fcn.004bc640
add esp, 0x18
mov ecx, dword [esp + 0xbc]
mov esi, dword [ebp + 0x14]
mov al, 0x29
movzx edx, word [ecx + 0x18]
cmp dx, word [esi + 0x18]
mov esi, dword [ebp + 0xc]
jne 0x454689
movzx edx, dx
cmp edx, 0x178
jne 0x454c11
mov edx, dword [ebp + 0x14]
movzx edx, word [edx + 0x1a]
cmp word [ecx + 0x1a], dx
jne 0x454689
cmp byte [esp + 0xc0], 0
mov ecx, dword [esp + 0x2c]
setne al
cmp byte [ecx], 0
setne cl
xor cl, al
mov al, 0x2a
jne 0x454689
movsd xmm1, qword [esi + 0x30]
movsd xmm2, qword [esi + 0x28]
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esi + 0x38]
mov ecx, dword [esp + 0x84]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0xc], edi
movsd qword [esp + 0x1a0], xmm1
movsd xmm1, qword [esi + 0x20]
movsd qword [esp + 0x198], xmm2
movsd xmm2, qword [esi + 0x18]
cmp eax, 0x30
movsd qword [esp + 0x1a8], xmm0
movsd qword [esp + 0x190], xmm1
movsd xmm1, qword [esi + 0x10]
movsd qword [esp + 0x188], xmm2
movsd xmm2, qword [esi]
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x170], xmm2
movsd qword [esp + 0x178], xmm1
mov dword [esp + 0x1e0], edx
jne 0x4551e7
movsd xmm0, qword [ecx + 0x28]
lea eax, [esp + 0x1b0]
lea ebx, [esp + 0x170]
movsd qword [esp + 0x1d8], xmm0
movsd xmm0, qword [ecx + 0x20]
movsd qword [esp + 0x1d0], xmm0
movsd xmm0, qword [ecx + 0x18]
movsd qword [esp + 0x1c8], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [esp + 0x1c0], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esi + 0xa0]
movsd qword [esp + 0x1b8], xmm1
movsd qword [esp + 0x1b0], xmm0
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push 0x30
push eax
push 0x20
push ebx
push 0xd
push str.CLIENT_RANDOM
push edx
call dword [ecx + 0x18]
add esp, 0x1c
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
lea eax, [esp + 0xc8]
push 0
push ebx
push eax
call fcn.00445b00
add esp, 0xc
movsd xmm0, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp + 0x160], xmm1
push ebx
call dword [edi]
add esp, 4
mov eax, dword [edi + 4]
test eax, eax
je 0x454da7
push dword [edi + 8]
push eax
push ebx
call fcn.0040dc90
add esp, 0xc
movaps xmm0, xmmword [esp + 0x160]
movlps qword [esi + 0x10], xmm0
mov dword [esi + 4], 0
mov dword [esi], 0
mov byte [esi + 0x28], 1
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x1c]
push ebx
call dword [edi]
add esp, 4
mov eax, dword [edi + 4]
test eax, eax
je 0x454de4
push dword [edi + 8]
push eax
push ebx
call fcn.0040dc90
add esp, 0xc
movaps xmm0, xmmword [esp + 0x10]
lea eax, [esp + 0x8c]
movlps qword [esi + 0x18], xmm0
mov dword [esi + 0xc], 0
mov dword [esi + 8], 0
mov byte [esi + 0x29], 1
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.00455e40
add esp, 8
mov ebx, dword [esi + 0x228]
lea edi, [esi + 0x224]
test ebx, ebx
je 0x454e7a
mov dword [esp + 0x10], edi
mov edi, dword [esi + 0x22c]
test edi, edi
je 0x454e5c
add ebx, 8
jmp 0x454e40
add ebx, 0x10
dec edi
je 0x454e5c
cmp dword [ebx - 8], 0
jne 0x454e3a
mov eax, dword [ebx - 4]
test eax, eax
je 0x454e3a
push 1
push eax
push dword [ebx]
call fcn.0040dc90
add esp, 0xc
jmp 0x454e3a
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x454e7a
shl eax, 4
push 4
push eax
push dword [esi + 0x228]
call fcn.0040dc90
add esp, 0xc
mov eax, dword [esp + 0xd0]
cmp byte [esp + 8], 0
mov dword [edi + 8], eax
movsd xmm0, qword [esp + 0xc8]
movsd qword [edi], xmm0
je 0x45503f
mov edx, dword [ebp + 0xc]
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x170]
mov ecx, 0x1d
mov eax, dword [edx + 0xa0]
mov dword [esp + 0x10], eax
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0xc8]
lea esi, [esp + 0x68]
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xc]
movsd xmm4, qword [edx + 0xc8]
movsd xmm5, qword [edx + 0xb4]
movsd xmm6, qword [edx + 0xa4]
movsd xmm7, qword [edx + 0xac]
mov eax, dword [ecx + 0x20]
movsd xmm2, qword [ecx + 0x18]
movsd xmm0, qword [ecx + 0x10]
movsd xmm1, qword [ecx]
movsd xmm3, qword [ecx + 8]
movsd qword [esp + 0x38], xmm4
movsd qword [esp + 0x58], xmm5
movsd qword [esp + 0x50], xmm7
movsd qword [esp + 0x48], xmm6
mov dword [esp + 0x148], eax
mov eax, dword [edx + 0xd0]
movsd qword [esp + 0x140], xmm2
movsd xmm2, qword [edx + 0xc0]
movsd qword [esp + 0x138], xmm0
movsd qword [esp + 0x130], xmm3
movsd qword [esp + 0x128], xmm1
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0xbc]
movsd qword [esp + 0x30], xmm2
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 0xd4]
mov byte [esp + 0xc], al
push 8
push 0x130
call fcn.0040dc80
add esp, 8
test eax, eax
je 0x4551f9
mov ebx, eax
push 0x84
lea eax, [esp + 0xcc]
push eax
push ebx
call fcn.004f5b80
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edi, ebx
lea esi, [esp + 0x1e8]
mov ecx, 0x1d
add edi, 0x88
mov dword [ebx + 0x84], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x60]
movq xmm0, qword [esp + 0x58]
movsd xmm3, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
movq xmm2, qword [esp + 0x30]
mov dword [ebx + 0x114], eax
mov eax, dword [esp + 0x40]
movsd qword [ebx + 0x104], xmm1
movq qword [ebx + 0x10c], xmm0
movsd qword [ebx + 0xfc], xmm3
movq xmm1, qword [esp + 0x38]
movq qword [ebx + 0x118], xmm2
mov dword [ebx + 0x128], eax
movzx eax, byte [esp + 0xc]
movq qword [ebx + 0x120], xmm1
mov byte [ebx + 0x12c], al
mov byte [ebx + 0x12d], 1
mov eax, 0x51fce8
jmp 0x4551bf
mov edx, dword [ebp + 0xc]
lea edi, [esp + 0xc8]
lea esi, [esp + 0x170]
mov ecx, 0x1d
mov eax, dword [edx + 0xa0]
mov dword [esp + 0x10], eax
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x68]
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 0xd0]
movsd xmm0, qword [edx + 0xc0]
movsd xmm1, qword [edx + 0xc8]
movsd xmm2, qword [edx + 0xa4]
movsd xmm3, qword [edx + 0xac]
movsd xmm4, qword [edx + 0xb4]
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0xbc]
movsd qword [esp + 0x38], xmm1
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x50], xmm3
movsd qword [esp + 0x58], xmm4
movsd qword [esp + 0x48], xmm2
mov dword [esp + 0x60], eax
movzx eax, byte [edx + 0xd4]
mov byte [esp + 8], al
call fcn.00452b10
mov ecx, 0x18
lea esi, [esp + 0x1e8]
mov edi, eax
mov ebx, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x68], 0
lea edi, [ebx + 0x98]
mov ecx, 0x1d
lea esi, [esp + 0xc8]
mov eax, dword [esp + 0xc]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd xmm2, qword [eax + 0x10]
movsd xmm3, qword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x90], eax
mov eax, dword [esp + 0x10]
movsd qword [ebx + 0x70], xmm0
movsd qword [ebx + 0x78], xmm1
movsd qword [ebx + 0x80], xmm2
movsd qword [ebx + 0x88], xmm3
mov dword [ebx + 0x94], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x60]
movq xmm0, qword [esp + 0x58]
movsd xmm3, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
movq xmm2, qword [esp + 0x30]
mov dword [ebx + 0x124], eax
mov eax, dword [esp + 0x40]
movsd qword [ebx + 0x114], xmm1
movq qword [ebx + 0x11c], xmm0
movsd qword [ebx + 0x10c], xmm3
movq xmm1, qword [esp + 0x38]
movq qword [ebx + 0x128], xmm2
mov dword [ebx + 0x138], eax
movzx eax, byte [esp + 8]
movq qword [ebx + 0x130], xmm1
mov byte [ebx + 0x13c], al
mov eax, 0x51fd14
mov byte [ebx + 0x13d], 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], eax
mov ebx, ecx
mov byte [ecx], 0x14
jmp 0x454b6d
ud2
push 8
push 0x100
call fcn.005062c0
add esp, 8
ud2
push 0x51ea2c
push eax
push 0x30
call fcn.004ccfb0
add esp, 0xc
ud2
push 8
push 0x130
call fcn.005062c0
add esp, 8
ud2