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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x9c
mov edx, dword [esp + 0xc4]
lea ecx, [esp + 0x50]
movzx ebp, word [edx + 2]
mov eax, ebp
movzx ebx, word [edx + 4]
mov edx, ebx
call fcn.00421030
sub ebp, ebx
mov eax, ebp
cdq
xor ebp, edx
sub ebp, edx
je 0x41306f
bsr edx, ebp
lea eax, [edx + 1]
cmp eax, 5
adc edx, 0
mov esi, dword [esp + 0xc4]
lea ebp, [edx + edx*8]
shl ebp, 0xd
lea ecx, [esp + 0x58]
mov ebx, dword [esp + 0xb0]
movzx eax, word [esi + 0x10]
movzx edx, word [esi + 0x12]
lea ebx, [ebx + ebp + 0x525a9c]
call fcn.00421030
mov esi, dword [esp + 0xc4]
mov edi, dword [esi + 0x14]
mov ecx, edi
shr edi, 0x15
and edi, 7
shr ecx, 9
and ecx, 7
movzx eax, byte [esp + edi + 0x58]
mov byte [esp + 0x29], al
mov byte [esp + 0x24], al
mov eax, dword [esi + 0x18]
mov edx, eax
shr edx, 9
and edx, 7
shr eax, 0x15
and eax, 7
movzx ecx, byte [esp + ecx + 0x58]
mov ebp, ecx
movzx edx, byte [esp + edx + 0x58]
mov byte [esp + 0x2c], dl
mov byte [esp + 0x27], dl
movzx edx, byte [esp + eax + 0x58]
mov byte [esp + 0x1a], cl
mov byte [esp + 0x26], cl
mov byte [esp + 0x18], cl
mov byte [esp + 0x2a], dl
cmp byte [esi], 1
ja 0x4362b0
xor eax, eax
mov edx, ebp
mov byte [esp + 0x19], cl
mov byte [esp + 0x1d], al
mov byte [esp + 0x1c], al
mov byte [esp + 0x20], al
mov byte [esp + 0x1f], al
mov byte [esp + 0x23], al
mov byte [esp + 0x22], al
cmp ebp, edx
mov eax, edx
mov esi, edx
cmova eax, ebp
cmovb esi, ebp
cmp ecx, eax
jae 0x411a80
add ebp, edx
sub ebp, ecx
cmp ecx, esi
mov esi, eax
cmova esi, ebp
movd xmm1, esi
xor eax, eax
movq xmm2, qword [esp + 0x50]
pxor xmm0, xmm0
punpcklwd xmm1, xmm1
mov edx, 2
punpcklbw xmm2, xmm0
pshufd xmm3, xmm1, 0
psubw xmm3, xmm2
pmullw xmm3, xmm3
movdqu xmmword [esp + 0x2e], xmm3
movdqu xmmword [esp + 0x40], xmm2
movzx ebp, word [esp + 0x2e]
movzx esi, word [esp + 0x30]
cmp esi, ebp
movzx edi, word [esp + 0x32]
cmovb ebp, esi
setb al
cmp edi, ebp
movzx ecx, word [esp + 0x34]
cmovb ebp, edi
cmovb eax, edx
mov esi, 3
cmp ecx, ebp
movzx edi, word [esp + 0x36]
cmovb ebp, ecx
cmovb eax, esi
mov edx, 4
cmp edi, ebp
movzx ecx, word [esp + 0x38]
cmovb ebp, edi
cmovb eax, edx
mov esi, 5
cmp ecx, ebp
movzx edx, word [esp + 0x3a]
cmovb ebp, ecx
cmovb eax, esi
mov edi, 6
cmp edx, ebp
cmovb ebp, edx
cmovb eax, edi
mov ecx, 7
movzx edi, word [esp + 0x3c]
cmp edi, ebp
mov edx, dword [esp + 0xbc]
cmovb eax, ecx
mov ecx, dword [esp + 0xc0]
lea eax, [eax + eax*8]
shl eax, 0xa
lea eax, [ebx + eax + 0x23ee]
call fcn.00413080
mov dword [esp + 0x64], eax
movzx ebp, byte [esp + 0x1c]
mov ecx, ebp
mov esi, ebp
movzx edx, byte [esp + eax + 0x50]
cmp edx, ebp
movzx eax, byte [esp + 0x1d]
cmova ecx, edx
cmovb esi, edx
mov dword [esp + 0x70], edx
cmp eax, ecx
jae 0x411b80
add ebp, dword [esp + 0x70]
sub ebp, eax
cmp eax, esi
mov esi, ecx
cmova esi, ebp
movd xmm0, esi
xor eax, eax
punpcklwd xmm0, xmm0
mov ebp, 2
pshufd xmm1, xmm0, 0
mov ecx, 3
psubw xmm1, xmmword [esp + 0x40]
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
movzx edx, word [esp + 0x2e]
movzx esi, word [esp + 0x30]
cmp esi, edx
movzx edi, word [esp + 0x34]
cmovb edx, esi
setb al
movzx esi, word [esp + 0x32]
cmp esi, edx
cmovb edx, esi
cmovb eax, ebp
cmp edi, edx
movzx esi, word [esp + 0x36]
cmovb edx, edi
cmovb eax, ecx
mov ebp, 4
cmp esi, edx
movzx edi, word [esp + 0x38]
cmovb edx, esi
cmovb eax, ebp
mov ecx, 5
cmp edi, edx
mov esi, dword [esp + 0x64]
cmovb edx, edi
cmovb eax, ecx
movzx edi, word [esp + 0x3a]
mov ecx, 6
cmp edi, edx
lea esi, [esi + esi*8]
cmovb edx, edi
cmovb eax, ecx
movzx ecx, word [esp + 0x3c]
cmp ecx, edx
mov edx, 7
lea ebp, [ebx + esi*2]
cmovb eax, edx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
lea eax, [eax + eax*8]
shl eax, 0xa
lea eax, [ebp + eax + 0x2370]
call fcn.00413080
mov dword [esp + 0x84], eax
movzx ebp, byte [esp + 0x1f]
mov ecx, ebp
mov edi, ebp
movzx edx, byte [esp + eax + 0x50]
cmp edx, ebp
movzx eax, byte [esp + 0x20]
cmova ecx, edx
cmovb edi, edx
mov dword [esp + 0x68], edx
cmp eax, ecx
jae 0x411c7b
add ebp, dword [esp + 0x68]
sub ebp, eax
cmp eax, edi
mov edi, ecx
cmova edi, ebp
movd xmm0, edi
xor eax, eax
punpcklwd xmm0, xmm0
mov ecx, 2
pshufd xmm1, xmm0, 0
psubw xmm1, xmmword [esp + 0x40]
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
movzx edx, word [esp + 0x2e]
movzx ebp, word [esp + 0x30]
cmp ebp, edx
movzx edi, word [esp + 0x32]
cmovb edx, ebp
setb al
cmp edi, edx
movzx ebp, word [esp + 0x34]
cmovb edx, edi
cmovb eax, ecx
mov edi, 3
cmp ebp, edx
movzx ecx, word [esp + 0x36]
cmovb edx, ebp
cmovb eax, edi
mov ebp, 4
cmp ecx, edx
movzx edi, word [esp + 0x38]
cmovb edx, ecx
cmovb eax, ebp
mov ecx, 5
cmp edi, edx
mov ebp, dword [esp + 0x84]
cmovb edx, edi
cmovb eax, ecx
movzx edi, word [esp + 0x3a]
cmp edi, edx
lea ecx, [ebp + ebp*8]
cmovb edx, edi
lea ebp, [ebx + ecx*2]
mov ecx, 6
cmovb eax, ecx
movzx ecx, word [esp + 0x3c]
cmp ecx, edx
mov edx, 7
cmovb eax, edx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
lea eax, [eax + eax*8]
shl eax, 0xa
lea eax, [ebp + eax + 0x2370]
call fcn.00413080
mov dword [esp + 0x8c], eax
movzx ebp, byte [esp + 0x22]
mov ecx, ebp
mov edi, ebp
movzx edx, byte [esp + eax + 0x50]
cmp edx, ebp
movzx eax, byte [esp + 0x23]
cmova ecx, edx
cmovb edi, edx
mov dword [esp + 0x60], edx
cmp eax, ecx
jae 0x411d7a
add ebp, dword [esp + 0x60]
sub ebp, eax
cmp eax, edi
mov edi, ecx
cmova edi, ebp
movd xmm0, edi
xor eax, eax
punpcklwd xmm0, xmm0
mov ecx, 2
pshufd xmm1, xmm0, 0
psubw xmm1, xmmword [esp + 0x40]
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
movzx edx, word [esp + 0x2e]
movzx ebp, word [esp + 0x30]
cmp ebp, edx
movzx edi, word [esp + 0x32]
cmovb edx, ebp
setb al
cmp edi, edx
movzx ebp, word [esp + 0x34]
cmovb edx, edi
cmovb eax, ecx
mov edi, 3
cmp ebp, edx
movzx ecx, word [esp + 0x36]
cmovb edx, ebp
cmovb eax, edi
mov ebp, 4
cmp ecx, edx
movzx edi, word [esp + 0x38]
cmovb edx, ecx
cmovb eax, ebp
mov ecx, 5
cmp edi, edx
mov ebp, dword [esp + 0x8c]
cmovb edx, edi
cmovb eax, ecx
movzx edi, word [esp + 0x3a]
cmp edi, edx
lea ecx, [ebp + ebp*8]
cmovb edx, edi
lea ebp, [ebx + ecx*2]
mov ecx, 6
cmovb eax, ecx
movzx ecx, word [esp + 0x3c]
cmp ecx, edx
mov edx, 7
cmovb eax, edx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
lea eax, [eax + eax*8]
shl eax, 0xa
lea eax, [ebp + eax + 0x2370]
call fcn.00413080
mov dword [esp + 0x88], eax
movzx edx, byte [esp + 0x24]
mov edi, dword [esp + 0x70]
cmp edx, edi
mov ecx, edi
cmova ecx, edx
cmovb edi, edx
movzx ebp, byte [esp + eax + 0x50]
movzx eax, byte [esp + 0x26]
cmp eax, ecx
jae 0x411e77
add edx, dword [esp + 0x70]
sub edx, eax
cmp eax, edi
mov edi, ecx
cmova edi, edx
movd xmm0, edi
mov ecx, 2
punpcklwd xmm0, xmm0
pshufd xmm1, xmm0, 0
psubw xmm1, xmmword [esp + 0x40]
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
shl esi, 4
movzx edx, word [esp + 0x2e]
add esi, ebx
movzx eax, word [esp + 0x30]
cmp eax, edx
movzx edi, word [esp + 0x32]
cmovb edx, eax
mov eax, 0
setb al
cmp edi, edx
cmovb edx, edi
cmovb eax, ecx
movzx edi, word [esp + 0x34]
mov ecx, 3
cmp edi, edx
cmovb edx, edi
cmovb eax, ecx
movzx edi, word [esp + 0x36]
mov ecx, 4
cmp edi, edx
cmovb edx, edi
cmovb eax, ecx
movzx edi, word [esp + 0x38]
mov ecx, 5
cmp edi, edx
cmovb edx, edi
cmovb eax, ecx
movzx edi, word [esp + 0x3a]
mov ecx, 6
cmp edi, edx
cmovb edx, edi
cmovb eax, ecx
movzx ecx, word [esp + 0x3c]
cmp ecx, edx
mov edx, 7
cmovb eax, edx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
lea eax, [eax + eax*8]
shl eax, 0xa
lea eax, [esi + eax + 0x1ffe]
call fcn.00413080
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x68]
movzx ecx, byte [esp + eax + 0x50]
cmp ecx, edx
mov eax, edx
cmova eax, ecx
cmovb edx, ecx
mov dword [esp + 0x6c], ecx
cmp eax, dword [esp + 0x70]
jbe 0x411f6f
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
sub esi, ecx
add esi, dword [esp + 0x6c]
cmp ecx, edx
mov edx, eax
cmova edx, esi
movd xmm0, edx
xor edx, edx
punpcklwd xmm0, xmm0
mov ecx, 2
pshufd xmm1, xmm0, 0
psubw xmm1, xmmword [esp + 0x40]
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
movzx edi, word [esp + 0x2e]
movzx eax, word [esp + 0x30]
cmp eax, edi
movzx esi, word [esp + 0x32]
cmovb edi, eax
setb dl
cmp esi, edi
movzx eax, word [esp + 0x34]
cmovb edi, esi
cmovb edx, ecx
mov esi, 3
cmp eax, edi
movzx ecx, word [esp + 0x36]
cmovb edi, eax
cmovb edx, esi
mov eax, 4
cmp ecx, edi
movzx esi, word [esp + 0x38]
cmovb edi, ecx
cmovb edx, eax
mov ecx, 5
cmp esi, edi
mov eax, dword [esp + 0x64]
cmovb edx, ecx
cmovb edi, esi
shl eax, 6
mov ecx, dword [esp + 0x84]
movzx esi, word [esp + 0x3a]
lea eax, [eax + ecx*8]
add eax, dword [esp + 0x7c]
cmp esi, edi
cmovb edi, esi
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*2]
mov ecx, 6
cmovb edx, ecx
movzx ecx, word [esp + 0x3c]
cmp ecx, edi
mov edi, 7
cmovb edx, edi
mov ecx, dword [esp + 0xc0]
lea edx, [edx + edx*8]
shl edx, 0xa
add eax, edx
mov edx, dword [esp + 0xbc]
call fcn.00413080
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x60]
movzx ecx, byte [esp + eax + 0x50]
cmp ecx, edx
mov eax, edx
cmova eax, ecx
cmovb edx, ecx
mov dword [esp + 0x78], ecx
cmp eax, dword [esp + 0x68]
jbe 0x412075
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
sub esi, ecx
add esi, dword [esp + 0x78]
cmp ecx, edx
mov edx, eax
cmova edx, esi
movd xmm0, edx
xor edx, edx
punpcklwd xmm0, xmm0
mov ecx, 2
pshufd xmm1, xmm0, 0
psubw xmm1, xmmword [esp + 0x40]
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
movzx edi, word [esp + 0x2e]
movzx eax, word [esp + 0x30]
cmp eax, edi
movzx esi, word [esp + 0x32]
cmovb edi, eax
setb dl
cmp esi, edi
movzx eax, word [esp + 0x34]
cmovb edi, esi
cmovb edx, ecx
mov esi, 3
cmp eax, edi
movzx ecx, word [esp + 0x36]
cmovb edi, eax
cmovb edx, esi
mov eax, 4
cmp ecx, edi
movzx esi, word [esp + 0x38]
cmovb edi, ecx
cmovb edx, eax
mov ecx, 5
cmp esi, edi
mov eax, dword [esp + 0x84]
cmovb edx, ecx
cmovb edi, esi
shl eax, 6
mov ecx, dword [esp + 0x8c]
movzx esi, word [esp + 0x3a]
lea eax, [eax + ecx*8]
add eax, dword [esp + 0x74]
cmp esi, edi
cmovb edi, esi
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*2]
mov ecx, 6
cmovb edx, ecx
movzx ecx, word [esp + 0x3c]
cmp ecx, edi
mov edi, 7
cmovb edx, edi
mov ecx, dword [esp + 0xc0]
lea edx, [edx + edx*8]
shl edx, 0xa
add eax, edx
mov edx, dword [esp + 0xbc]
call fcn.00413080
mov dword [esp + 0x68], eax
mov ecx, ebp
mov esi, ebp
movzx edx, byte [esp + eax + 0x50]
cmp edx, ebp
mov dword [esp + 0x70], edx
cmova ecx, edx
cmovb esi, edx
cmp ecx, dword [esp + 0x60]
jbe 0x412178
mov eax, dword [esp + 0x60]
sub ebp, eax
add ebp, dword [esp + 0x70]
cmp eax, esi
mov esi, ecx
cmova esi, ebp
movd xmm0, esi
xor edx, edx
punpcklwd xmm0, xmm0
mov ebp, 2
pshufd xmm1, xmm0, 0
psubw xmm1, xmmword [esp + 0x40]
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
movzx esi, word [esp + 0x2e]
movzx edi, word [esp + 0x30]
cmp edi, esi
movzx eax, word [esp + 0x32]
cmovb esi, edi
setb dl
cmp eax, esi
movzx ecx, word [esp + 0x34]
cmovb esi, eax
cmovb edx, ebp
mov edi, 3
cmp ecx, esi
movzx eax, word [esp + 0x36]
cmovb esi, ecx
cmovb edx, edi
mov ebp, 4
cmp eax, esi
movzx ecx, word [esp + 0x38]
cmovb esi, eax
cmovb edx, ebp
mov edi, 5
cmp ecx, esi
mov eax, dword [esp + 0x8c]
cmovb esi, ecx
cmovb edx, edi
shl eax, 6
mov ecx, dword [esp + 0x88]
movzx ebp, word [esp + 0x3a]
cmp ebp, esi
cmovb esi, ebp
lea eax, [eax + ecx*8]
mov ecx, 6
cmovb edx, ecx
add eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xc0]
lea edi, [eax + eax*8]
lea eax, [ebx + edi*2]
movzx edi, word [esp + 0x3c]
cmp edi, esi
mov esi, 7
cmovb edx, esi
lea edx, [edx + edx*8]
shl edx, 0xa
add eax, edx
mov edx, dword [esp + 0xbc]
call fcn.00413080
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x64]
shrd ecx, ecx, 3
add ecx, dword [esp + 0x84]
shrd ecx, ecx, 3
add ecx, dword [esp + 0x8c]
shrd ecx, ecx, 3
add ecx, dword [esp + 0x88]
shrd ecx, ecx, 3
add ecx, dword [esp + 0x7c]
shrd ecx, ecx, 3
add ecx, dword [esp + 0x74]
shrd ecx, ecx, 3
add ecx, dword [esp + 0x68]
shrd ecx, ecx, 3
add ecx, eax
mov ebp, dword [esp + 0xc4]
shrd ecx, ecx, 3
shr ecx, 8
mov dword [ebp + 8], ecx
movzx edx, byte [esp + eax + 0x50]
movzx ecx, byte [esp + 0x27]
mov esi, dword [esp + 0x6c]
cmp ecx, esi
mov dword [esp + 0x80], edx
mov edx, esi
cmova edx, ecx
cmovb esi, ecx
movzx eax, byte [esp + 0x29]
cmp eax, edx
jae 0x4122d8
add ecx, dword [esp + 0x6c]
sub ecx, eax
cmp eax, esi
mov esi, edx
cmova esi, ecx
movd xmm0, esi
xor ecx, ecx
punpcklwd xmm0, xmm0
mov ebp, 2
pshufd xmm1, xmm0, 0
psubw xmm1, xmmword [esp + 0x40]
pcmpeqd xmm0, xmm0
pmullw xmm1, xmm1
movdqu xmmword [esp + 0x2e], xmm1
movzx eax, word [esp + 0x2e]
movzx edx, word [esp + 0x30]
cmp edx, eax
movzx edi, word [esp + 0x32]
cmovb eax, edx
setb cl
cmp edi, eax
movzx esi, word [esp + 0x34]
cmovb eax, edi
cmovb ecx, ebp
mov edx, 3
cmp esi, eax
movzx edi, word [esp + 0x36]
cmovb eax, esi
cmovb ecx, edx
mov ebp, 4
cmp edi, eax
movzx esi, word [esp + 0x38]
cmovb eax, edi
cmovb ecx, ebp
mov edx, 5
cmp esi, eax
mov edi, dword [esp + 0x7c]
cmovb eax, esi
cmovb ecx, edx
mov ebp, 6
movzx esi, word [esp + 0x3a]
cmp esi, eax
movzx edx, word [esp + 0x3c]
lea edi, [edi + edi*8]
cmovb eax, esi
cmovb ecx, ebp
cmp edx, eax
mov eax, 7
mov ebp, dword [esp + 0xbc]
cmovb ecx, eax
shl edi, 4
add edi, ebx
mov ebp, dword [ebp]
lea ecx, [ecx + ecx*8]
shl ecx, 0xa
add edi, ecx
mov ecx, ebp
and ecx, 0x7fff
shr ebp, 0xf
movdqu xmm6, xmmword [edi + 0x1ffe]
movd xmm2, ecx
movdqa xmm4, xmm6
punpcklwd xmm2, xmm2
pshufd xmm3, xmm2, 0
pcmpgtw xmm4, xmm3
packsswb xmm4, xmm0
pmovmskb eax, xmm4
bsf eax, eax
mov dword [esp + 0x64], eax
movzx edx, word [edi + eax*2 + 0x1ffc]
sub ecx, edx
movzx esi, word [edi + eax*2 + 0x1ffe]
shl eax, 4
sub esi, edx
imul esi, ebp
movdqu xmm5, xmmword [eax + 0x401730]
psubw xmm5, xmm6
add ecx, esi
psraw xmm5, 6
paddw xmm6, xmm5
movdqu xmmword [edi + 0x1ffe], xmm6
cmp ecx, 0x800000
jb 0x413034
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
movzx esi, byte [esp + edx + 0x4f]
cmp esi, ebp
mov dword [eax], ecx
mov eax, ebp
cmova eax, esi
cmovb ebp, esi
mov dword [esp + 0x84], esi
cmp eax, dword [esp + 0x6c]
jbe 0x412455
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
sub esi, edx
add esi, dword [esp + 0x84]
cmp edx, ebp
mov ebp, eax
cmova ebp, esi
movd xmm1, ebp
xor eax, eax
punpcklwd xmm1, xmm1
mov edi, 2
pshufd xmm2, xmm1, 0
psubw xmm2, xmmword [esp + 0x40]
pmullw xmm2, xmm2
movdqu xmmword [esp + 0x2e], xmm2
movzx edx, word [esp + 0x2e]
movzx esi, word [esp + 0x30]
cmp esi, edx
movzx ebp, word [esp + 0x32]
cmovb edx, esi
setb al
cmp ebp, edx
movzx esi, word [esp + 0x34]
cmovb edx, ebp
cmovb eax, edi
mov ebp, 3
cmp esi, edx
movzx edi, word [esp + 0x36]
cmovb edx, esi
cmovb eax, ebp
mov esi, 4
cmp edi, edx
movzx ebp, word [esp + 0x38]
cmovb edx, edi
cmovb eax, esi
mov edi, 5
cmp ebp, edx
mov esi, dword [esp + 0x7c]
cmovb edx, ebp
cmovb eax, edi
shl esi, 6
mov ebp, dword [esp + 0x74]
movzx edi, word [esp + 0x3a]
lea esi, [esi + ebp*8]
add esi, dword [esp + 0x64]
cmp edi, edx
cmovb edx, edi
lea ebp, [esi + esi*8]
lea esi, [ebx + ebp*2]
mov ebp, 6
cmovb eax, ebp
movzx ebp, word [esp + 0x3c]
cmp ebp, edx
mov edx, 7
mov ebp, ecx
cmovb eax, edx
and ebp, 0x7fff
shr ecx, 0xf
movd xmm3, ebp
lea eax, [eax + eax*8]
shl eax, 0xa
add esi, eax
punpcklwd xmm3, xmm3
pshufd xmm4, xmm3, 0
movdqu xmm7, xmmword [esi - 0x12]
movdqa xmm5, xmm7
pcmpgtw xmm5, xmm4
packsswb xmm5, xmm0
pmovmskb edx, xmm5
bsf edx, edx
mov dword [esp + 0x6c], edx
movzx eax, word [esi + edx*2 - 0x14]
movzx edi, word [esi + edx*2 - 0x12]
shl edx, 4
sub edi, eax
imul ecx, edi
movdqu xmm6, xmmword [edx + 0x401730]
psubw xmm6, xmm7
sub ecx, eax
psraw xmm6, 6
add ecx, ebp
paddw xmm7, xmm6
movdqu xmmword [esi - 0x12], xmm7
cmp ecx, 0x800000
jb 0x412ff9
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0x70]
movzx esi, byte [esp + edx + 0x4f]
cmp esi, ebp
mov dword [eax], ecx
mov eax, ebp
cmova eax, esi
cmovb ebp, esi
mov dword [esp + 0x7c], esi
cmp eax, dword [esp + 0x78]
jbe 0x4125be
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
sub esi, edx
add esi, dword [esp + 0x7c]
cmp edx, ebp
mov ebp, eax
cmova ebp, esi
movd xmm1, ebp
xor eax, eax
punpcklwd xmm1, xmm1
mov edi, 2
pshufd xmm2, xmm1, 0
psubw xmm2, xmmword [esp + 0x40]
pmullw xmm2, xmm2
movdqu xmmword [esp + 0x2e], xmm2
movzx edx, word [esp + 0x2e]
movzx esi, word [esp + 0x30]
cmp esi, edx
movzx ebp, word [esp + 0x32]
cmovb edx, esi
setb al
cmp ebp, edx
movzx esi, word [esp + 0x34]
cmovb edx, ebp
cmovb eax, edi
mov ebp, 3
cmp esi, edx
movzx edi, word [esp + 0x36]
cmovb edx, esi
cmovb eax, ebp
mov esi, 4
cmp edi, edx
movzx ebp, word [esp + 0x38]
cmovb edx, edi
cmovb eax, esi
mov edi, 5
cmp ebp, edx
mov esi, dword [esp + 0x74]
cmovb edx, ebp
cmovb eax, edi
shl esi, 6
mov ebp, dword [esp + 0x68]
movzx edi, word [esp + 0x3a]
lea esi, [esi + ebp*8]
add esi, dword [esp + 0x6c]
cmp edi, edx
cmovb edx, edi
lea ebp, [esi + esi*8]
lea esi, [ebx + ebp*2]
mov ebp, 6
cmovb eax, ebp
movzx ebp, word [esp + 0x3c]
cmp ebp, edx
mov edx, 7
mov ebp, ecx
cmovb eax, edx
and ebp, 0x7fff
shr ecx, 0xf
movd xmm3, ebp
lea eax, [eax + eax*8]
shl eax, 0xa
add esi, eax
punpcklwd xmm3, xmm3
pshufd xmm4, xmm3, 0
movdqu xmm7, xmmword [esi - 0x12]
movdqa xmm5, xmm7
pcmpgtw xmm5, xmm4
packsswb xmm5, xmm0
pmovmskb edx, xmm5
bsf edx, edx
mov dword [esp + 0x78], edx
movzx eax, word [esi + edx*2 - 0x14]
movzx edi, word [esi + edx*2 - 0x12]
shl edx, 4
sub edi, eax
imul ecx, edi
movdqu xmm6, xmmword [edx + 0x401730]
psubw xmm6, xmm7
sub ecx, eax
psraw xmm6, 6
add ecx, ebp
paddw xmm7, xmm6
movdqu xmmword [esi - 0x12], xmm7
cmp ecx, 0x800000
jb 0x412fbe
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0x80]
movzx esi, byte [esp + edx + 0x4f]
cmp esi, ebp
mov dword [eax], ecx
mov eax, ebp
cmova eax, esi
cmovb ebp, esi
mov dword [esp + 0x74], esi
cmp eax, dword [esp + 0x70]
jbe 0x41272d
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x80]
sub esi, edx
add esi, dword [esp + 0x74]
cmp edx, ebp
mov ebp, eax
cmova ebp, esi
movd xmm1, ebp
xor eax, eax
punpcklwd xmm1, xmm1
mov edi, 2
pshufd xmm2, xmm1, 0
psubw xmm2, xmmword [esp + 0x40]
pmullw xmm2, xmm2
movdqu xmmword [esp + 0x2e], xmm2
movzx edx, word [esp + 0x2e]
movzx esi, word [esp + 0x30]
cmp esi, edx
movzx ebp, word [esp + 0x32]
cmovb edx, esi
setb al
cmp ebp, edx
movzx esi, word [esp + 0x34]
cmovb edx, ebp
cmovb eax, edi
mov ebp, 3
cmp esi, edx
movzx edi, word [esp + 0x36]
cmovb edx, esi
cmovb eax, ebp
mov esi, 4
cmp edi, edx
movzx ebp, word [esp + 0x38]
cmovb edx, edi
cmovb eax, esi
mov edi, 5
cmp ebp, edx
mov esi, dword [esp + 0x68]
cmovb edx, ebp
cmovb eax, edi
shl esi, 6
mov ebp, dword [esp + 0x60]
movzx edi, word [esp + 0x3a]
lea esi, [esi + ebp*8]
add esi, dword [esp + 0x78]
cmp edi, edx
cmovb edx, edi
lea ebp, [esi + esi*8]
lea esi, [ebx + ebp*2]
mov ebp, 6
cmovb eax, ebp
movzx ebp, word [esp + 0x3c]
cmp ebp, edx
mov edx, 7
mov ebp, ecx
cmovb eax, edx
and ebp, 0x7fff
shr ecx, 0xf
movd xmm3, ebp
lea eax, [eax + eax*8]
shl eax, 0xa
add esi, eax
punpcklwd xmm3, xmm3
pshufd xmm4, xmm3, 0
movdqu xmm7, xmmword [esi - 0x12]
movdqa xmm5, xmm7
pcmpgtw xmm5, xmm4
packsswb xmm5, xmm0
pmovmskb edx, xmm5
bsf edx, edx
mov dword [esp + 0x70], edx
movzx eax, word [esi + edx*2 - 0x14]
movzx edi, word [esi + edx*2 - 0x12]
shl edx, 4
sub edi, eax
imul ecx, edi
movdqu xmm6, xmmword [edx + 0x401730]
psubw xmm6, xmm7
sub ecx, eax
psraw xmm6, 6
add ecx, ebp
paddw xmm7, xmm6
movdqu xmmword [esi - 0x12], xmm7
cmp ecx, 0x800000
jb 0x412f83
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0xbc]
movzx ebp, byte [esp + edx + 0x4f]
mov edx, esi
mov dword [esp + 0x38], ebp
movzx ebp, byte [esp + 0x2a]
cmp ebp, esi
mov dword [eax], ecx
cmova edx, ebp
cmovb esi, ebp
movzx eax, byte [esp + 0x2c]
cmp eax, edx
jae 0x41289c
add ebp, dword [esp + 0x84]
sub ebp, eax
cmp eax, esi
mov esi, edx
cmova esi, ebp
movd xmm1, esi
xor eax, eax
punpcklwd xmm1, xmm1
mov esi, 2
pshufd xmm2, xmm1, 0
psubw xmm2, xmmword [esp + 0x40]
pmullw xmm2, xmm2
movdqu xmmword [esp + 0x18], xmm2
movzx edx, word [esp + 0x18]
movzx edi, word [esp + 0x1a]
cmp edi, edx
movzx ebp, word [esp + 0x1c]
cmovb edx, edi
setb al
cmp ebp, edx
movzx edi, word [esp + 0x1e]
cmovb edx, ebp
cmovb eax, esi
mov ebp, 3
cmp edi, edx
movzx esi, word [esp + 0x20]
cmovb edx, edi
cmovb eax, ebp
mov edi, 4
cmp esi, edx
movzx ebp, word [esp + 0x22]
cmovb edx, esi
cmovb eax, edi
mov esi, 5
cmp ebp, edx
mov edi, dword [esp + 0x64]
cmovb edx, ebp
cmovb eax, esi
movzx esi, word [esp + 0x24]
mov ebp, 6
cmp esi, edx
lea edi, [edi + edi*8]
cmovb edx, esi
cmovb eax, ebp
movzx ebp, word [esp + 0x26]
cmp ebp, edx
mov edx, 7
mov ebp, ecx
cmovb eax, edx
and ebp, 0x7fff
shl edi, 4
add edi, ebx
shr ecx, 0xf
movd xmm3, ebp
lea eax, [eax + eax*8]
shl eax, 0xa
add edi, eax
punpcklwd xmm3, xmm3
pshufd xmm4, xmm3, 0
movdqu xmm7, xmmword [edi + 0x1f6e]
movdqa xmm5, xmm7
pcmpgtw xmm5, xmm4
packsswb xmm5, xmm0
pmovmskb edx, xmm5
bsf edx, edx
mov dword [esp + 0x30], edx
movzx eax, word [edi + edx*2 + 0x1f6c]
movzx esi, word [edi + edx*2 + 0x1f6e]
shl edx, 4
sub esi, eax
imul ecx, esi
movdqu xmm6, xmmword [edx + 0x401730]
psubw xmm6, xmm7
sub ecx, eax
psraw xmm6, 6
add ecx, ebp
paddw xmm7, xmm6
movdqu xmmword [edi + 0x1f6e], xmm7
cmp ecx, 0x800000
jb 0x412f48
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x7c]
mov dword [eax], ecx
movzx eax, byte [esp + edx + 0x4f]
cmp eax, ebp
mov edx, ebp
cmova edx, eax
cmovb ebp, eax
cmp edx, dword [esp + 0x84]
jbe 0x412a05
mov edi, dword [esp + 0x7c]
mov esi, dword [esp + 0x84]
sub edi, esi
add edi, eax
cmp esi, ebp
mov ebp, edx
cmova ebp, edi
movd xmm1, ebp
xor eax, eax
punpcklwd xmm1, xmm1
mov edi, 2
pshufd xmm2, xmm1, 0
psubw xmm2, xmmword [esp + 0x40]
pmullw xmm2, xmm2
movdqu xmmword [esp + 0x18], xmm2
movzx edx, word [esp + 0x18]
movzx esi, word [esp + 0x1a]
cmp esi, edx
movzx ebp, word [esp + 0x1c]
cmovb edx, esi
setb al
cmp ebp, edx
movzx esi, word [esp + 0x1e]
cmovb edx, ebp
cmovb eax, edi
mov ebp, 3
cmp esi, edx
movzx edi, word [esp + 0x20]
cmovb edx, esi
cmovb eax, ebp
mov esi, 4
cmp edi, edx
movzx ebp, word [esp + 0x22]
cmovb edx, edi
cmovb eax, esi
mov edi, 5
cmp ebp, edx
mov esi, dword [esp + 0x64]
cmovb edx, ebp
cmovb eax, edi
shl esi, 6
mov ebp, dword [esp + 0x6c]
movzx edi, word [esp + 0x24]
lea esi, [esi + ebp*8]
add esi, dword [esp + 0x30]
cmp edi, edx
cmovb edx, edi
lea ebp, [esi + esi*8]
lea esi, [ebx + ebp*2]
mov ebp, 6
cmovb eax, ebp
movzx ebp, word [esp + 0x26]
cmp ebp, edx
mov edx, 7
mov ebp, ecx
cmovb eax, edx
and ebp, 0x7fff
shr ecx, 0xf
movd xmm3, ebp
lea eax, [eax + eax*8]
shl eax, 0xa
add esi, eax
punpcklwd xmm3, xmm3
pshufd xmm4, xmm3, 0
movdqu xmm7, xmmword [esi - 0x522]
movdqa xmm5, xmm7
pcmpgtw xmm5, xmm4
packsswb xmm5, xmm0
pmovmskb edx, xmm5
bsf edx, edx
mov dword [esp + 0x34], edx
movzx eax, word [esi + edx*2 - 0x524]
movzx edi, word [esi + edx*2 - 0x522]
shl edx, 4
sub edi, eax
imul ecx, edi
movdqu xmm6, xmmword [edx + 0x401730]
psubw xmm6, xmm7
sub ecx, eax
psraw xmm6, 6
add ecx, ebp
paddw xmm7, xmm6
movdqu xmmword [esi - 0x522], xmm7
cmp ecx, 0x800000
jb 0x412f0d
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x74]
mov dword [eax], ecx
movzx eax, byte [esp + edx + 0x4f]
cmp eax, ebp
mov edx, ebp
cmova edx, eax
cmovb ebp, eax
cmp edx, dword [esp + 0x7c]
jbe 0x412b74
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x7c]
sub edi, esi
add edi, eax
cmp esi, ebp
mov ebp, edx
cmova ebp, edi
movd xmm1, ebp
xor eax, eax
punpcklwd xmm1, xmm1
mov edi, 2
pshufd xmm2, xmm1, 0
psubw xmm2, xmmword [esp + 0x40]
pmullw xmm2, xmm2
movdqu xmmword [esp + 0x18], xmm2
movzx edx, word [esp + 0x18]
movzx ebp, word [esp + 0x1a]
cmp ebp, edx
movzx esi, word [esp + 0x1c]
cmovb edx, ebp
setb al
cmp esi, edx
movzx ebp, word [esp + 0x1e]
cmovb edx, esi
cmovb eax, edi
mov esi, 3
cmp ebp, edx
movzx edi, word [esp + 0x20]
cmovb edx, ebp
cmovb eax, esi
mov ebp, 4
cmp edi, edx
movzx esi, word [esp + 0x22]
cmovb edx, edi
cmovb eax, ebp
mov edi, 5
cmp esi, edx
mov ebp, dword [esp + 0x6c]
cmovb edx, esi
cmovb eax, edi
shl ebp, 6
mov esi, dword [esp + 0x78]
movzx edi, word [esp + 0x24]
lea ebp, [ebp + esi*8]
add ebp, dword [esp + 0x34]
cmp edi, edx
cmovb edx, edi
lea esi, [ebp + ebp*8]
lea ebp, [ebx + esi*2]
mov esi, 6
cmovb eax, esi
movzx esi, word [esp + 0x26]
cmp esi, edx
mov edx, 7
mov esi, ecx
cmovb eax, edx
and esi, 0x7fff
shr ecx, 0xf
movd xmm3, esi
lea eax, [eax + eax*8]
shl eax, 0xa
add ebp, eax
punpcklwd xmm3, xmm3
pshufd xmm4, xmm3, 0
movdqu xmm7, xmmword [ebp - 0x522]
movdqa xmm5, xmm7
pcmpgtw xmm5, xmm4
packsswb xmm5, xmm0
pmovmskb edx, xmm5
bsf eax, edx
movzx edx, word [ebp + eax*2 - 0x524]
movzx edi, word [ebp + eax*2 - 0x522]
sub edi, edx
imul ecx, edi
sub ecx, edx
add ecx, esi
mov esi, eax
shl esi, 4
movdqu xmm6, xmmword [esi + 0x401730]
psubw xmm6, xmm7
psraw xmm6, 6
paddw xmm7, xmm6
movdqu xmmword [ebp - 0x522], xmm7
cmp ecx, 0x800000
jb 0x412ed1
mov ebp, dword [esp + 0xbc]
movzx esi, byte [esp + eax + 0x4f]
mov edx, dword [esp + 0x38]
cmp esi, edx
mov dword [ebp], ecx
mov ebp, edx
cmova ebp, esi
cmovb edx, esi
cmp ebp, dword [esp + 0x74]
jbe 0x412ce8
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x38]
sub edi, ecx
add edi, esi
cmp ecx, edx
mov edx, ebp
mov ecx, dword [esp + 0x18]
cmova edx, edi
movd xmm1, edx
xor edx, edx
punpcklwd xmm1, xmm1
pshufd xmm2, xmm1, 0
psubw xmm2, xmmword [esp + 0x40]
pmullw xmm2, xmm2
movdqu xmmword [esp + 0x18], xmm2
movzx ebp, word [esp + 0x18]
movzx edi, word [esp + 0x1a]
cmp edi, ebp
movzx esi, word [esp + 0x1c]
cmovb ebp, edi
setb dl
mov edi, 2
cmp esi, ebp
cmovb ebp, esi
cmovb edx, edi
movzx esi, word [esp + 0x1e]
mov edi, 3
cmp esi, ebp
cmovb ebp, esi
cmovb edx, edi
movzx esi, word [esp + 0x20]
mov edi, 4
cmp esi, ebp
cmovb ebp, esi
cmovb edx, edi
movzx esi, word [esp + 0x22]
mov edi, 5
cmp esi, ebp
cmovb ebp, esi
cmovb edx, edi
mov esi, dword [esp + 0x78]
shl esi, 6
mov edi, dword [esp + 0x70]
lea esi, [esi + edi*8]
add esi, eax
lea edi, [esi + esi*8]
movzx esi, word [esp + 0x24]
cmp esi, ebp
lea ebx, [ebx + edi*2]
mov edi, 6
cmovb ebp, esi
cmovb edx, edi
movzx edi, word [esp + 0x26]
cmp edi, ebp
mov ebp, 7
cmovb edx, ebp
lea edx, [edx + edx*8]
shl edx, 0xa
add ebx, edx
mov edx, ecx
and edx, 0x7fff
shr ecx, 0xf
movdqu xmm6, xmmword [ebx - 0x522]
movd xmm3, edx
movdqa xmm5, xmm6
punpcklwd xmm3, xmm3
pshufd xmm4, xmm3, 0
pcmpgtw xmm5, xmm4
packsswb xmm5, xmm0
pmovmskb esi, xmm5
bsf ebp, esi
mov dword [esp + 0x28], ebp
lea esi, [ebp - 1]
shl esi, 4
movzx edi, word [ebx + ebp*2 - 0x524]
movzx ebp, word [ebx + ebp*2 - 0x522]
sub ebp, edi
imul ecx, ebp
movdqu xmm0, xmmword [esi + 0x401740]
psubw xmm0, xmm6
sub ecx, edi
psraw xmm0, 6
add ecx, edx
paddw xmm6, xmm0
movdqu xmmword [ebx - 0x522], xmm6
mov edx, dword [esp + 0x28]
cmp ecx, 0x800000
jb 0x412e95
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x78]
mov dword [ebx], ecx
mov ecx, dword [esp + 0x64]
dec ecx
shrd ecx, ecx, 3
mov ebx, dword [esp + 0x70]
lea esi, [ecx + ebp - 1]
shrd esi, esi, 3
lea ecx, [esi + edi - 1]
mov esi, dword [esp + 0x30]
shrd ecx, ecx, 3
mov edi, dword [esp + 0x34]
lea ebp, [ecx + ebx - 1]
shrd ebp, ebp, 3
lea ecx, [ebp + esi - 1]
shrd ecx, ecx, 3
lea ebx, [ecx + edi - 1]
shrd ebx, ebx, 3
lea eax, [ebx + eax - 1]
shrd eax, eax, 3
lea edx, [eax + edx - 1]
mov eax, dword [esp + 0xc4]
shrd edx, edx, 3
shr edx, 8
mov dword [eax + 0xc], edx
add esp, 0x9c
pop ebp
pop ebx
pop edi
pop esi
ret
mov ebx, dword [esp + 0xc0]
shl ecx, 8
mov ebx, dword [ebx]
movzx ebp, byte [ebx]
or ecx, ebp
inc ebx
cmp ecx, 0x800000
jb 0x412ebe
mov ebp, dword [esp + 0xc0]
mov dword [ebp], ebx
jmp 0x412e1f
shl ecx, 8
movzx ebp, byte [ebx]
or ecx, ebp
inc ebx
cmp ecx, 0x800000
jb 0x412ebe
jmp 0x412eaf
mov edx, dword [esp + 0xc0]
shl ecx, 8
mov edx, dword [edx]
movzx ebp, byte [edx]
or ecx, ebp
inc edx
cmp ecx, 0x800000
jb 0x412efa
mov ebp, dword [esp + 0xc0]
mov dword [ebp], edx
jmp 0x412caa
shl ecx, 8
movzx ebp, byte [edx]
or ecx, ebp
inc edx
cmp ecx, 0x800000
jb 0x412efa
jmp 0x412eeb
mov eax, dword [esp + 0xc0]
shl ecx, 8
mov eax, dword [eax]
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412f35
mov edx, dword [esp + 0xc0]
mov dword [edx], eax
jmp 0x412b3b
shl ecx, 8
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412f35
jmp 0x412f27
mov eax, dword [esp + 0xc0]
shl ecx, 8
mov eax, dword [eax]
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412f70
mov edx, dword [esp + 0xc0]
mov dword [edx], eax
jmp 0x4129c6
shl ecx, 8
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412f70
jmp 0x412f62
mov eax, dword [esp + 0xc0]
shl ecx, 8
mov eax, dword [eax]
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412fab
mov edx, dword [esp + 0xc0]
mov dword [edx], eax
jmp 0x412857
shl ecx, 8
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412fab
jmp 0x412f9d
mov eax, dword [esp + 0xc0]
shl ecx, 8
mov eax, dword [eax]
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412fe6
mov edx, dword [esp + 0xc0]
mov dword [edx], eax
jmp 0x4126e8
shl ecx, 8
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x412fe6
jmp 0x412fd8
mov eax, dword [esp + 0xc0]
shl ecx, 8
mov eax, dword [eax]
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x413021
mov edx, dword [esp + 0xc0]
mov dword [edx], eax
jmp 0x41257f
shl ecx, 8
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x413021
jmp 0x413013
mov eax, dword [esp + 0xc0]
shl ecx, 8
mov eax, dword [eax]
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x41305c
mov edx, dword [esp + 0xc0]
mov dword [edx], eax
jmp 0x412410
shl ecx, 8
movzx edx, byte [eax]
or ecx, edx
inc eax
cmp ecx, 0x800000
jb 0x41305c
jmp 0x41304e
xor edx, edx
jmp 0x4119b1
mov ebp, dword [esp + 0xc4]
lea ecx, [esp + 0x10]
movzx eax, word [ebp + 0x1c]
movzx edx, word [ebp + 0x1e]
call fcn.00421030
mov edx, dword [esp + 0xc4]
mov ebp, dword [edx + 0x24]
mov edi, ebp
shr edi, 0xf
mov ecx, ebp
mov esi, ebp
and edi, 7
shr ecx, 0x12
shr ebp, 0x15
and ecx, 7
shr esi, 0xc
and ebp, 7
and esi, 7
movzx eax, byte [esp + edi + 0x10]
lea edi, [esp + 0x20]
mov byte [edi], al
mov byte [edi - 4], al
movzx eax, byte [esp + ecx + 0x10]
movzx ecx, byte [esp + ebp + 0x10]
movzx edx, byte [esp + esi + 0x10]
mov byte [edi + 2], cl
lea ecx, [esp + 0x1d]
mov byte [ecx], dl
mov byte [ecx - 4], dl
mov byte [ecx + 6], al
mov byte [ecx + 2], al
movzx ecx, byte [ecx - 3]
movzx ebp, byte [edi - 8]
jmp 0x411a65