Function at 0x439070
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x240
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp esi, eax
jae 0x4390a2
mov byte [ecx + 8], 0x13
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], 0
mov dword [ecx], 0x80000000
jmp 0x439d0f
add edx, eax
sub esi, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 8
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], edx
je 0x439a3d
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x24]
mov eax, esi
mov dword [esp + 0x40], 0
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x20], eax
mov ebx, eax
nop dword [eax + eax]
movzx edx, byte [edi]
cmp ecx, 0x3f
jne 0x439111
cmp dl, 2
jae 0x439a3f
mov eax, edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x2c], dl
mov edx, esi
mov esi, 0
and al, 0x7f
mov ebx, dword [esp + 0x28]
movzx edi, al
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
cmovne edi, esi
mov esi, dword [esp + 0xc]
or edx, eax
or dword [esp + 0x40], edi
cmp byte [esp + 0x2c], 0
lea eax, [ebx - 1]
lea edi, [esi + 1]
jns 0x439166
add ecx, 7
test eax, eax
mov ebx, eax
mov esi, edx
jne 0x439100
jmp 0x439a48
mov ecx, dword [esp + 0x40]
or ecx, edx
je 0x439ae6
test eax, eax
je 0x439b0f
lea edi, [ebx - 2]
mov ebx, dword [esp + 0xc]
mov esi, edx
mov dword [esp + 0xd0], esi
movzx eax, byte [ebx + 1]
add ebx, 2
mov ecx, eax
and ecx, 0x7f
test al, al
mov dword [esp + 0x34], ecx
jns 0x439207
test edi, edi
je 0x439b3d
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
movzx eax, byte [edx + 2]
movzx ebx, bx
lea edi, [esi - 3]
mov ecx, eax
and ecx, 0x7f
shl ecx, 7
or ebx, ecx
test al, al
mov dword [esp + 0x34], ebx
lea ebx, [edx + 3]
jns 0x439207
test edi, edi
je 0x439b3d
movzx eax, byte [ebx]
cmp ax, 3
ja 0x439d17
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x28]
movzx eax, ax
shl eax, 0xe
movzx ecx, cx
add ebx, 4
add edi, 0xfffffffc
or ecx, eax
mov dword [esp + 0x34], ecx
cmp word [esp + 0x34], 0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
je 0x439b2c
test edi, edi
je 0x439b45
movzx eax, byte [ebx]
cmp al, 2
jae 0x439b30
inc ebx
dec edi
pxor xmm0, xmm0
mov byte [esp + 0x33], al
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x80], 0
movdqa xmmword [esp + 0x70], xmm0
test edi, edi
je 0x439ac6
movzx eax, byte [ebx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
lea edx, [edi - 1]
mov ecx, eax
and ecx, 0x7f
test al, al
mov dword [esp + 0x28], ecx
lea ecx, [ebx + 1]
jns 0x439360
test edx, edx
je 0x439a9c
movzx eax, byte [ebx + 1]
mov edx, dword [esp + 0x28]
mov ecx, eax
movzx edx, dx
and ecx, 0x7f
shl ecx, 7
or edx, ecx
mov ecx, edi
test al, al
lea ecx, [ebx + 2]
mov dword [esp + 0x28], edx
lea edx, [edi - 2]
jns 0x439360
test edx, edx
je 0x439a9c
movzx eax, byte [ecx]
cmp ax, 3
ja 0x439b51
mov ecx, dword [esp + 0x28]
movzx eax, ax
mov edx, edi
add ebx, 3
shl eax, 0xe
add edx, 0xfffffffd
movzx ecx, cx
or ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, ebx
nop word cs:[eax + eax]
nop dword [eax]
cmp word [esp + 0x28], 0
mov dword [esp + 0x1c], esi
je 0x4396ab
test edx, edx
je 0x439a9c
movzx ebx, byte [ecx]
lea edi, [edx - 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
lea ebx, [ecx + 1]
js 0x4393c3
mov dword [esp + 0x20], edi
cmp ax, 0x21
je 0x4393f4
movzx edx, ax
test edx, edx
je 0x439b1b
movzx eax, word [esp + 0x28]
mov ecx, 0xffffffff
shl edx, 0x10
xor esi, esi
xor edi, edi
and dword [esp + 0x38], ecx
xor ecx, ecx
or edx, eax
mov dword [esp + 0x18], edx
xor edx, edx
jmp 0x4394ea
test edi, edi
je 0x439b34
movzx ebx, byte [ecx + 1]
movzx eax, ax
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea esi, [edx - 2]
lea ebx, [ecx + 2]
js 0x43962c
mov dword [esp + 0x20], esi
cmp ax, 0x21
jne 0x439394
mov eax, dword [esp + 0x20]
test eax, eax
je 0x439b23
lea edx, [eax - 1]
mov dword [esp + 0x24], ebx
lea esi, [ebx + 1]
xor edi, edi
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x2c], edx
mov dh, byte [esi - 1]
cmp ecx, 0x3f
mov dword [esp + 0xc], edi
jne 0x439430
movzx ebx, dh
cmp ebx, 0x7f
je 0x439430
test ebx, ebx
jne 0x439a8d
mov bl, dh
mov dword [esp + 0x10], edx
xor edx, edx
mov edi, 0
and bl, 0x7f
movzx ebx, bl
shld edx, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne edx, ebx
cmovne ebx, edi
mov edi, dword [esp + 0xc]
add ecx, 7
or eax, edx
mov edx, dword [esp + 0x10]
or edi, ebx
test dh, dh
jns 0x439473
mov edx, dword [esp + 0x2c]
inc esi
add edx, 0xffffffff
jb 0x439410
jmp 0x439a63
cmp ecx, 0x40
mov ebx, 0xffffffff
mov dword [esp + 0xc], edi
mov edi, 0
setl byte [esp + 0x24]
and dh, 0x40
shl ebx, cl
shr dh, 6
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, ebx
cmovne ebx, edi
test byte [esp + 0x24], dh
mov edx, 0xffffffff
cmove ecx, edi
cmove ebx, edi
and dword [esp + 0x38], edx
movzx edi, word [esp + 0x28]
or eax, ecx
mov ecx, dword [esp + 0xc]
or edi, 0x210000
or ecx, ebx
mov dword [esp + 0x18], edi
mov ebx, esi
mov dword [esp + 0xc], ecx
shrd ecx, eax, 0x10
shr eax, 0x10
mov edx, eax
mov eax, dword [esp + 0x2c]
mov esi, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov edi, eax
mov cl, ah
mov eax, esi
mov dword [esp + 0xc], ecx
movzx ecx, cl
shl eax, 0x10
shl ecx, 8
or ecx, eax
mov eax, edi
movzx edi, al
or edi, ecx
mov ecx, edx
shld ecx, esi, 0x10
cmp dword [esp + 0x70], 0
mov dword [esp + 0x2c], ecx
je 0x439560
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x24], ebx
cmp edx, dword [esp + 0x74]
jne 0x439532
lea ecx, [esp + 0x74]
call fcn.0043b100
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x2c]
mov ecx, edx
inc edx
shl ecx, 4
mov dword [eax + ecx + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx], edi
mov dword [eax + ecx + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx + 8], ebx
mov dword [esp + 0x7c], edx
jmp 0x43960f
mov ecx, dword [esp + 0x74]
cmp ecx, 5
jne 0x439667
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], edx
mov ebx, esi
movzx eax, byte [0x476104]
mov ecx, 0x50
call fcn.0043d720
test eax, eax
je 0x439da7
mov ecx, 0x14
mov edi, eax
lea esi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x5c], 5
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 5
lea ecx, [esp + 0x5c]
mov edx, 5
call fcn.0043b100
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x2c]
mov edx, ecx
inc ecx
shl edx, 4
mov dword [eax + edx + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + edx], esi
mov esi, dword [esp + 0x38]
mov dword [eax + edx + 0xc], esi
mov esi, dword [esp + 0x18]
mov dword [eax + edx + 8], esi
mov dword [esp + 0x64], ecx
lea eax, [esp + 0x74]
mov esi, ebx
movq xmm0, qword [esp + 0x5c]
mov dword [eax + 8], ecx
movq qword [eax], xmm0
mov dword [esp + 0x70], 1
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
test edi, edi
jne 0x4392d5
jmp 0x439ac6
test esi, esi
je 0x439b64
movzx esi, byte [ebx]
cmp si, 3
ja 0x439b76
movzx esi, si
add ecx, 3
movzx eax, ax
add edx, 0xfffffffd
shl esi, 0xe
mov ebx, ecx
mov dword [esp + 0x20], edx
or eax, esi
cmp ax, 0x21
jne 0x439394
jmp 0x4393f4
jae 0x439d93
mov eax, dword [esp + 0x2c]
shl ecx, 4
mov dword [esp + ecx + 0x78], edi
mov edi, dword [esp + 0x18]
mov dword [esp + ecx + 0x7c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + ecx + 0x80], edi
mov dword [esp + ecx + 0x84], eax
inc dword [esp + 0x74]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
test edi, edi
jne 0x4392d5
jmp 0x439ac6
test edx, edx
je 0x439a9c
movzx ebx, byte [ecx]
lea edi, [edx - 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
lea ebx, [ecx + 1]
js 0x4396cb
mov dword [esp + 0x20], edi
jmp 0x439724
test edi, edi
je 0x439b34
movzx ebx, byte [ecx + 1]
movzx eax, ax
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea esi, [edx - 2]
lea ebx, [ecx + 2]
js 0x4396f4
mov dword [esp + 0x20], esi
jmp 0x439720
test esi, esi
je 0x439b64
movzx esi, byte [ebx]
cmp si, 3
ja 0x439b76
movzx esi, si
add ecx, 3
movzx eax, ax
add edx, 0xfffffffd
shl esi, 0xe
mov ebx, ecx
mov dword [esp + 0x20], edx
or eax, esi
mov esi, dword [esp + 0x1c]
test ax, ax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
jne 0x439d2c
lea ecx, [esp + 0x78]
movq xmm0, qword [esp + 0x70]
movdqu xmm1, xmmword [esp + 0x78]
movsd xmm3, qword [ecx + 0x18]
movsd xmm4, qword [ecx + 0x20]
movsd xmm2, qword [ecx + 0x10]
movd edi, xmm0
movsd qword [esp + 0xf0], xmm3
movsd xmm3, qword [ecx + 0x28]
movsd qword [esp + 0xf8], xmm4
movsd xmm4, qword [ecx + 0x30]
cmp edi, 2
movsd qword [esp + 0xe8], xmm2
movsd qword [esp + 0x100], xmm3
movsd xmm3, qword [ecx + 0x38]
movsd qword [esp + 0x108], xmm4
movsd xmm4, qword [ecx + 0x40]
movsd qword [esp + 0x110], xmm3
movsd xmm3, qword [ecx + 0x48]
movsd qword [esp + 0x118], xmm4
movsd qword [esp + 0x120], xmm3
je 0x439d50
movsd xmm2, qword [esp + 0x120]
movsd xmm3, qword [esp + 0xf0]
movd eax, xmm1
mov dword [esp + 0x24], ebx
movsd qword [esp + 0x1c8], xmm2
movsd xmm2, qword [esp + 0x118]
movsd qword [esp + 0x198], xmm3
movsd qword [esp + 0x1c0], xmm2
movsd xmm2, qword [esp + 0x110]
movsd qword [esp + 0x1b8], xmm2
movsd xmm2, qword [esp + 0x108]
movsd qword [esp + 0x1b0], xmm2
movsd xmm2, qword [esp + 0x100]
movsd qword [esp + 0x1a8], xmm2
movsd xmm2, qword [esp + 0xf8]
movsd qword [esp + 0x1a0], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x190], xmm2
pshufd xmm2, xmm1, 0x55
movd ecx, xmm2
pshufd xmm2, xmm1, 0xff
pshufd xmm1, xmm1, 0xee
mov esi, ecx
mov edx, ecx
movd ebx, xmm2
shld esi, eax, 0x10
shr edx, 0x10
cmp edi, 3
movd edi, xmm1
je 0x439d7f
movsd xmm1, qword [esp + 0x1c0]
movsd xmm2, qword [esp + 0x1c8]
movq qword [esp + 0x1d0], xmm0
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], ecx
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1e4], ebx
movq xmm3, qword [esp + 0x190]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xe3]
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [esp + 0x1b0]
movsd qword [esp + 0x188], xmm2
movsd xmm2, qword [esp + 0x1b8]
movq qword [esp + 0x150], xmm3
mov dword [esp + 0x68], edx
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x1a0]
movsd qword [esp + 0x178], xmm2
movsd xmm2, qword [esp + 0x1a8]
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x198]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x188]
movsd qword [esp + 0x158], xmm1
movsd xmm1, qword [esp + 0x180]
movsd qword [ecx + 0x38], xmm2
movsd xmm2, qword [esp + 0x178]
movsd qword [ecx + 0x30], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [esp + 0x168]
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [ecx + 0x18], xmm2
movq xmm2, qword [esp + 0x150]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esp + 0x158]
movq qword [ecx], xmm2
movq qword [ecx + 8], xmm1
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x34]
mov word [esp + 0x230], ax
movzx eax, byte [esp + 0x33]
mov byte [esp + 0x232], al
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x4b], eax
movzx eax, byte [esp + 0xe7]
mov byte [esp + 0x6c], al
movzx eax, byte [esp + 0x6c]
mov byte [ecx + 0x4f], al
lea ecx, [esp + 0x44]
lea edx, [esp + 0x1d0]
call fcn.0040b320
test al, al
jne 0x439d86
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x4390e0
jmp 0x439a54
jmp 0x439a54
xor ebx, ebx
mov cl, 6
jmp 0x439bcb
mov eax, dword [esp + 0x20]
mov dh, byte [esp + 0x2c]
add dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov ah, dh
mov cl, 0x13
xor ebx, ebx
jmp 0x439bcb
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0x20]
mov dword [esp + 0x18], 0
mov cl, 0x13
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x70], 0
jne 0x439b99
jmp 0x439bc1
mov cl, 7
mov dword [esp + 0x18], 0
jmp 0x439b86
mov eax, dword [esp + 0xc]
mov ebx, ecx
mov dword [esp + 0x18], 0
mov cl, 0x13
mov ah, al
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x70], 0
jne 0x439b99
jmp 0x439bc1
mov ah, cl
mov dword [esp + 0x18], 0
mov cl, 0x13
mov dword [esp + 0x10], eax
cmp dword [esp + 0x70], 0
jne 0x439b99
jmp 0x439bc1
movq xmm0, qword [esp + 0x54]
mov eax, dword [esp + 0x3c]
movq xmm2, qword [esp + 0x44]
movq xmm1, qword [esp + 0x4c]
movq qword [eax + 0x10], xmm0
movq qword [eax + 8], xmm1
movq qword [eax], xmm2
jmp 0x439d0f
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov cl, 0x13
jmp 0x439b49
mov dword [esp + 0x18], edx
mov cl, 9
jmp 0x439b80
mov dword [esp + 0x10], eax
jmp 0x439a6b
mov cl, 8
jmp 0x439b32
mov cl, 0xa
jmp 0x439b49
mov eax, dword [esp + 0xc]
jmp 0x439aa2
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov cl, 0x13
mov edi, ebx
mov eax, dword [esp + 0x10]
xor ebx, ebx
jmp 0x439bcb
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 0
mov cl, 6
jmp 0x439aac
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 0
mov cl, 0x13
mov ah, al
jmp 0x439b86
mov cl, 6
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0xc]
mov ah, al
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x70], 0
je 0x439bc1
cmp dword [esp + 0x74], 0
je 0x439bc1
push dword [esp + 0x78]
push 0
push dword [0x4760c0]
mov dword [esp + 0x30], ebx
mov ebx, edx
mov edi, ecx
call sub.kernel32.dll_HeapFree
mov edx, ebx
mov ebx, dword [esp + 0x24]
mov ecx, edi
mov edi, ebx
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
movzx eax, ah
movzx ecx, cl
shld edx, esi, 0x10
shl esi, 0x10
shl eax, 8
or ecx, eax
mov eax, dword [esp + 0x3c]
or ecx, esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [eax], 0x80000000
test edi, edi
je 0x439c33
lea ebx, [esi + 8]
jmp 0x439c16
add ebx, 0x68
dec edi
je 0x439c33
cmp dword [ebx - 8], 0
je 0x439c10
cmp dword [ebx - 4], 0
je 0x439c10
push dword [ebx]
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
jmp 0x439c10
cmp dword [esp + 0x44], 0
je 0x439c48
push esi
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x439c88
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], ecx
mov ecx, 1
mov dword [esp + 0x8c], edx
jmp 0x439c8c
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x90], eax
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x70]
call fcn.0042db90
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x439d0f
lea esi, [esp + 0xe8]
lea edi, [esp + 0x70]
jmp 0x439ce4
mov ecx, esi
mov edx, edi
call fcn.0042db90
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x439d0f
imul ecx, dword [esp + 0xf0], 0x68
cmp dword [eax + ecx + 0x58], 0
je 0x439cd0
lea eax, [eax + ecx + 0x58]
cmp dword [eax + 4], 0
je 0x439cd0
push dword [eax + 8]
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
jmp 0x439cd0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov cl, 6
jmp 0x439bcb
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
mov ah, al
mov cl, 0xd
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
cmp dword [esp + 0x70], 0
jne 0x439b99
jmp 0x439bc1
movd ecx, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm0, xmm1, 0xee
pshufd xmm3, xmm1, 0xff
movd edx, xmm2
mov esi, ecx
movd edi, xmm0
movd ebx, xmm3
mov ah, ch
shrd esi, edx, 0x10
shr edx, 0x10
jmp 0x439bcb
mov ecx, eax
jmp 0x439bcb
mov eax, dword [esp + 0x3c]
mov byte [eax + 8], 0xe
jmp 0x439bef
mov edx, 5
push 0x464840
call fcn.00407200
add esp, 4
jmp 0x439db6
mov ecx, 8
mov edx, 0x50
call fcn.004068b0
ud2