Function at 0x42b30d
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, 0x280
mov dword [esp + 0x8c], ecx
mov ecx, dword [edx + 4]
mov edi, dword [edx]
mov dword [esp + 0x14], edx
mov eax, ecx
shr eax, 0x10
add cx, di
mov dword [esp + 0xc], eax
mov eax, 0xffff
cmovb ecx, eax
cmp cx, di
mov dword [esp + 0x10], ecx
jbe 0x42b388
mov esi, edi
shr esi, 0x10
mov dword [esp + 0x30], esi
add si, word [esp + 0xc]
cmovb esi, eax
cmp si, word [esp + 0x30]
jbe 0x42b380
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebp + 8]
mov edx, edi
push ebx
inc ebx
call fcn.00440ce0
add esp, 4
mov ecx, eax
call fcn.00440ca8
cmp bx, si
jb 0x42b365
inc edi
cmp di, word [esp + 0x10]
jb 0x42b35a
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
test ax, ax
je 0x42b39a
dec eax
mov word [esi + 6], ax
mov al, byte [0x48fdb4]
xor ecx, ecx
mov edx, 0x3c
call fcn.0045a4d0
test eax, eax
je 0x42e883
mov dword [eax], 0x30002
mov dword [eax + 0xc], 0x70003
mov dword [eax + 0x18], 0xb0002
mov dword [eax + 0x24], 0x50004
mov dword [eax + 0x30], 0x10002
mov edi, eax
mov eax, 5
lea ebx, [esp + 0x90]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
xor eax, eax
mov dword [ebx + 0xc], eax
mov word [ebx + 0x10], 0x101
push ebx
call fcn.0043c934
add esp, 4
mov ebx, eax
mov esi, edx
push edi
xor eax, eax
push eax
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
je 0x42e7b4
cmp esi, 1
je 0x42e7c2
cmp esi, 2
jbe 0x42e7d1
cmp esi, 3
je 0x42e7e5
cmp esi, 4
jbe 0x42e7f9
mov eax, dword [ebx + 8]
mov dword [esp + 0x238], esi
mov dword [esp + 0x23c], ebx
mov esi, dword [ebx + 0x18]
mov edi, dword [ebx + 0x1c]
xor ecx, ecx
mov edx, 0x18
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x1fc], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x1c0], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x230], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x234], eax
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
je 0x42e847
mov ebx, eax
mov eax, 0x320000
mov ecx, esi
mov edx, edi
mov dword [ebx], eax
mov dword [ebx + 0xc], eax
mov eax, 2
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], eax
xor eax, eax
mov word [esp + 0xa0], 0x100
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x90]
push eax
call fcn.0043c934
add esp, 4
mov esi, eax
mov edi, edx
push ebx
xor eax, eax
push eax
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
je 0x42e80d
cmp edi, 1
je 0x42e81b
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x218], edi
mov dword [esp + 0x21c], esi
shr eax, 0x10
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x1ac], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x1f8], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x1f0], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x8c]
lea ecx, [eax + 0x60]
mov edi, dword [eax + 0x80]
mov edx, dword [eax + 4]
mov dword [esp + 0x22c], ecx
mov ecx, dword [eax + 0x64]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x1b4], ecx
lea ecx, [eax + 0x70]
mov dword [esp + 0x228], ecx
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x14], ecx
lea ecx, [eax + 0x78]
mov dword [esp + 0x224], ecx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x200], ecx
lea ecx, [eax + 0x80]
mov dword [esp + 0x220], ecx
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax]
push dword [eax + 8]
call fcn.0045a1b0
add esp, 4
mov dword [esp + 0x28], eax
mov al, 0x13
xor ecx, ecx
mov dword [esp + 0x90], 0x80000000
mov dword [esp + 0x4c], edx
mov esi, 0x9533b0bc
mov byte [esp + 0x9c], al
mov byte [esp + 0xa0], al
mov dword [esp + 0xa4], ecx
mov byte [esp + 0xa8], al
mov byte [esp + 0xac], al
lea eax, [0x4737a9]
mov dword [esp + 0xb0], ecx
mov word [esp + 0xb4], 0
mov byte [esp + 0xb6], 0xf
mov dword [esp + 0x130], eax
mov eax, 0xb6223efd
mov edx, dword [esp + 0x130]
sub eax, dword [0x48f318]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], ecx
rol eax, 1
sub esi, eax
rol esi, 7
movzx eax, si
add eax, edx
mov dl, 1
mov ebx, ecx
movzx esi, byte [ecx + 0x47a888]
or ebx, 1
movzx ebx, byte [ebx + 0x47a888]
shl ebx, 8
or ebx, esi
mov esi, ecx
or esi, 2
movzx esi, byte [esi + 0x47a888]
shl esi, 0x10
or ebx, esi
mov esi, ecx
or esi, 3
movzx esi, byte [esi + 0x47a888]
shl esi, 0x18
or ebx, esi
xor ebx, dword [eax + ecx]
mov dword [esp + ecx + 0x130], ebx
xor ebx, ebx
test dl, 1
mov ecx, 4
mov edx, 0
jne 0x42b686
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
movapd xmm4, xmmword [0x473160]
add ecx, dword [esp + 0x1b4]
adc edx, dword [esp + 0x1b8]
add ecx, dword [esp + 0x200]
adc edx, dword [esp + 0x1b0]
xor esi, esi
movd xmm0, ecx
mov ecx, edi
inc esi
cmp edi, esi
adc ecx, ebx
movd xmm1, edx
mov edx, dword [esp + 0x30]
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [0x473150]
test edx, edx
movd xmm3, edx
cmove edi, esi
punpckldq xmm0, xmm1
lea esi, [esp + 0x130]
cmove edi, ecx
subpd xmm0, xmm4
mov ecx, 0xa
xor edx, edx
movd xmm2, edi
movapd xmm5, xmm0
punpckldq xmm2, xmm3
unpckhpd xmm5, xmm0
punpckldq xmm2, xmm1
addsd xmm5, xmm0
subpd xmm2, xmm4
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm0, xmm2
divsd xmm5, xmm0
movapd xmmword [esp + 0x30], xmm5
movzx eax, word [eax + 8]
movsd xmm0, qword [esi]
xor eax, 0x6e19
movsd qword [esp + 0x178], xmm0
mov word [esp + 0x180], ax
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x178]
lea edi, [esp + 0x1c8]
movsd qword [edx], xmm0
movzx ecx, word [esp + 0x180]
mov word [edx + 8], cx
mov ecx, 0x10
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0xa
mov edx, esi
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ecx
xor ecx, ecx
inc ecx
mov dword [esi + 0x10], ecx
mov ecx, edi
call fcn.004411f7
lea esi, [esp + 0x90]
mov ecx, esi
call fcn.0042b2c9
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
movsd qword [esi], xmm0
mov dword [esi + 8], eax
mov dword [edi + 4], eax
mov al, byte [esi + 0x25]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov byte [esp + 0x7c], al
mov al, byte [esi + 0x27]
mov dword [edi], ecx
mov ecx, 1
mov dword [edi + 0x10], ebx
mov dword [edi + 8], 9
mov dword [esp + 0x78], edx
mov dword [edi + 0xc], ecx
mov dword [esp + 0x88], ecx
movsd xmm0, qword [edi]
mov byte [esp + 0x80], al
movzx eax, byte [esi + 0x26]
movsd qword [esi], xmm0
movsd xmm0, qword [edi + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x10]
movsd qword [esi + 8], xmm0
mov dword [esi + 0x10], eax
mov eax, 0x10
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0xc]
movsd xmm1, qword [esi + 0x10]
movsd xmm2, qword [esi]
movsd xmm0, qword [esi + 0x18]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
movsd qword [edi + 0x10], xmm1
movsd xmm1, qword [esi + 8]
movsd qword [edi + 0x18], xmm0
movsd qword [edi], xmm2
mov dword [esi], eax
movsd qword [edi + 8], xmm1
lea edi, [esp + 0x130]
mov ecx, edi
push esi
push dword [esp + 0x30]
call fcn.0044124b
movapd xmm1, xmmword [esp + 0x38]
add esp, 8
movzx eax, word [edi + 4]
xorpd xmm0, xmm0
sub ax, 2
cmovb eax, ebx
ucomisd xmm1, xmm0
mov dword [esp + 0x84], eax
jb 0x42e892
movsd xmm0, qword [0x473170]
ucomisd xmm0, xmm1
jb 0x42e892
movzx ecx, word [esp + 0x132]
movzx eax, word [esp + 0x130]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x48], ecx
movzx ecx, word [esp + 0x136]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x18]
mov esi, ecx
push dword [esp + 0x4c]
call fcn.0042e8ff
add esp, 4
lea eax, [0x46eba2]
movsd xmm0, qword [0x473178]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [0x48f31c]
mov edx, eax
shr edx, 0x1a
xor edx, eax
mov eax, 0xffff
imul edi, edx, 0xd27f4fdb
rol edi, 5
not edi
rol edi, 1
and edi, eax
movzx edx, byte [ecx + edi + 2]
movzx ecx, word [ecx + edi]
mulsd xmm0, qword [esp + 0x30]
lea edi, [esp + 0x24c]
xor ecx, 0xb626
xor dl, 0xa0
movsd qword [esp + 0x210], xmm0
mov word [edi], cx
mov byte [edi + 2], dl
lea edx, [esp + 0x204]
lea ecx, [0x477088]
mov dword [edx], edi
mov dword [esp + 0x90], ecx
mov ecx, 3
lea edi, [esp + 0x1a0]
mov dword [edx + 4], ecx
movsd qword [edi], xmm0
mov ebx, dword [esp + 0x90]
mov ecx, dword [0x48f320]
rol ecx, 1
and ecx, eax
mov al, byte [ebx + ecx]
mov ecx, 0x418ba0
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], 0x4143c0
mov dword [esp + 0x138], edx
mov edx, 0x20
lea esi, [esp + 0x90]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], edi
mov dword [esp + 0x144], 0x41f3a0
mov edi, 2
mov dword [esp + 0x90], edi
mov byte [esp + 0x28], al
lea eax, [esp + 0x68]
mov dword [esp + 0x148], eax
xor eax, eax
mov dword [esp + 0x14c], ecx
xor ebx, ebx
mov cl, 3
inc eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov byte [esp + 0xac], cl
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xcc], cl
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], ebx
mov byte [esp + 0xec], cl
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], eax
mov eax, 3
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], edi
mov dword [esp + 0x100], edx
lea edx, [esp + 0x178]
mov ecx, 4
mov dword [esp + 0x104], eax
mov al, byte [esp + 0x28]
mov dword [edx], 0x47a894
mov dword [edx + 4], ecx
mov dword [edx + 0x10], esi
lea esi, [esp + 0x130]
mov dword [edx + 0x14], ecx
mov dword [esp + 0x108], ebx
mov dword [edx + 8], esi
mov dword [edx + 0xc], ecx
lea ecx, [esp + 0x240]
lea esi, [esp + 0x68]
mov dword [esi], ecx
xor al, 0xf1
mov byte [ecx], al
xor ecx, ecx
mov al, 3
inc ecx
mov byte [esp + 0x10c], al
mov dword [esi + 4], ecx
lea ecx, [esp + 0x50]
call fcn.004146f0
lea eax, [esp + 0x18]
cmp dword [eax], ebx
je 0x42bb7c
push dword [esp + 0x1c]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
lea eax, [esp + 0x94]
lea edx, [esp + 0x130]
movzx ecx, word [eax - 4]
mov esi, edx
mov edi, eax
mov word [esp + 0x68], cx
movzx ecx, word [edx]
mov word [esp + 0x1a0], cx
mov cl, byte [eax - 2]
mov byte [esp + 0x6a], cl
mov cl, byte [edx + 2]
mov byte [esp + 0x1a2], cl
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1bc], ecx
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0xe4]
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x1c8]
movsd xmm1, qword [esp + 0x1d0]
mov ebx, dword [esp + 0x2c]
movzx esi, word [esp + 0x68]
mov dword [edx], ecx
movsd qword [edx + 4], xmm0
movsd xmm0, qword [esp + 0x1d8]
mov ch, byte [esp + 0x7c]
mov cl, 1
movsd qword [edx + 0xc], xmm1
movsd qword [edx + 0x14], xmm0
movsd xmm0, qword [esp + 0x1e0]
movsd qword [edx + 0x1c], xmm0
mov byte [edx + 0x24], cl
mov byte [edx + 0x25], ch
mov ch, byte [esp + 0x80]
mov byte [edx + 0x26], bl
movapd xmm0, xmmword [esp + 0x30]
mov byte [edx + 0x27], ch
mov edx, dword [esp + 0x17b]
mov ch, byte [esp + 0x6a]
mov dword [esp + 0x1b], edx
mov edx, dword [esp + 0x178]
mov dword [esp + 0x18], edx
mov edx, 0x80000001
mov dword [eax - 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x28], edx
mov edx, dword [esp + 0x1bc]
mov dword [eax + 0x2c], edx
mov dl, 0x13
mov byte [eax + 0x30], dl
mov word [eax + 0x31], si
mov byte [eax + 0x33], ch
mov byte [eax + 0x34], dl
movzx edx, word [esp + 0x1a0]
lea esi, [esp + 0xd8]
mov word [eax + 0x35], dx
mov dl, byte [esp + 0x1a2]
mov byte [eax + 0x37], dl
mov edx, 0
mov dword [eax + 0x38], edx
movsd qword [eax + 0x3c], xmm0
mov al, 0xb
mov byte [esi], al
mov byte [esi + 3], dl
mov word [esi + 1], dx
mov byte [esi + 4], cl
mov byte [esi + 7], dl
mov word [esi + 5], dx
mov dword [esi + 8], edx
mov byte [edi], al
mov eax, dword [esp + 0x1b]
mov byte [edi + 3], dl
mov word [edi + 1], dx
mov byte [edi + 4], cl
mov byte [edi + 7], dl
mov word [edi + 5], dx
mov dword [edi + 8], 4
mov byte [edi + 0xc], dl
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x130]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 0xd], eax
mov eax, dword [ebp + 8]
push eax
push dword [esp + 0x10]
call fcn.00441306
add esp, 8
mov eax, dword [esp + 0x48]
movzx esi, word [esp + 0x14]
mov ebx, dword [esp + 0x60]
movzx ecx, word [esp + 0x84]
lea edx, [esp + 0x130]
shl eax, 0x10
mov dword [esp + 0x10], ecx
or esi, eax
mov eax, ebx
shl eax, 0x10
or eax, ecx
lea ecx, [esp + 0x130]
mov dword [ecx + 4], eax
mov dword [ecx], esi
mov ecx, dword [ebp + 8]
lea eax, [esp + 0xd8]
push eax
call fcn.00440f1e
add esp, 4
lea ecx, [esp + 0x130]
mov eax, 0x80000001
lea edx, [esp + 0x130]
mov dword [ecx], esi
mov esi, dword [esp + 0x10]
mov dword [edi - 0x54], eax
mov word [ecx + 4], si
mov word [ecx + 6], bx
mov ecx, dword [ebp + 8]
push edi
call fcn.00440f1e
add esp, 4
test bx, bx
je 0x42be12
sub esp, 8
movsd xmm0, qword [esp + 0x218]
movsd qword [esp], xmm0
call fcn.00463c91
add esp, 8
fstp qword [esp + 0x68]
mov ecx, dword [esp + 0x28]
cmp ecx, 0x80000001
jne 0x42be33
lea edx, [esp + 0x130]
mov ebx, esi
xor edi, edi
lea ecx, [esp + 0x18]
lea esi, [esp + 0x178]
lea eax, [esp + 0x68]
mov dword [edx], 0x47bfb0
mov dword [edx + 4], 2
mov dword [edx + 0x10], edi
mov dword [edx + 8], ecx
mov ecx, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x41f3a0
mov dword [edx + 0xc], 1
call fcn.004146f0
mov al, 0x13
mov byte [esi + 0xc], al
mov byte [esi + 0x10], al
mov dword [esi + 0x14], edi
mov esi, ebx
jmp 0x42be66
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
cmp eax, 0x80000002
jl 0x42c037
test eax, eax
je 0x42c037
push ecx
jmp 0x42c029
lea eax, [esp + 0xbc]
mov dword [esp + 0x178], ecx
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x10]
movsd qword [esp + 0x17c], xmm0
movsd qword [esp + 0x184], xmm1
mov dword [esp + 0x18c], eax
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x84], edx
call fcn.0045e263
cmp si, ax
mov ecx, esi
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
movapd xmm1, xmmword [esp + 0x30]
cmovb eax, esi
mov esi, dword [esp + 0x60]
sub ecx, eax
mov dword [esp + 0x7c], eax
movzx eax, cx
shr eax, 1
mulsd xmm1, xmm0
add eax, edi
mov dword [esp + 0x80], eax
movzx eax, si
shr eax, 1
add eax, ebx
mov dword [esp + 0x78], eax
sub esp, 8
movsd qword [esp], xmm1
call fcn.00463c91
add esp, 8
add si, bx
mov eax, 0xffff
fstp qword [esp + 0x260]
cmovae eax, esi
cmp ax, bx
mov dword [esp + 0x2c], eax
jbe 0x42bfea
xorpd xmm0, xmm0
movsd xmm1, qword [0x473140]
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
maxsd xmm0, qword [esp + 0x260]
minsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [esp + 0x28], eax
add eax, edi
mov dword [esp + 0x48], eax
xor eax, eax
cmp dl, 0x13
cmove edx, eax
cmp cl, 0x13
cmove ecx, eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x28]
cmp word [esp + 0x48], di
mov edx, edi
mov esi, eax
jbe 0x42bfa3
mov ecx, dword [ebp + 8]
lea eax, [edx + 1]
mov dword [esp + 0x30], eax
push ebx
call fcn.00440ce0
add esp, 4
mov edi, ebx
mov ebx, eax
mov dword [eax + 8], 0
mov ecx, eax
mov edx, 0x47ce20
lea eax, [0x47ce21]
push eax
call fcn.00420d2c
mov ecx, dword [ebp + 8]
add esp, 4
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
dec si
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
mov ebx, edi
mov edx, dword [esp + 0x30]
jne 0x42bf54
inc ebx
mov edi, dword [esp + 0x14]
cmp bx, word [esp + 0x2c]
jb 0x42bf45
movzx eax, word [esp + 0x7c]
mov edx, dword [esp + 0x80]
lea esi, [esp + 0x184]
push esi
push eax
push dword [esp + 0x8c]
mov edi, dword [esp + 0x58]
push edi
push dword [esp + 0x88]
call fcn.00440d14
add esp, 0x14
test dword [esi - 0xc], 0x7fffffff
je 0x42c037
jmp 0x42c028
movzx eax, word [esp + 0x7c]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x80]
lea esi, [esp + 0x184]
push esi
push eax
push dword [esp + 0x8c]
mov edi, dword [esp + 0x58]
push edi
push dword [esp + 0x88]
call fcn.00440d14
add esp, 0x14
test dword [esi - 0xc], 0x7fffffff
je 0x42c037
mov eax, edi
push edi
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov al, 0x13
xor ecx, ecx
mov dword [esp + 0x90], 0x80000000
mov byte [esp + 0x9c], al
mov byte [esp + 0xa0], al
mov dword [esp + 0xa4], ecx
mov byte [esp + 0xa8], al
mov byte [esp + 0xac], al
lea eax, [0x46feff]
mov dword [esp + 0xb0], ecx
mov word [esp + 0xb4], 0
mov byte [esp + 0xb6], 0xf
mov dword [esp + 0x130], eax
mov edx, dword [esp + 0x130]
imul eax, dword [0x48f324], 0x65815dcc
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], ecx
mov ecx, 0xfffffffc
xor eax, 0xc8000665
rol eax, 5
and eax, 0xffbf
add eax, edx
mov edx, dword [ecx + 0x47a8b8]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x134], edx
add ecx, 4
cmp ecx, 8
jb 0x42c0c9
mov al, byte [eax + 0xc]
lea esi, [esp + 0x130]
mov ecx, 0xd
xor edx, edx
xor edi, edi
xor al, 0x5a
mov byte [esi + 0xc], al
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 5]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x1d], xmm1
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x18]
movsd xmm1, qword [esp + 0x1d]
xor ebx, ebx
mov ecx, 0x10
inc ebx
movsd qword [edx], xmm0
movsd qword [edx + 5], xmm1
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0xd
mov dword [esi + 0x14], edi
lea edi, [esp + 0x1c8]
mov dword [esi + 0xc], ecx
mov edx, esi
mov dword [esi + 0x10], ebx
mov ecx, edi
call fcn.004411f7
lea ebx, [esp + 0x90]
mov ecx, ebx
call fcn.0042b2c9
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
movsd qword [ebx], xmm0
mov dword [ebx + 8], eax
mov dword [edi + 4], eax
mov al, byte [ebx + 0x25]
mov ecx, dword [ebx + 4]
movzx esi, byte [ebx + 0x26]
mov edx, dword [ebx]
mov byte [esp + 0x48], al
mov al, byte [ebx + 0x27]
mov dword [edi], ecx
mov ecx, 0
mov dword [edi + 8], 9
mov dword [esp + 0x4c], edx
mov dword [edi + 0x10], ecx
mov byte [esp + 0x28], al
mov eax, 1
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x10]
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
lea edi, [esp + 0x130]
mov dword [ebx + 0x10], eax
mov eax, 0x10
movsd qword [ebx], xmm0
movsd qword [ebx + 8], xmm1
mov dword [ebx + 0x1c], ecx
mov ecx, edi
mov dword [ebx + 0x14], eax
mov eax, 1
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x74]
movsd xmm1, qword [ebx + 0x10]
movsd xmm2, qword [ebx]
movq xmm0, qword [ebx + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x64]
movsd qword [esp + 0x188], xmm1
movsd xmm1, qword [ebx + 8]
movq qword [esp + 0x190], xmm0
movsd qword [esp + 0x178], xmm2
mov dword [ebx], eax
movsd qword [esp + 0x180], xmm1
push ebx
mov dword [esp + 0x64], esi
push esi
call fcn.0044124b
add esp, 8
movzx eax, word [edi + 2]
mov ecx, edi
movzx esi, word [edi]
movzx edi, word [edi + 4]
mov edx, 0x18
mov dword [esp + 0x30], eax
movzx eax, word [ecx + 6]
xor ecx, ecx
mov dword [esp + 0x10], eax
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
je 0x42e847
inc esi
sub di, 2
mov ecx, 0
mov dword [eax], 4
mov dword [eax + 0xc], 0x10002
mov dword [esp + 0xc], eax
cmovb edi, ecx
mov ecx, eax
mov eax, 2
xor edx, edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov eax, 0xffff
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], edx
mov word [esp + 0xa0], 0x101
and edi, eax
and esi, eax
mov eax, dword [esp + 0x30]
shl ecx, 0x10
shl eax, 0x10
or edi, ecx
or esi, eax
mov edx, edi
mov ecx, esi
push ebx
call fcn.0043c934
add esp, 4
mov esi, eax
mov edi, edx
push dword [esp + 0xc]
xor eax, eax
push eax
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
je 0x42e82a
cmp edi, 1
je 0x42e838
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x84], edi
test cx, cx
je 0x42e8bf
mov edx, dword [esp + 0x8c]
mov eax, 0xffff
mov dword [esp + 0x10], ecx
xor ebx, ebx
mov dword [esp + 0x80], esi
and ecx, eax
mov eax, dword [edx + 0x98]
mov edi, eax
sub edi, ecx
cmovb ecx, eax
mov eax, dword [esi + 8]
cmovb edi, ebx
shl edi, 3
mov dword [esp + 0x14], ecx
add edi, dword [edx + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x14]
mov esi, 0x47be78
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xa4]
mov dword [eax - 0x10], ebx
mov dword [eax - 0x14], ebx
lea ebx, [esp + 0xd0]
mov dword [eax - 4], 0x80000001
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], ecx
mov ecx, 0x12
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov cl, 0x13
mov esi, 0
lea edi, [esp + 0x1c8]
mov byte [ebx + 0x48], cl
mov byte [ebx + 0x4c], cl
mov dword [ebx + 0x50], esi
mov dword [ebx - 0x30], 0x80000000
mov byte [ebx - 0x24], cl
mov byte [ebx - 0x20], cl
mov dword [ebx - 0x1c], esi
mov byte [ebx - 0x18], 0xf
mov word [ebx - 0x17], 0
mov dword [ebx - 0x15], 0x100
mov byte [ebx - 0x11], 0
mov dword [ebx - 0x10], esi
mov dword [ebx - 0xd], esi
mov ecx, 9
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, edx
lea ecx, [esp + 0x204]
mov edx, dword [edx + 0x50]
push dword [edi + 0x54]
call fcn.0042ec0c
add esp, 4
lea eax, [0x475b9d]
mov ecx, 0xe2dd0bf5
mov esi, 0xffff
mov dword [ebx - 0x40], eax
mov eax, dword [ebx - 0x40]
xor ecx, dword [0x48f328]
mov edx, ecx
shr edx, 0xf
xor edx, ecx
mov ecx, 0x7c890f98
sub ecx, edx
mov edx, 0xd81c55ee
rol ecx, 6
and ecx, esi
xor edx, dword [eax + ecx]
lea eax, [esp + 0x268]
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], 4
mov dword [eax], edx
mov edx, dword [edi + 0x58]
push dword [edi + 0x5c]
call fcn.0042ec0c
add esp, 4
lea eax, [0x4777f7]
mov dword [ebx - 0x40], eax
mov ecx, dword [ebx - 0x40]
mov eax, dword [0x48f32c]
rol eax, 2
add eax, 0xafa90ae9
rol eax, 5
and eax, esi
add eax, ecx
xor ecx, ecx
mov dword [ebx - 0x3c], ecx
mov dword [ebx - 0x40], ecx
mov dword [ebx - 0x38], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a938]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 8
jb 0x42c48a
mov eax, dword [esp + 0x98]
movsd xmm0, qword [esp + 0x90]
lea ecx, [esp + 0x26c]
lea edx, [esp + 0x68]
mov dword [ecx], edx
mov edx, dword [edi + 0x30]
mov dword [ecx + 4], 0xc
lea ecx, [esp + 0x50]
mov dword [esp + 0x70], eax
movsd qword [esp + 0x68], xmm0
push dword [edi + 0x34]
call fcn.0042ec0c
add esp, 4
lea eax, [0x47474b]
mov ebx, 0xffff
lea esi, [esp + 0x18]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
imul ecx, dword [0x48f330], 0x2b148810
add ecx, 0x985621bf
rol ecx, 6
and ecx, ebx
movzx eax, word [eax + ecx]
lea ecx, [esp + 0x24a]
xor eax, 0x7831
mov word [ecx], ax
mov eax, edi
lea edi, [esp + 0x274]
mov edx, dword [eax + 0x38]
mov dword [edi], ecx
mov dword [edi + 4], 2
mov ecx, esi
push dword [eax + 0x3c]
call fcn.0042ec0c
add esp, 4
lea eax, [0x46f1d4]
mov ecx, 0xc7e7f47b
lea edx, [esp + 0x1a0]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
sub ecx, dword [0x48f334]
rol ecx, 3
and ecx, ebx
mov ebx, 0x4143c0
mov al, byte [eax + ecx]
lea ecx, [esp + 0x1c7]
mov dword [esp + 0x240], ecx
mov dword [esp + 0x244], 1
xor al, 0xbc
mov byte [ecx], al
lea ecx, [esp + 0x204]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x258]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ecx
mov ecx, 0x418ba0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
lea edx, [esp + 0x26c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], edx
lea edx, [esp + 0x50]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
lea edx, [esp + 0x240]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ebx
mov esi, 8
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ecx
lea edx, [esp + 0x130]
lea ecx, [esp + 0x90]
mov dword [edx], 0x47a8f4
mov dword [edx + 4], esi
mov dword [edx + 0x10], 0
mov dword [edx + 8], ecx
lea ecx, [esp + 0x24c]
mov dword [edx + 0xc], esi
call fcn.004146f0
cmp dword [esp + 0x18], 0
je 0x42c67d
push dword [esp + 0x1c]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x50], 0
je 0x42c696
push dword [esp + 0x54]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x1a0], 0
je 0x42c6b5
push dword [esp + 0x1a4]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x204], 0
je 0x42c6d4
push dword [esp + 0x208]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x24c]
mov edi, dword [esp + 0x250]
mov eax, dword [esp + 0x254]
cmp ebx, 0x80000000
jne 0x42c764
test eax, eax
je 0x42c82a
lea ecx, [esp + 0x130]
mov edx, 0xa
xor esi, esi
mov dword [ecx], edx
mov dword [ecx + 4], edi
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 1
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], esi
mov dword [ecx + 0x20], eax
mov word [ecx + 0x24], 0
call fcn.0043c488
test eax, eax
je 0x42c756
mov esi, edx
lea edi, [esp + 0x90]
mov edx, eax
mov ecx, edi
push esi
call fcn.0043c6f0
add esp, 4
cmp dword [edi], 0x80000000
jne 0x42c8aa
mov edi, 4
xor esi, esi
xor ebx, ebx
jmp 0x42ca56
test eax, eax
je 0x42c85b
lea ecx, [esp + 0x130]
mov edx, 0xa
xor esi, esi
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x210], edi
mov dword [ecx], edx
mov dword [ecx + 4], edi
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 1
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], esi
mov dword [ecx + 0x20], eax
mov word [ecx + 0x24], 0
call fcn.0043c488
test eax, eax
je 0x42c7fb
mov ecx, edx
mov ebx, eax
mov edi, edx
call fcn.00421515
mov dword [esp + 0x30], eax
push edi
push ebx
push edx
mov ebx, edx
call fcn.00462380
add esp, 0xc
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
mov dword [edx], eax
mov dword [edx + 4], ebx
mov dword [edx + 8], edi
lea edi, [esp + 0x18]
mov ecx, edi
call fcn.0043c5df
cmp dword [edi], 0x80000000
jne 0x42c969
mov edi, 4
xor ebx, ebx
cmp dword [esp + 0x1bc], 0
je 0x42ca56
push dword [esp + 0x210]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x42ca56
mov al, byte [0x48fdb4]
xor ecx, ecx
mov edx, 0xc
call fcn.0045a4d0
test eax, eax
je 0x42e8e2
mov edi, eax
mov ecx, eax
mov edx, 0x486600
push 0
call fcn.0043c6f0
add esp, 4
xor esi, esi
inc esi
jmp 0x42c8a3
mov al, byte [0x48fdb4]
xor ecx, ecx
mov edx, 0xc
call fcn.0045a4d0
test eax, eax
je 0x42e8e2
mov dword [esp + 0x30], eax
mov ecx, eax
mov edx, 0x486600
push 0
call fcn.0043c6f0
add esp, 4
xor esi, esi
inc esi
test ebx, ebx
je 0x42c89f
push edi
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x30]
mov ebx, esi
jmp 0x42ca56
call fcn.0043c634
lea edi, [esp + 0x90]
mov dword [esp + 0x30], eax
lea esi, [esp + 0x130]
xor ebx, ebx
movsd xmm0, qword [edi]
inc ebx
movsd qword [eax], xmm0
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
lea ecx, [esp + 0x50]
mov dword [ecx], 4
mov dword [ecx + 4], eax
mov dword [ecx + 8], 1
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov edi, 0xc
lea ecx, [esp + 0x90]
call fcn.0043c488
test eax, eax
je 0x42ca4e
mov esi, edx
lea ecx, [esp + 0x18]
mov edx, eax
push esi
call fcn.0043c6f0
add esp, 4
cmp dword [esp + 0x18], 0x80000000
mov esi, dword [esp + 0x50]
je 0x42ca52
mov ecx, ebx
cmp ebx, esi
je 0x42c952
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
inc ecx
mov ebx, ecx
mov dword [edx + edi + 8], eax
movsd xmm0, qword [esp + 0x18]
movsd qword [edx + edi], xmm0
mov dword [esp + 0x58], ecx
add edi, 0xc
jmp 0x42c8f2
lea ecx, [esp + 0x50]
mov edx, ebx
call fcn.004703f0
mov eax, dword [esp + 0x54]
mov ecx, ebx
mov dword [esp + 0x30], eax
jmp 0x42c92f
call fcn.0043c634
mov ebx, eax
lea eax, [esp + 0x18]
lea ecx, [esp + 0x68]
lea edi, [esp + 0x90]
lea esi, [esp + 0x130]
movsd xmm0, qword [eax]
movsd qword [ebx], xmm0
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
mov dword [ecx], 4
mov dword [ecx + 4], ebx
mov dword [ecx + 8], 1
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x90]
call fcn.0043c488
test eax, eax
je 0x42e795
mov ecx, edx
mov edi, eax
mov esi, edx
call fcn.00421515
mov dword [esp + 0x30], eax
mov ebx, edx
push esi
push edi
push edx
call fcn.00462380
add esp, 0xc
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x50]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
call fcn.0043c5df
cmp dword [esp + 0x50], 0x80000000
mov esi, dword [esp + 0x68]
je 0x42e7a7
mov edx, dword [esp + 0x70]
cmp edx, esi
je 0x42ca3d
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
lea eax, [edx + edx*2]
inc edx
mov dword [esp + 0x88], edx
mov dword [ebx + eax*4 + 8], ecx
movsd xmm0, qword [esp + 0x50]
movsd qword [ebx + eax*4], xmm0
mov dword [esp + 0x70], edx
jmp 0x42c9ab
mov edi, edx
lea ecx, [esp + 0x68]
mov edx, esi
call fcn.004703f0
mov edx, edi
jmp 0x42ca12
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
xor ecx, ecx
lea eax, [esp + 0xa0]
lea edx, [esp + 0x130]
mov byte [eax + 0x27], cl
mov word [eax + 0x25], cx
mov word [eax + 0x29], cx
mov byte [eax + 0x2b], cl
mov dword [eax - 0x10], esi
mov dword [eax - 0xc], edi
mov dword [eax - 8], ebx
mov dword [eax - 4], 0x80000001
mov ecx, 9
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov byte [eax + 0x24], 0x10
lea esi, [esp + 0x130]
mov ecx, dword [esp + 0x4c]
movsd xmm1, qword [esp + 0x180]
movsd xmm0, qword [esp + 0x178]
movsd xmm2, qword [esp + 0x188]
mov ebx, dword [esp + 0x60]
mov dword [edx], ecx
movsd qword [edx + 0xc], xmm1
movsd xmm1, qword [esp + 0x190]
mov ch, byte [esp + 0x48]
mov cl, 1
movsd qword [edx + 4], xmm0
movsd qword [edx + 0x14], xmm2
mov byte [eax + 0x28], cl
movsd qword [edx + 0x1c], xmm1
mov byte [edx + 0x24], cl
mov byte [edx + 0x25], ch
mov ch, byte [esp + 0x28]
mov byte [edx + 0x26], bl
mov ebx, dword [ebp + 8]
mov byte [edx + 0x27], ch
mov edx, dword [esp + 0x64]
xor ecx, ecx
mov dword [eax + 0x30], ecx
mov dword [eax + 0x2c], ecx
mov ecx, esi
mov word [eax + 0x34], 0x102
push ebx
push dword [esp + 0x78]
call fcn.00441306
add esp, 8
lea eax, [esp + 0x134]
mov dword [esi], 0x80000000
lea esi, [esp + 0x1c8]
mov ecx, 9
mov edx, 0x80000000
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x50]
lea edi, [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
movzx eax, byte [eax + 0x22]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], esi
push edi
push eax
call fcn.0044124b
add esp, 8
lea ecx, [esp + 0x130]
mov edx, esi
push dword [ebp + 8]
push ebx
call fcn.00441306
add esp, 8
lea eax, [esp + 0x50]
mov ecx, dword [eax + 4]
mov eax, ecx
shr eax, 0x10
je 0x42ce34
cmp dword [esp + 0x14], 0
mov ebx, 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x28], eax
je 0x42cbe8
cmp dword [esp + 0x14], 1
mov ebx, dword [esp + 0x2c]
je 0x42cbe8
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
lea edx, [eax - 1]
lea ecx, [ebx + 8]
and edx, 0x1fffffff
mov dword [esp + 0x30], ebx
mov ebx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], ebx
cmp ebx, esi
mov ebx, eax
sbb ebx, edi
mov ebx, dword [esp + 0x30]
cmovae esi, dword [esp + 0x10]
cmovae edi, eax
cmovae ebx, ecx
add ecx, 8
dec edx
jne 0x42cbc0
movzx esi, word [esp + 0xc]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
test ebx, ebx
mov ecx, 0x47b9a0
cmovne ecx, ebx
cmp esi, edx
mov dword [esp + 0x74], eax
cmovb edx, esi
test edx, edx
je 0x42ccdd
mov dword [esp + 0x14], edx
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
lea edx, [edx*8]
xor ecx, ecx
mov al, byte [0x48fdb4]
mov dword [esp + 0x30], edx
call fcn.0045a4d0
test eax, eax
je 0x42e8f1
mov edx, dword [esp + 0x14]
mov ebx, eax
xor ecx, ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x130], edx
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x138], 0
lea eax, [eax*8]
mov dword [esp + 0x48], eax
mov eax, edi
or eax, esi
je 0x42cca1
mov edx, dword [esp + 0x2c]
mov ebx, edi
mov edi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [edx + ecx*8 + 4]
imul ecx, eax
mul dword [edx + edi*8]
add edx, ecx
push esi
push ebx
push edx
push eax
call fcn.0045f900
mov esi, dword [esp + 0x14]
jmp 0x42cca9
mov esi, edx
xor eax, eax
xor edx, edx
mov edi, ecx
mov ebx, dword [esp + 0xc]
mov dword [ebx + edi*8 + 4], edx
mov dword [ebx + edi*8], eax
inc edi
mov edx, esi
cmp esi, edi
mov ecx, edi
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
jne 0x42cc74
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x64], edx
jmp 0x42cd0a
xor eax, eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x64], 8
xor ecx, ecx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 8
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x28]
test ax, ax
je 0x42ce1b
mov edx, dword [esp + 0x74]
lea esi, [ecx*8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x88], esi
shr edx, 0x10
mov dword [esp + 0x60], edx
dec eax
test ecx, ecx
mov dword [esp + 0x28], eax
je 0x42ce0a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x64]
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov ebx, eax
mov eax, dword [edi]
mov ecx, 7
mov esi, 0
mov dword [esp + 0x30], edx
cmp ecx, eax
sbb esi, dword [edi + 4]
jb 0x42cd8b
mov ecx, dword [eax*4 + 0x486b14]
mov esi, dword [eax*4 + 0x486b34]
mov dword [esp + 0x14], ecx
jmp 0x42cd98
mov esi, 3
mov dword [esp + 0x14], 0x47be60
mov ecx, dword [ebp + 8]
lea eax, [edi + 8]
mov edx, ebx
mov dword [esp + 0xc], eax
push dword [esp + 0x2c]
call fcn.00440ce0
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
mov ebx, eax
xor eax, eax
mov dword [ebx + 8], eax
mov ecx, ebx
add esi, edx
push esi
call fcn.00420d2c
add esp, 4
mov dword [ebx + 0xc], 0xf
mov dword [ebx + 0x10], 1
mov edx, 0
mov ebx, dword [esp + 0x10]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
sub eax, 8
sbb ecx, edx
cmovb eax, edx
cmovb ecx, edx
mov edx, dword [esp + 0x30]
inc ebx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov edi, dword [esp + 0xc]
add edx, 0xfffffff8
jne 0x42cd60
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
test ax, ax
jne 0x42cd34
cmp dword [esp + 0x4c], 0
je 0x42ce34
push dword [esp + 0x64]
push 0
push dword [0x48fd58]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x90]
push dword [ebp + 8]
push dword [esp + 0x80]
call fcn.00441a16
add esp, 8
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
call fcn.0043c8af
xor ecx, ecx
lea eax, [esp + 0x18]
mov edx, 4
mov dword [eax], ecx
mov dword [eax + 4], 4
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x8c]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
movdqa xmm0, xmmword [esi]
lea edi, [esi + 0x10]
pmovmskb ebx, xmm0
not ebx
sub eax, 1
jb 0x42cf6c
test bx, bx
mov dword [esp + 0x30], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
jne 0x42ceca
movdqa xmm0, xmmword [edi]
add esi, 0xffffff40
add edi, 0x10
pmovmskb ebx, xmm0
cmp ebx, 0xffff
je 0x42ceaf
not ebx
mov al, byte [0x48fdb4]
xor ecx, ecx
mov edx, 0x18
call fcn.0045a4d0
test eax, eax
je 0x42e847
bsf ecx, ebx
mov dword [esp + 0x14], eax
neg ecx
lea edx, [ecx + ecx*2]
mov ecx, dword [esi + edx*4 - 8]
mov edx, dword [esi + edx*4 - 4]
mov dword [eax], 0x80000000
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov edx, dword [esp + 0xc]
mov dword [eax + 0xc], 0x10
mov dword [eax + 0x10], 1
mov dword [eax + 0x14], 0
cmp edx, dword [esp + 0x18]
jne 0x42cf37
lea ecx, [esp + 0x18]
call fcn.0042b18e
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], eax
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x30]
lea eax, [ebx - 1]
and eax, ebx
xor ebx, ebx
inc ebx
mov dword [edx + ecx*4], ebx
mov ebx, dword [esp + 0x14]
mov dword [edx + ecx*4 + 4], ebx
xor ebx, ebx
inc ebx
mov dword [edx + ecx*4 + 8], ebx
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
jmp 0x42ce95
mov al, 0x13
xor ecx, ecx
mov dword [esp + 0x90], 0x80000000
mov byte [esp + 0x9c], al
mov byte [esp + 0xa0], al
mov dword [esp + 0xa4], ecx
mov byte [esp + 0xa8], al
mov byte [esp + 0xac], al
lea eax, [0x4723f3]
mov dword [esp + 0xb0], ecx
mov word [esp + 0xb4], 0
mov byte [esp + 0xb6], 0xf
mov dword [esp + 0x130], eax
mov eax, 0x5af499e0
mov edx, dword [esp + 0x130]
xor eax, dword [0x48f338]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], ecx
mov ecx, 0xfffffffc
imul eax, eax, 0x7987e47e
add eax, 0x6b04020e
rol eax, 0xb
and eax, 0xf7ff
add eax, edx
mov edx, dword [ecx + 0x47a944]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x134], edx
add ecx, 4
cmp ecx, 8
jb 0x42d005
movzx ecx, byte [eax + 0xe]
movzx eax, word [eax + 0xc]
lea esi, [esp + 0x130]
xor edx, edx
xor edi, edi
xor eax, 0xcf85
xor cl, 0x47
mov word [esi + 0xc], ax
mov byte [esi + 0xe], cl
mov ecx, 0xf
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 7]
movsd qword [esp + 0x178], xmm0
movsd qword [esp + 0x17f], xmm1
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x17f]
mov ecx, 0x10
lea ebx, [esp + 0x1c8]
movsd qword [edx], xmm0
movsd qword [edx + 7], xmm1
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0xf
mov dword [esi + 0xc], ecx
xor ecx, ecx
mov edx, esi
mov dword [esi + 0x14], edi
inc ecx
mov dword [esi + 0x10], ecx
mov ecx, ebx
call fcn.004411f7
lea edi, [esp + 0x90]
mov ecx, edi
call fcn.0042b2c9
mov eax, dword [ebx + 8]
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
mov dword [edi + 8], eax
mov dword [ebx + 4], eax
movzx eax, byte [edi + 0x26]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov dword [esp + 0xc], eax
mov al, byte [edi + 0x25]
mov dword [ebx], ecx
mov ecx, 0
mov dword [ebx + 8], 9
mov dword [esp + 0x14], edx
mov dword [ebx + 0x10], ecx
mov byte [esp + 0x10], al
mov al, byte [edi + 0x27]
mov byte [esp + 0x30], al
mov eax, 1
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
mov dword [edi + 0x10], eax
mov eax, 0x10
movsd qword [edi], xmm0
movsd qword [edi + 8], xmm1
mov dword [edi + 0x1c], ecx
lea ecx, [esp + 0x1c8]
mov dword [edi + 0x14], eax
mov eax, 1
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x1f8]
movsd xmm1, qword [edi + 0x10]
movsd xmm2, qword [edi]
movsd xmm0, qword [edi + 0x18]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x1ac]
movsd qword [esi + 0x14], xmm1
movsd xmm1, qword [edi + 8]
movsd qword [esi + 0x1c], xmm0
movsd qword [esi + 4], xmm2
mov dword [edi], eax
movsd qword [esi + 0xc], xmm1
push edi
mov ebx, dword [esp + 0x10]
push ebx
call fcn.0044124b
add esp, 8
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c8]
movsd xmm0, qword [esp + 0x18]
mov edx, dword [esp + 0x1ac]
mov dword [esi], eax
mov al, byte [esp + 0x10]
mov byte [esi + 0x24], 1
movsd qword [edi], xmm0
mov byte [esi + 0x25], al
mov al, byte [esp + 0x30]
mov byte [esi + 0x26], bl
movzx ebx, word [ecx]
mov byte [esi + 0x27], al
mov eax, dword [esp + 0x20]
movzx esi, word [ecx + 4]
mov dword [edi + 8], eax
movzx eax, word [ecx + 2]
mov dword [edi + 0x37], 0x100
mov dword [esp + 0x30], eax
xor eax, eax
sub si, 2
mov word [edi + 0x35], ax
mov byte [edi + 0x3b], 0
mov dword [edi + 0xc], 0x80000001
mov byte [edi + 0x34], 0x10
cmovb esi, eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
mov eax, dword [ebp + 8]
mov word [edi + 0x44], 2
movzx edi, word [ecx + 6]
inc ebx
lea ecx, [esp + 0x130]
push eax
push dword [esp + 0x1fc]
call fcn.00441306
add esp, 8
mov ecx, dword [esp + 0x30]
mov eax, 0xffff
shl edi, 0x10
and ebx, eax
and esi, eax
or esi, edi
lea edi, [esp + 0x90]
shl ecx, 0x10
or ebx, ecx
mov ecx, edi
mov edx, ebx
push dword [ebp + 8]
push esi
call fcn.00441a16
add esp, 8
mov al, 0x13
xor ecx, ecx
mov dword [edi], 0x80000000
lea esi, [esp + 0x130]
xor edx, edx
mov byte [edi + 0xc], al
mov byte [edi + 0x10], al
mov dword [edi + 0x14], ecx
mov byte [edi + 0x18], al
mov byte [edi + 0x1c], al
lea eax, [0x46b28a]
mov dword [edi + 0x20], ecx
mov word [edi + 0x24], cx
mov byte [edi + 0x26], 0xf
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, dword [0x48f33c]
mov dword [esi + 4], edx
mov dword [esi], edx
mov dword [esi + 8], edx
mov edx, ecx
shr edx, 0x17
xor edx, ecx
mov ecx, 0xffff
add edx, 0xe6981635
rol edx, 3
and edx, ecx
add edx, eax
mov eax, 0xfffffffc
mov ecx, dword [eax + 0x47a953]
xor ecx, dword [edx + eax + 4]
mov dword [esp + eax + 0x134], ecx
add eax, 4
cmp eax, 8
jb 0x42d2a6
lea esi, [esp + 0x130]
mov ecx, 0xc
xor edx, edx
xor ebx, ebx
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0x180], eax
movsd qword [esp + 0x178], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x178]
xor edi, edi
inc edi
movsd qword [edx], xmm0
mov ecx, dword [esp + 0x180]
mov dword [edx + 8], ecx
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0xc
mov ecx, 0x10
mov dword [esi + 0x10], edi
lea edi, [esp + 0x1c8]
mov edx, esi
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ecx
mov ecx, edi
call fcn.004411f7
lea esi, [esp + 0x90]
mov ecx, esi
call fcn.0042b2c9
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
movsd qword [esi], xmm0
mov dword [esi + 8], eax
mov dword [edi + 4], eax
mov al, byte [esi + 0x25]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
movzx ebx, byte [esi + 0x26]
mov byte [esp + 0x48], al
mov al, byte [esi + 0x27]
mov dword [edi], ecx
mov ecx, 0
mov dword [edi + 8], 9
mov dword [esp + 0x64], edx
mov dword [edi + 0x10], ecx
mov byte [esp + 0x28], al
mov eax, 1
mov dword [edi + 0xc], eax
movsd xmm0, qword [edi]
mov eax, dword [edi + 0x10]
movsd qword [esi], xmm0
movsd xmm0, qword [edi + 8]
mov dword [esi + 0x10], eax
mov eax, 0x10
movsd qword [esi + 8], xmm0
mov dword [esi + 0x14], eax
mov eax, 1
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x1f4]
movsd xmm1, qword [esi + 0x10]
movsd xmm2, qword [esi]
movsd xmm0, qword [esi + 0x18]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1f0]
movsd qword [edi + 0x10], xmm1
movsd xmm1, qword [esi + 8]
movsd qword [edi + 0x18], xmm0
movsd qword [edi], xmm2
mov dword [esi], eax
movsd qword [edi + 8], xmm1
lea edi, [esp + 0x130]
mov ecx, edi
push esi
mov dword [esp + 0x78], ebx
push ebx
call fcn.0044124b
add esp, 8
movzx eax, word [edi]
mov ecx, 0
movzx ebx, word [edi + 2]
mov edx, 0x48
mov dword [esp + 0x30], eax
movzx eax, word [edi + 4]
movzx edi, word [edi + 6]
sub ax, 2
cmovb eax, ecx
xor ecx, ecx
mov dword [esp + 0x60], eax
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
mov dword [esp + 0x88], eax
je 0x42e8d3
mov al, byte [0x48fdb4]
xor ecx, ecx
mov edx, 0x30
xor esi, esi
call fcn.0045a4d0
test eax, eax
mov dword [esp + 0x10], eax
je 0x42e856
lea eax, [0x46c613]
mov dword [esp + 0x1ac], edi
inc dword [esp + 0x30]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [0x48f340]
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], esi
mov eax, edx
shr eax, 0x10
xor eax, edx
not eax
rol eax, 1
neg eax
rol eax, 7
movzx eax, ax
add eax, ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a95f]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 8
jb 0x42d4b3
mov eax, dword [esp + 0x98]
movsd xmm0, qword [esp + 0x90]
mov ecx, 0xc
xor edx, edx
mov dword [esp + 0x1a8], eax
movsd qword [esp + 0x1a0], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x1a0]
mov esi, eax
mov edi, edx
lea ecx, [esp + 0x130]
movsd qword [edx], xmm0
mov eax, dword [esp + 0x1a8]
mov dword [edx + 8], eax
mov edx, dword [esp + 0x22c]
call fcn.0042ef51
mov eax, dword [esp + 0x1b4]
or eax, dword [esp + 0x1b8]
je 0x42d559
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 1
mov dword [esp + 0x90], 0xb
jmp 0x42d57a
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 1
mov dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x10]
mov edx, 0x30
mov dword [ecx + 0x20], eax
movsd xmm0, qword [esp + 0x130]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [ecx + 0x24], xmm0
mov eax, dword [esp + 0x98]
mov dword [ecx + 0x2c], eax
mov dword [ecx], esi
mov dword [ecx + 4], edi
mov dword [ecx + 8], 0xc
mov dword [ecx + 0xc], 0x10
mov dword [ecx + 0x10], 1
mov dword [ecx + 0x14], 0
xor ecx, ecx
xor esi, esi
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
mov dword [esp + 0xc], eax
je 0x42e856
lea eax, [0x472c6a]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x90]
imul eax, dword [0x48f344], 0x279602b
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], esi
add eax, 0x387ea350
rol eax, 8
movzx eax, ax
add eax, ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a96b]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 8
jb 0x42d63a
lea esi, [esp + 0x90]
mov ecx, 0xc
xor edx, edx
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0x70], eax
movsd qword [esp + 0x68], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x68]
mov edi, eax
mov ecx, dword [esp + 0x8c]
mov ebx, edx
movsd qword [edx], xmm0
mov eax, dword [esp + 0x70]
mov dword [edx + 8], eax
lea edx, [ecx + 0x68]
mov ecx, esi
call fcn.0042ef51
mov eax, dword [esi + 8]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x20], eax
mov eax, 0x10
movsd xmm0, qword [esi]
xor esi, esi
xor ecx, ecx
inc ecx
movsd qword [edx + 0x18], xmm0
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], esi
mov dword [edx], edi
mov dword [edx + 4], ebx
mov dword [edx + 8], 0xc
mov dword [edx + 0x10], ecx
mov dword [edx + 0xc], eax
mov dword [edx + 0x14], esi
xor ecx, ecx
mov edx, 0x30
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
mov dword [esp + 0x14], eax
je 0x42e856
lea eax, [0x46c1fd]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x90]
imul eax, dword [0x48f348], 0x3f7e7720
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], esi
add eax, 0x26ca1c0
xor eax, 0x1920
rol eax, 1
and eax, 0xffc1
add eax, ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a977]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 8
jb 0x42d740
lea esi, [esp + 0x90]
mov ecx, 0xc
xor edx, edx
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0x58], eax
movsd qword [esp + 0x50], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x50]
mov edi, eax
mov ebx, edx
mov ecx, esi
movsd qword [edx], xmm0
mov eax, dword [esp + 0x58]
mov dword [edx + 8], eax
mov edx, dword [esp + 0x228]
call fcn.0042ef51
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x20], eax
mov eax, 0x10
movsd xmm0, qword [esi]
xor esi, esi
xor ecx, ecx
inc ecx
movsd qword [edx + 0x18], xmm0
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], esi
mov dword [edx], edi
mov dword [edx + 4], ebx
mov dword [edx + 8], 0xc
mov dword [edx + 0x10], ecx
mov dword [edx + 0xc], eax
mov dword [edx + 0x14], esi
xor ecx, ecx
mov edx, 0x30
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
je 0x42e856
mov ebx, eax
lea eax, [0x470b79]
mov edx, 0x6011e3dd
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [0x48f34c]
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], esi
rol eax, 5
add eax, 0x8c0d7598
rol eax, 7
sub edx, eax
rol edx, 2
movzx eax, dx
add eax, ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a983]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 8
jb 0x42d843
mov eax, dword [esp + 0x98]
movsd xmm0, qword [esp + 0x90]
mov ecx, 0xc
xor edx, edx
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x18]
mov esi, eax
mov edi, edx
lea ecx, [esp + 0x130]
movsd qword [edx], xmm0
mov eax, dword [esp + 0x20]
mov dword [edx + 8], eax
mov edx, dword [esp + 0x224]
call fcn.0042ef51
mov eax, dword [esp + 0x200]
or eax, dword [esp + 0x1b0]
je 0x42d8dd
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 1
mov dword [esp + 0x90], 0xa
jmp 0x42d8fe
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 1
mov dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x138]
xor ecx, ecx
mov edx, 0x30
mov dword [ebx + 0x20], eax
movsd xmm0, qword [esp + 0x130]
movsd qword [ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [ebx + 0x24], xmm0
mov eax, dword [esp + 0x98]
mov dword [ebx + 0x2c], eax
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov dword [ebx + 8], 0xc
mov dword [ebx + 0xc], 0x10
mov dword [ebx + 0x10], 1
mov dword [ebx + 0x14], 0
xor esi, esi
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
mov dword [esp + 0x2c], eax
je 0x42e856
lea eax, [0x472218]
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x90], eax
mov eax, 0xc0d0f364
mov ecx, dword [esp + 0x90]
sub eax, dword [0x48f350]
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], esi
mov edx, eax
shr edx, 0x11
xor edx, eax
mov eax, 0x64e51a8f
sub eax, edx
rol eax, 6
movzx eax, ax
add eax, ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a98f]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 8
jb 0x42d9c4
lea esi, [esp + 0x90]
mov ecx, 0xc
xor edx, edx
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0x180], eax
movsd qword [esp + 0x178], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x178]
mov edi, eax
mov ebx, edx
mov ecx, esi
movsd qword [edx], xmm0
mov eax, dword [esp + 0x180]
mov dword [edx + 8], eax
mov edx, dword [esp + 0x220]
call fcn.0042ef51
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x2c]
xor ecx, ecx
inc ecx
mov dword [edx + 0x20], eax
mov eax, 0x10
movsd xmm0, qword [esi]
xor esi, esi
movsd qword [edx + 0x18], xmm0
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], esi
mov dword [edx], edi
xor edi, edi
mov dword [edx + 4], ebx
mov dword [edx + 8], 0xc
mov dword [edx + 0x10], ecx
mov dword [edx + 0xc], eax
xor ecx, ecx
mov dword [edx + 0x14], edi
mov edx, 0x30
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
je 0x42e856
mov esi, eax
lea eax, [0x472994]
mov dword [esp + 0x90], eax
mov eax, 0xfaa074e4
mov ecx, dword [esp + 0x90]
add eax, dword [0x48f354]
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x98], edi
xor eax, 0x600003c2
rol eax, 6
movzx eax, ax
add eax, ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a99b]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 8
jb 0x42dace
lea edi, [esp + 0x90]
lea ecx, [esp + 0x130]
xor edx, edx
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov ecx, 0xc
call fcn.0043b1bc
mov dword [esp + 0x1b0], eax
lea eax, [esp + 0x130]
mov ecx, dword [esp + 0x8c]
mov ebx, edx
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
lea edx, [ecx + 0x88]
mov ecx, edi
call fcn.0042ef51
mov eax, dword [edi + 8]
xor ecx, ecx
xor edx, edx
inc ecx
mov dword [esi + 0x20], eax
mov eax, 0x10
movsd xmm0, qword [edi]
movsd qword [esi + 0x18], xmm0
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x1b0]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edx
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], 0xc
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x10]
mov eax, 0x10
xor ebx, ebx
mov dword [esi + 0xc], eax
mov eax, 2
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov edx, dword [esp + 0x1b4]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x40], esi
mov dword [ecx + 0x44], eax
mov al, 0x13
mov dl, byte [esp + 0x28]
mov esi, dword [ebp + 8]
mov byte [edi + 0x34], al
mov byte [edi + 0x38], al
mov eax, 6
mov dword [edi + 0x3c], ebx
movsd xmm1, qword [esp + 0x1d0]
movsd xmm0, qword [esp + 0x1c8]
movsd xmm2, qword [esp + 0x1d8]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x130]
mov dword [edi + 0xc], 0x80000001
mov word [edi + 0x44], 2
mov dword [edi + 0x40], ebx
mov dword [ecx], eax
movsd qword [ecx + 0xc], xmm1
movsd xmm1, qword [esp + 0x1e0]
mov al, byte [esp + 0x48]
movsd qword [ecx + 4], xmm0
movsd qword [ecx + 0x14], xmm2
movsd qword [ecx + 0x1c], xmm1
mov byte [ecx + 0x24], 1
mov byte [ecx + 0x25], al
mov eax, dword [esp + 0x74]
mov byte [ecx + 0x26], al
mov byte [ecx + 0x27], dl
mov edx, dword [esp + 0x1f0]
push esi
push dword [esp + 0x1f8]
call fcn.00441306
add esp, 8
mov ecx, dword [esp + 0x1ac]
movzx eax, word [esp + 0x60]
movzx edx, word [esp + 0x30]
shl ecx, 0x10
or eax, ecx
mov ecx, dword [esp + 0x1b8]
shl ecx, 0x10
or edx, ecx
lea ecx, [esp + 0x90]
push esi
push eax
call fcn.00441a16
add esp, 8
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 4
mov dword [esp + 0x20], ebx
add ecx, 0xfffffffe
je 0x42e2fd
mov eax, dword [esp + 0x8c]
xor edi, edi
mov edx, dword [eax + 0xac]
mov eax, dword [eax + 0xb0]
lea eax, [eax + eax*2]
mov dword [esp + 0x10], edx
lea ebx, [edx + eax*8]
mov edx, 4
cmp dword [esp + 0x10], ebx
je 0x42e2fd
mov eax, dword [ebx - 0x18]
cmp eax, 1
je 0x42dde3
cmp eax, 5
je 0x42e087
cmp eax, 6
jne 0x42e2f1
mov dword [esp + 0x5c], ecx
xor ecx, ecx
mov edx, 0x30
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
je 0x42e856
mov esi, eax
lea eax, [0x46d2a5]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [0x48f360]
mov edx, eax
shr edx, 6
xor edx, eax
mov eax, 0x7f9215ff
rol edx, 6
sub eax, edx
mov dl, 1
xor eax, 0x3800001d
rol eax, 6
movzx eax, ax
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], ecx
mov edi, ecx
movzx ebx, byte [ecx + 0x47a9cd]
or edi, 1
movzx edi, byte [edi + 0x47a9cd]
shl edi, 8
or edi, ebx
mov ebx, ecx
or ebx, 2
movzx ebx, byte [ebx + 0x47a9cd]
shl ebx, 0x10
or edi, ebx
mov ebx, ecx
or ebx, 3
movzx ebx, byte [ebx + 0x47a9cd]
shl ebx, 0x18
or edi, ebx
xor edi, dword [eax + ecx]
test dl, 1
mov edx, 0
mov dword [esp + ecx + 0x90], edi
mov ecx, 4
jne 0x42dd86
mov al, byte [eax + 8]
xor al, 0x70
jmp 0x42e145
lea eax, [ebx - 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 0x5c], ecx
xor ecx, ecx
mov edx, 0x30
mov dword [esp + 0x68], eax
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
mov dword [esp + 0x30], ebx
je 0x42e856
mov esi, eax
lea eax, [0x4765d9]
mov edx, 0xffff
mov ebx, 2
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
imul ecx, dword [0x48f358], 0xc142afa5
add ecx, 0xeca8dae2
rol ecx, 7
and ecx, edx
movzx eax, word [eax + ecx]
xor eax, 0xfd77
mov word [esp + 0x204], ax
lea eax, [esp + 0x204]
mov dword [esp + 0x50], eax
lea eax, [0x46e677]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [0x48f35c]
rol ecx, 6
mov edx, ecx
shr edx, 0xb
xor edx, ecx
mov ecx, 0xffff
rol edx, 1
and edx, ecx
mov ecx, 0x418ba0
movzx eax, word [eax + edx]
mov dword [esp + 0x130], 0x47a9ac
lea edx, [esp + 0x130]
xor eax, 0x3445
mov word [esp + 0x1a0], ax
lea eax, [esp + 0x1a0]
mov dword [esp + 0x178], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x17c], ebx
xor ebx, ebx
mov dword [esp + 0x90], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x178]
mov dword [esp + 0x9c], 0x42a849
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov ecx, 3
lea eax, [esp + 0x90]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
lea ecx, [esp + 0x1c8]
call fcn.004146f0
mov edx, dword [esp + 0x30]
xor eax, eax
lea ecx, [esp + 0x1d4]
inc eax
mov dword [ecx + 8], ebx
mov dword [ecx], 0xa
mov dword [ecx + 4], eax
mov ecx, dword [edx - 0xc]
mov edx, dword [edx - 8]
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x178]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa0], 0x20
mov byte [esp + 0xb0], 3
mov dword [esp + 0x90], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x90]
mov dword [esp + 0xa8], 0x47a20c
push eax
call fcn.004536b0
add esp, 4
test al, al
jne 0x42e865
movsd xmm0, qword [esp + 0x178]
mov eax, dword [esp + 0x180]
movsd qword [esp + 0x130], xmm0
movsd xmm0, qword [esp + 0x1d8]
mov dword [esp + 0x138], eax
lea eax, [esp + 0x13c]
mov dword [eax + 8], 0
mov dword [eax + 4], 1
mov dword [eax], 0x10
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [esp + 0x1c8]
movsd xmm1, qword [esp + 0x1d0]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
movsd xmm0, qword [esp + 0x140]
movsd qword [esi + 0x28], xmm0
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x138]
movsd qword [esi + 0x20], xmm1
movsd qword [esi + 0x18], xmm0
cmp edi, dword [esp + 0x18]
jne 0x42e2c9
lea ecx, [esp + 0x18]
mov edx, edi
call fcn.0042b18e
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
jmp 0x42e2d5
mov dword [esp + 0x5c], ecx
xor ecx, ecx
mov edx, 0x30
mov al, byte [0x48fdb4]
call fcn.0045a4d0
test eax, eax
je 0x42e856
mov esi, eax
lea eax, [0x475dfd]
mov dword [esp + 0x30], ebx
mov edx, 0x5532dffb
mov dword [esp + 0x90], eax
mov eax, 0x7661f014
mov ecx, dword [esp + 0x90]
sub eax, dword [0x48f364]
rol eax, 2
sub edx, eax
rol edx, 2
movzx eax, dx
mov dl, 1
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], ecx
mov edi, ecx
movzx ebx, byte [ecx + 0x47a9c4]
or edi, 1
movzx edi, byte [edi + 0x47a9c4]
shl edi, 8
or edi, ebx
mov ebx, ecx
or ebx, 2
movzx ebx, byte [ebx + 0x47a9c4]
shl ebx, 0x10
or edi, ebx
mov ebx, ecx
or ebx, 3
movzx ebx, byte [ebx + 0x47a9c4]
shl ebx, 0x18
or edi, ebx
xor edi, dword [eax + ecx]
test dl, 1
mov edx, 0
mov dword [esp + ecx + 0x90], edi
mov ecx, 4
jne 0x42e0ed
mov al, byte [eax + 8]
xor al, 0xed
movsd xmm0, qword [esp + 0x90]
mov ecx, 9
xor edx, edx
mov byte [esp + 0x180], al
movsd qword [esp + 0x178], xmm0
call fcn.0043b1bc
movsd xmm0, qword [esp + 0x178]
mov dword [esp + 0xc], eax
mov ebx, edx
xor edi, edi
movsd qword [edx], xmm0
mov al, byte [esp + 0x180]
mov byte [edx + 8], al
mov eax, dword [esp + 0x30]
mov ecx, dword [eax - 0xc]
mov edx, dword [eax - 8]
lea eax, [esp + 0x1c8]
mov dword [esp + 0xac], edi
mov dword [esp + 0xa0], 0x20
mov byte [esp + 0xb0], 3
mov dword [esp + 0x90], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1cc], 1
mov dword [esp + 0x1d0], edi
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x90]
mov dword [esp + 0xa8], 0x47a20c
push eax
call fcn.004536b0
add esp, 4
test al, al
jne 0x42e865
mov eax, dword [esp + 0x1d0]
movsd xmm0, qword [esp + 0x1c8]
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x13c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x138], eax
xor eax, eax
movsd qword [esp + 0x130], xmm0
mov dword [ecx + 8], edi
inc eax
mov dword [ecx + 4], eax
mov dword [ecx], 0x10
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [esi + 8], 9
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edi
mov dword [esi + 0xc], 0xa
movsd xmm0, qword [esp + 0x140]
movsd qword [esi + 0x28], xmm0
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x138]
movsd qword [esi + 0x20], xmm1
movsd qword [esi + 0x18], xmm0
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x18]
jne 0x42e29f
lea ecx, [esp + 0x18]
mov edx, edi
call fcn.0042b18e
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [edi + edi*2]
mov esi, 2
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
mov dword [edx + eax*4], esi
mov esi, dword [esp + 0x14]
mov dword [edx + eax*4 + 4], esi
mov esi, 2
mov dword [edx + eax*4 + 8], esi
jmp 0x42e2ec
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
lea eax, [edi + edi*2]
mov edi, 2
mov dword [edx + eax*4], edi
mov dword [edx + eax*4 + 4], esi
mov dword [edx + eax*4 + 8], edi
mov edi, dword [esp + 0x20]
inc edi
mov dword [esp + 0x20], edi
dec ecx
add ebx, 0xffffffe8
test ecx, ecx
jne 0x42dcf2
mov cl, 0x13
xor eax, eax
mov dword [esp + 0x90], 0x80000000
xor ebx, ebx
mov byte [esp + 0x9c], cl
mov byte [esp + 0xa0], cl
mov dword [esp + 0xa4], eax
mov byte [esp + 0xa8], cl
mov byte [esp + 0xac], cl
lea ecx, [0x471822]
mov dword [esp + 0xb0], eax
mov word [esp + 0xb4], 0
mov byte [esp + 0xb6], 0xf
mov dword [esp + 0x130], ecx
mov ecx, 0xe37249a5
mov edx, dword [esp + 0x130]
sub ecx, dword [0x48f368]
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], eax
rol ecx, 0xf
movzx ecx, cx
add ecx, edx
mov dl, 1
mov esi, eax
movzx edi, byte [eax + 0x47a9a3]
or esi, 1
movzx esi, byte [esi + 0x47a9a3]
shl esi, 8
or esi, edi
mov edi, eax
or edi, 2
movzx edi, byte [edi + 0x47a9a3]
shl edi, 0x10
or esi, edi
mov edi, eax
or edi, 3
movzx edi, byte [edi + 0x47a9a3]
shl edi, 0x18
or esi, edi
xor esi, dword [ecx + eax]
test dl, 1
mov edx, 0
mov dword [esp + eax + 0x130], esi
mov eax, 4
jne 0x42e381
lea eax, [esp + 0x130]
mov ecx, 8
xor edx, edx
mov esi, dword [eax]
mov edi, dword [eax + 4]
call fcn.0043b1bc
mov dword [edx], esi
xor esi, esi
lea ecx, [esp + 0x130]
mov dword [edx + 4], edi
lea edi, [esp + 0x1c8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 0x10
inc esi
mov dword [ecx + 8], 8
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], esi
mov edx, ecx
mov ecx, edi
call fcn.004411f7
lea esi, [esp + 0x90]
mov ecx, esi
call fcn.0042b2c9
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
movsd qword [esi], xmm0
mov dword [esi + 8], eax
mov dword [edi + 4], eax
movzx eax, byte [esi + 0x26]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov dword [esp + 0x30], eax
mov al, byte [esi + 0x25]
mov dword [edi], ecx
mov ecx, 1
mov dword [edi + 0x10], ebx
mov dword [edi + 8], 9
mov dword [edi + 0xc], ecx
movsd xmm0, qword [edi]
mov byte [esp + 0xc], al
mov al, byte [esi + 0x27]
movsd qword [esi], xmm0
movsd xmm0, qword [edi + 8]
mov byte [esp + 0x10], al
mov eax, dword [edi + 0x10]
mov edi, edx
movsd qword [esi + 8], xmm0
mov dword [esi + 0x10], eax
mov eax, 0x10
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x14], eax
lea eax, [esp + 0x130]
movsd xmm1, qword [esi + 0x10]
movsd xmm0, qword [esi + 0x18]
movsd xmm2, qword [esi]
movsd qword [eax + 0x14], xmm1
movsd xmm1, qword [esi + 8]
movsd qword [eax + 0x1c], xmm0
movsd qword [eax + 4], xmm2
movsd qword [eax + 0xc], xmm1
mov eax, dword [esp + 0x1c0]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1fc]
mov dword [esi], eax
mov eax, esi
lea esi, [esp + 0x1c8]
mov ecx, esi
push eax
push dword [esp + 0x34]
call fcn.0044124b
add esp, 8
mov cl, byte [esp + 0xc]
lea eax, [esp + 0x130]
mov dl, byte [esp + 0x10]
movsd xmm0, qword [esp + 0x18]
mov dword [eax], edi
mov byte [eax + 0x24], 1
movzx edi, word [esi]
mov byte [eax + 0x25], cl
mov ecx, dword [esp + 0x30]
mov byte [eax + 0x26], cl
mov byte [eax + 0x27], dl
movzx eax, word [esi + 2]
mov ecx, esi
lea edx, [esp + 0x90]
movzx esi, word [esi + 4]
movsd qword [edx], xmm0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
sub si, 2
cmovb esi, ebx
inc edi
mov dword [edx + 8], eax
movzx eax, word [ecx + 6]
mov word [edx + 0x35], bx
mov dword [edx + 0x37], 0x100
mov byte [edx + 0x3b], bl
mov dword [edx + 0xc], 0x80000001
mov byte [edx + 0x34], 0x10
mov dword [edx + 0x40], ebx
mov dword [edx + 0x3c], ebx
mov word [edx + 0x44], 2
mov edx, dword [esp + 0x1fc]
lea ecx, [esp + 0x130]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
push eax
push dword [esp + 0x1c4]
call fcn.00441306
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, 0xffff
and esi, eax
and edi, eax
shl ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0x10
or edi, ecx
lea ecx, [esp + 0x90]
mov edx, edi
push dword [ebp + 8]
push esi
mov esi, ecx
call fcn.00441a16
add esp, 8
lea ecx, [esp + 0x1c8]
mov al, 0x13
xorps xmm0, xmm0
mov dword [ecx], 0x80000000
mov word [ecx + 0x24], bx
mov byte [ecx + 0x26], bl
mov byte [ecx + 0xc], al
mov byte [ecx + 0x10], al
mov dword [ecx + 0x14], ebx
mov byte [ecx + 0x18], al
mov byte [ecx + 0x1c], al
lea eax, [0x475c2d]
mov dword [ecx + 0x20], ebx
mov dword [esi], eax
mov ecx, dword [esi]
mov eax, dword [0x48f36c]
mov dword [esi + 0x40], ebx
movaps xmmword [esi + 0x30], xmm0
movaps xmmword [esi + 0x20], xmm0
movaps xmmword [esi + 0x10], xmm0
movaps xmmword [esi], xmm0
mov edx, eax
shr edx, 0x14
xor edx, eax
imul eax, edx, 0xf511f730
add eax, 0xe75d8877
rol eax, 9
and eax, 0xefff
add eax, ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x47a9da]
xor edx, dword [eax + ecx + 4]
mov dword [esp + ecx + 0x94], edx
add ecx, 4
cmp ecx, 0x40
jb 0x42e634
movzx ecx, byte [eax + 0x46]
movzx eax, word [eax + 0x44]
lea ebx, [esp + 0x90]
xor eax, 0xead5
xor cl, 0x15
mov word [ebx + 0x44], ax
mov eax, 0x47
mov byte [ebx + 0x46], cl
push eax
push esi
lea eax, [esp + 0x138]
push eax
call fcn.00462380
add esp, 0xc
mov ecx, 0x47
xor edx, edx
call fcn.0043b1bc
mov esi, eax
mov eax, 0x47
mov edi, edx
push eax
lea eax, [esp + 0x134]
push eax
push edx
call fcn.00462380
add esp, 0xc
lea edx, [esp + 0x18]
mov ecx, ebx
mov eax, 0x47
mov dword [edx], esi
mov dword [edx + 4], edi
mov dword [edx + 8], eax
call fcn.0043c5df
lea edi, [esp + 0x1c8]
mov ecx, edi
call fcn.0042b2c9
mov eax, dword [ebx + 8]
movsd xmm0, qword [ebx]
lea esi, [esp + 0x178]
lea ecx, [esp + 0x1c8]
movsd xmm1, qword [edi + 0x10]
lea edx, [esp + 0x90]
mov dword [edi + 8], eax
movsd qword [edi], xmm0
movsd qword [esi], xmm0
movsd qword [esi + 0x10], xmm1
movsd xmm0, qword [edi + 8]
movzx eax, word [ecx + 0x25]
mov bl, byte [ecx + 0x27]
mov ecx, 9
mov edi, edx
movsd qword [esi + 8], xmm0
mov word [esp + 0x50], ax
mov byte [esp + 0x52], bl
mov dword [esi + 0x18], 0x10
mov dword [esi + 0x1c], 1
mov dword [esi + 0x20], 0
rep movsd dword es:[edi], dword [esi]
mov byte [edx + 0x24], 1
movzx ecx, word [esp + 0x50]
mov word [edx + 0x25], cx
mov cl, byte [esp + 0x52]
mov byte [edx + 0x27], cl
mov ecx, edx
mov edx, dword [esp + 0x230]
push dword [ebp + 8]
push dword [esp + 0x238]
call fcn.00441306
add esp, 8
mov ecx, dword [esp + 0x21c]
mov edx, dword [esp + 0x218]
call fcn.0043c8af
mov ecx, dword [esp + 0x23c]
mov edx, dword [esp + 0x238]
call fcn.0043c8af
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, ebx
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x88]
jmp 0x42c802
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
jmp 0x42c802
xor ecx, ecx
xor edx, edx
push 0x47a818
call fcn.0046e960
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x47a828
call fcn.0046e960
mov ecx, 2
mov edx, 2
push 0x47a838
call fcn.0046e960
mov ecx, 3
mov edx, 3
push 0x47a848
call fcn.0046e960
mov ecx, 4
mov edx, 4
push 0x47a858
call fcn.0046e960
xor ecx, ecx
xor edx, edx
push 0x47a868
call fcn.0046e960
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x47a878
call fcn.0046e960
xor ecx, ecx
xor edx, edx
push 0x47a8c4
call fcn.0046e960
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x47a8d4
call fcn.0046e960
mov ecx, 4
mov edx, 0x18
call fcn.0046d190
mov ecx, 4
mov edx, 0x30
call fcn.0046d190
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x47bb40
push 0x47a388
lea eax, [esp + 0x58]
push eax
call fcn.0046ece0
mov ecx, 4
mov edx, 0x3c
call fcn.0046d190
lea ecx, [esp + 0x90]
mov edx, 0x47bf9c
xor eax, eax
mov dword [ecx], 0x47bf94
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], 0x486600
mov dword [ecx + 0xc], eax
call fcn.0046e8d0
mov ecx, 0x47a36c
mov edx, 0x1c
push 0x47a8e4
call fcn.0046ed80
mov ecx, 4
mov edx, 0x48
call fcn.0046d190
mov ecx, 4
mov edx, 0xc
call fcn.0046d190
mov edx, dword [esp + 0x30]
mov ecx, 8
call fcn.0046d190