Function at 0x10054300
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x580
cmp dword [edx + 8], 0
call 0x10054318
pop eax
mov dword [esp + 0x3c], ecx
mov ecx, 0
mov dword [esp + 8], 0
mov dword [esp + 0x18], eax
mov eax, 6
jne 0x10054342
lea eax, [edx + 8]
lea ecx, [edx + 0xc]
mov dword [edx + 8], 0xffffffff
mov dword [esp + 0x90], ecx
mov dword [esp + 0x48], edx
lea ebx, [0x3e1d22e]
lea edx, [0x3e1d22f]
mov ecx, 0xfffffff9
xor esi, esi
mov dword [esp + 0x44], eax
nop word cs:[eax + eax]
nop
movzx eax, byte [ebx]
mov ebx, edx
mov edx, eax
add dl, 0xd0
cmp dl, 0xa
jb 0x10054393
or al, 0x20
mov edx, eax
add dl, 0x9f
cmp dl, 6
jae 0x100555bb
add al, 0xa9
mov edx, eax
mov eax, esi
movzx edi, dl
lea edx, [ebx + 1]
shl eax, 4
or edi, eax
test ecx, ecx
cmove edx, ebx
je 0x100543b4
shld dword [esp + 8], esi, 4
inc ecx
test ebx, ebx
mov esi, edi
jne 0x10054370
mov ebx, dword [esp + 0x90]
test ebx, ebx
je 0x10054404
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
lea esi, [eax + 0x68]
push esi
push 2
push 0
push 0
push dword [ebx]
push dword [eax + 8]
call dword [ecx + 0x2cc]
add esp, 0x18
add eax, 4
cmp eax, 4
ja 0x100544b5
mov ecx, dword [esp + 0x18]
add ecx, dword [eax*4 + 0x3e15260]
jmp ecx
movzx eax, byte [esp + 0x44]
mov edx, 7
xor edi, 0x20
shl eax, 2
mov ecx, dword [eax + 0x3e17b6c]
mov ebx, dword [eax + 0x3e17b9c]
mov dword [esp + 8], ecx
mov ecx, 0x3e17b64
call fcn.1001cfa0
mov edx, dword [esp + 8]
mov ecx, ebx
mov esi, eax
call fcn.1001cfa0
mov edx, dword [esp + 0x3c]
test eax, eax
mov ecx, 1
cmove eax, ecx
test esi, esi
cmove esi, ecx
mov dword [edx], esi
mov dword [edx + 4], eax
mov dword [edx + 8], edi
mov dword [edx + 0xc], 0
mov dword [edx + 0x144], 2
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 8]
cmp dword [edx], 0
jne 0x100552b1
jmp 0x10055293
mov al, 4
mov dword [esp + 0xc], 0
mov byte [ebx + 8], al
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
xor esi, esi
lea edx, [0x3e1d22e]
lea eax, [0x3e1d22f]
mov edi, 0xfffffff9
mov dword [esp + 8], 0
nop dword [eax]
movzx ebx, byte [edx]
mov edx, eax
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x10054511
or bl, 0x20
mov eax, ebx
add al, 0x9f
cmp al, 6
jae 0x100555bb
add bl, 0xa9
mov eax, ebx
mov ecx, esi
movzx ebx, al
lea eax, [edx + 1]
shl ecx, 4
or ebx, ecx
test edi, edi
cmove eax, edx
je 0x10054532
shld dword [esp + 8], esi, 4
inc edi
test edx, edx
mov esi, ebx
jne 0x100544f0
cmp byte [esp + 0x18], 0
je 0x100546b5
neg dword [esp + 0x1c]
mov eax, 0
lea ecx, [esp + 0xe0]
mov edx, 0x200
mov dword [esp + 0xe0], 1
mov dword [esp + 0xe8], 0
mov dword [esp + 0x574], 0
mov dword [esp + 0xec], 0
sbb eax, eax
mov dword [esp + 0xc], eax
lea eax, [esp + 0x374]
mov dword [esp + 0xe4], eax
call fcn.1002d920
mov edi, dword [esp + 0xe0]
mov ebx, dword [esp + 0xe4]
cmp al, 8
jne 0x10054704
movq xmm0, qword [esp + 0xe8]
mov eax, dword [esp + 0x38]
mov ecx, ebx
test edi, edi
je 0x1005480c
or dword [esp + 0xc], eax
movzx eax, cl
and ebx, 0xffffff00
lea edx, [0x3e1d22e]
lea esi, [0x3e1d22f]
mov ecx, 0xfffffff9
or eax, ebx
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005460e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100555bb
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x1005461d
inc ecx
test edx, edx
jne 0x100545f0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], eax
movq qword [esp + 0x110], xmm0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x124], 0
lea esi, [esp + 0x4c]
mov word [esp + 0x4c], 0
mov dword [esp + 0x120], edx
mov dword [esp + 0x128], ecx
lea ecx, [esp + 0x160]
lea edx, [esp + 0x108]
push 2
push esi
push 0
call fcn.10018350
add esp, 0xc
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x10054795
mov eax, dword [esp + 0x164]
jne 0x100547a3
jmp 0x10054acd
mov eax, dword [esp + 0xc]
mov edx, 7
xor ebx, 0x23
mov ecx, dword [eax*4 + 0x3e17b6c]
mov edi, dword [eax*4 + 0x3e17b9c]
mov dword [esp + 8], ecx
mov ecx, 0x3e17b64
call fcn.1001cfa0
mov edx, dword [esp + 8]
mov ecx, edi
mov esi, eax
call fcn.1001cfa0
test esi, esi
mov ecx, 1
cmove esi, ecx
test eax, eax
cmove eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [ecx], esi
jmp 0x100548c4
mov edx, 1
mov byte [esp + 8], al
mov ecx, 1
push dword [esp + 0xec]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x100547f9
mov esi, dword [ebx + 0x200]
mov ecx, dword [ebx + 0x204]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
test esi, esi
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ecx
je 0x10055ce0
cmp esi, eax
jne 0x10055ce0
cmp ecx, edx
jne 0x10055ce0
mov eax, dword [esp + 0x38]
cmp ebx, edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x108], ebx
jne 0x10055d98
mov dword [edi + 0x200], 0
xor edi, edi
movzx ecx, byte [esp + 8]
test edi, edi
jne 0x100545c4
jmp 0x1005480c
movzx eax, byte [esp + 0x164]
je 0x10054acd
cmp eax, 2
jne 0x100547f0
movzx eax, word [ecx]
cmp eax, 0x5a4d
jne 0x100547f0
lea ecx, [esp + 0x160]
mov dword [esp + 0x4c], 0
lea edx, [esp + 0x108]
push 4
push esi
push 0x3c
call fcn.10018350
add esp, 0xc
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x100548e0
mov eax, dword [esp + 0x164]
jmp 0x100548e8
xor ecx, ecx
xor eax, eax
jmp 0x10054acf
mov eax, dword [esp + 0x38]
xor edi, edi
movzx ecx, byte [esp + 8]
test edi, edi
jne 0x100545c4
mov byte [esp + 8], cl
xor ecx, ecx
lea edx, [0x3e1d22e]
lea edi, [0x3e1d22f]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10054855
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100555bb
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10054874
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10054830
movzx eax, byte [esp + 8]
mov edx, 0xa
xor ebx, 0x27
mov ecx, dword [eax*4 + 0x3e178f4]
mov esi, dword [eax*4 + 0x3e17914]
mov dword [esp + 8], ecx
mov ecx, 0x3e1aa8c
call fcn.1001cfa0
mov edx, dword [esp + 8]
mov ecx, esi
mov edi, eax
test eax, eax
mov eax, 1
cmove edi, eax
call fcn.1001cfa0
test eax, eax
mov ecx, 1
cmove eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [ecx], edi
mov dword [ecx + 4], eax
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x144], 2
jmp 0x10055281
movzx eax, byte [esp + 0x164]
je 0x10054acd
cmp eax, 4
jne 0x1005490d
mov ebx, dword [ecx]
lea eax, [ebx - 4]
cmp eax, 0x7ffffff9
jae 0x10054916
test bl, 3
je 0x1005491f
mov al, 3
xor ecx, ecx
jmp 0x10054acf
mov al, 1
xor ecx, ecx
jmp 0x10054acf
mov al, 4
xor ecx, ecx
jmp 0x10054acf
lea edi, [esp + 0x160]
mov dword [esp + 0x4c], 0
lea edx, [esp + 0x108]
mov ecx, edi
push 4
push esi
push ebx
call fcn.10018350
add esp, 0xc
mov eax, dword [esp + 0x160]
test eax, eax
je 0x10054ac5
cmp dword [esp + 0x164], 4
jne 0x10054abf
cmp dword [eax], 0x4550
jne 0x10054abf
lea eax, [ebx + 4]
pxor xmm0, xmm0
mov dword [esp + 0x170], 0
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x108]
movdqa xmmword [esp + 0x160], xmm0
push 0x14
push edi
push eax
call fcn.10018350
add esp, 0xc
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x100555a1
cmp dword [esp + 0x50], 0x14
jne 0x100555aa
movss xmm1, dword [eax + 0x10]
movd xmm0, dword [eax]
movq xmm2, qword [eax + 4]
mov ecx, dword [eax + 0xc]
lea eax, [ebx + 0x18]
mov dword [esp + 0x13c], ebx
lea edx, [esp + 0x108]
movaps xmmword [esp + 0x340], xmm1
xorps xmm1, xmm1
mov dword [esp + 0x138], ecx
movdqa xmmword [esp + 0x330], xmm0
movdqa xmmword [esp + 0x350], xmm2
lea ecx, [esp + 0x4c]
movaps xmmword [esp + 0x240], xmm1
movaps xmmword [esp + 0x230], xmm1
movaps xmmword [esp + 0x220], xmm1
movaps xmmword [esp + 0x210], xmm1
movaps xmmword [esp + 0x200], xmm1
movaps xmmword [esp + 0x1f0], xmm1
movaps xmmword [esp + 0x1e0], xmm1
movaps xmmword [esp + 0x1d0], xmm1
movaps xmmword [esp + 0x1c0], xmm1
movaps xmmword [esp + 0x1b0], xmm1
movaps xmmword [esp + 0x1a0], xmm1
movaps xmmword [esp + 0x190], xmm1
movaps xmmword [esp + 0x180], xmm1
movaps xmmword [esp + 0x170], xmm1
movaps xmmword [esp + 0x160], xmm1
push 0xf0
push edi
mov dword [esp + 0x10], eax
push eax
call fcn.10018350
add esp, 0xc
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x100556da
cmp dword [esp + 0x50], 0xf0
jne 0x100555d4
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 3]
movups xmm0, xmmword [eax + 4]
mov edi, eax
mov byte [esp + 0x12], cl
mov byte [esp + 0x13], dl
jmp 0x1005561c
mov al, 2
xor ecx, ecx
jmp 0x10054acf
movzx eax, byte [esp + 0x164]
mov cl, 2
mov byte [esp + 0x20], cl
mov byte [esp + 0x21], al
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], 0
xor esi, esi
lea edx, [0x3e1d22e]
lea ebx, [0x3e1d22f]
mov eax, 0xfffffff9
mov dword [esp + 8], 0
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10054b25
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100555bb
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10054b46
shld dword [esp + 8], esi, 4
inc eax
test edx, edx
mov esi, edi
jne 0x10054b00
cmp dword [esp + 0x14], 0
je 0x10054be8
movzx eax, byte [esp + 0x86]
mov edx, dword [esp + 0x40]
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov byte [esp + 0x82], al
movzx eax, word [esp + 0x84]
mov ecx, edx
shr ecx, 1
and ecx, 0x55555555
mov word [esp + 0x80], ax
mov eax, edx
sub eax, ecx
mov ecx, eax
shr eax, 2
and ecx, 0x33333333
and eax, 0x33333333
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul eax, ecx, 0x1010101
shr eax, 0x18
cmp eax, 1
setne al
je 0x10054bba
mov edx, dword [edi + 4]
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0xc]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0xa4]
mov bl, al
add ebx, ebx
test ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0xc], esi
je 0x10054c54
mov dword [esp + 8], ebx
jmp 0x10054c7d
movzx eax, byte [esp + 0x20]
mov ecx, 0x3e1aa9f
mov edx, 0xa
xor edi, 0x2b
mov ebx, dword [eax*4 + 0x3e1aaac]
mov eax, dword [eax*4 + 0x3e1aab8]
mov dword [esp + 8], eax
call fcn.1001cfa0
mov edx, dword [esp + 8]
mov ecx, ebx
mov esi, eax
test eax, eax
mov eax, 1
cmove esi, eax
call fcn.1001cfa0
mov edx, dword [esp + 0x3c]
test eax, eax
mov ecx, 1
cmove eax, ecx
mov dword [edx], esi
mov dword [edx + 4], eax
mov dword [edx + 8], edi
mov dword [edx + 0xc], 0
mov dword [edx + 0x144], 2
jmp 0x10055275
lea eax, [edx - 1]
test edx, eax
sete al
test edx, edx
setne cl
test cl, al
je 0x10054c6f
mov dword [esp + 8], ebx
mov dword [esp + 0x30], edx
jmp 0x10054c7d
mov eax, dword [edi + 8]
or ebx, 4
mov dword [esp + 8], ebx
mov dword [esp + 0x30], eax
pshufd xmm0, xmmword [esp + 0x250], 0x55
mov ebx, dword [esp + 0xa8]
mov edi, 0x80000000
movd edx, xmm0
mov esi, ebx
lea ecx, [ebx - 1]
cmp edx, 0x80000000
cmovb edi, edx
neg esi
mov eax, edi
and eax, esi
and edi, ecx
cmovne edi, ebx
add edi, eax
jb 0x10055d4d
xor eax, eax
cmp edi, edx
mov edx, edi
mov dword [esp + 0xdc], esi
mov dword [esp + 0x144], ecx
setb byte [esp + 0x90]
and edx, esi
and edi, ecx
cmovne edi, ebx
add edi, edx
jb 0x10055d66
mov ecx, dword [ebp + 0x10]
mov edx, edi
mov esi, dword [ecx]
mov ecx, esi
lea ebx, [esi - 1]
neg ecx
mov dword [esp + 0x148], ebx
and edx, ecx
and edi, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14c], ecx
cmovne edi, esi
add edi, edx
jb 0x10055d7f
movzx ecx, byte [esp + 0x90]
movq xmm0, qword [esp + 0x20]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x4c], 4
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0xd4], edi
mov al, cl
lea ecx, [esp + 0x4c]
movdqa xmmword [esp + 0x360], xmm0
or dword [esp + 8], eax
cmp dword [esp + 0x40], esi
mov esi, dword [esp + 0xd0]
jb 0x10055036
mov edx, esi
call fcn.1002ca20
cmp al, 8
jne 0x10055120
test esi, esi
je 0x100550d2
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0
mov ecx, eax
dec eax
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x14]
neg ecx
mov dword [esp + 0xd8], ecx
lea ecx, [eax + 8]
lea eax, [esi*8]
mov esi, dword [esp + 8]
lea eax, [eax + eax*4]
mov edi, esi
nop
mov ebx, dword [ecx + 4]
mov edx, dword [esp + 0xd4]
or edi, 0x40
mov dword [esp + 0x15c], eax
and ebx, dword [esp + 0xdc]
cmp ebx, edx
mov dword [esp + 0x18], ebx
cmovbe edi, esi
xor eax, eax
cmp ebx, dword [esp + 0x34]
mov esi, 0xff
setne al
cmovb eax, esi
test al, al
je 0x10054e08
movzx eax, al
cmp eax, 1
jne 0x10055020
or edi, 8
mov dword [esp + 8], ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10054e19
mov eax, dword [esp + 8]
mov ecx, dword [eax + 8]
mov eax, edx
mov edx, 0
sub eax, dword [esp + 0x18]
cmovb eax, edx
cmp ecx, eax
jbe 0x10054e40
or edi, 0x40
xor edx, edx
xor ecx, ecx
jmp 0x10054e82
mov edx, dword [esp + 0x148]
mov eax, ecx
and eax, dword [esp + 0x14c]
and edx, ecx
cmovne edx, dword [esp + 0x8c]
add edx, eax
jb 0x10055cae
mov eax, ecx
and eax, dword [esp + 0xdc]
and ecx, dword [esp + 0x144]
cmovne ecx, dword [esp + 0xa8]
add ecx, eax
jb 0x10055cc7
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x10054e96
xor eax, eax
cmp dword [esp + 0x1c], 0
jne 0x10054e9d
mov eax, dword [esp + 8]
mov eax, dword [eax + 8]
mov esi, dword [esp + 0x38]
add eax, ebx
cmovae esi, eax
mov dword [esp + 0x38], esi
jb 0x10054ed9
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x140]
mov eax, ebx
and eax, dword [esp + 0xd8]
and esi, ebx
mov ebx, dword [esp + 0x90]
cmovne esi, dword [esp + 0x30]
add esi, eax
jae 0x10054ee1
or edi, 0x100
xor esi, esi
and ebx, dword [esp + 0xd8]
mov dword [esp + 0x158], edx
and al, 0xd8
add byte [eax], al
add byte [ecx + 0x1582494], cl
add byte [eax], al
mov eax, dword [esp + 0x1c]
sub esi, ebx
mov dword [esp + 0x90], ebx
cmp esi, edx
cmovae esi, edx
mov edx, dword [esp + 0xc]
cmp ebx, edx
jae 0x10054f20
sub edx, dword [esp + 0x90]
cmp edx, esi
cmovae edx, esi
jmp 0x10054f28
or edi, 0x100
xor edx, edx
cmp eax, 0x10000
mov dword [esp + 0x154], ecx
mov dword [esp + 0x34], edi
je 0x10055c88
mov edi, esi
mov ebx, eax
xor eax, eax
mov ecx, dword [esp + 0x34]
sub edi, edx
cmp edi, dword [esp + 0x30]
mov edi, 0
setae al
shl eax, 7
sub eax, 0xffffff80
cmp esi, edx
cmove eax, edi
mov edi, dword [esp + 0x158]
or ecx, eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edi
mov edi, ecx
mov ecx, dword [esp + 0x154]
add eax, ecx
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], ecx
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x160]
mov word [esp + 0x17c], bx
mov word [esp + 0x17e], bx
call fcn.1002db90
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x8c]
inc ebx
mov esi, edi
mov dword [esp + 0x1c], ebx
add ecx, 0x28
add eax, 0xffffffd8
jne 0x10054dc0
jmp 0x100550dd
or edi, 0x10
mov dword [esp + 8], ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10054e19
jmp 0x10054e12
mov edx, 1
call fcn.1002ca20
cmp al, 8
jne 0x10055120
lea eax, [esi - 1]
mov ecx, eax
shl ecx, 0x10
or ecx, 0x100
cmp eax, 0x10000
mov eax, 0x101
cmovb eax, ecx
test al, al
jne 0x10055e05
cmp edi, ebx
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x160]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], edi
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], edi
cmovb ebx, edi
shr eax, 0x10
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], 0xe0000000
mov word [esp + 0x17c], 0
mov word [esp + 0x17e], ax
call fcn.1002db90
mov edi, dword [esp + 8]
mov edx, dword [esp + 0x8c]
cmp dword [esp + 0x40], edx
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], edi
mov dword [esp + 0xe0], edx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
setae byte [esp + 0x90]
mov dword [esp + 0x18], eax
mov dword [esp + 0xe4], edx
mov dword [esp + 0xc], ecx
jmp 0x10055160
mov edx, 4
mov byte [esp + 0xe0], al
mov ecx, 0x20
push dword [esp + 0x54]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10055158
mov ecx, dword [0x3e1e000]
push edx
push eax
push dword [esp + 0x54]
push 0x3e1d260
call dword [ecx + 0x10]
add esp, 0x10
mov byte [esp + 0x90], 2
xor eax, eax
lea ecx, [0x3e1d22e]
lea ebx, [0x3e1d22f]
mov edi, 0xfffffff9
mov dword [esp + 8], 0
nop dword [eax + eax]
movzx edx, byte [ecx]
mov ecx, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x100551a5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100555bb
add dl, 0xa9
mov dh, dl
mov ebx, eax
movzx esi, dh
shl ebx, 4
or esi, ebx
lea ebx, [ecx + 1]
test edi, edi
cmove ebx, ecx
je 0x100551c6
shld dword [esp + 8], eax, 4
inc edi
test ecx, ecx
mov eax, esi
jne 0x10055180
movzx edx, byte [esp + 0x90]
cmp dl, 2
jne 0x1005530f
movzx eax, byte [esp + 0xe0]
mov edx, 0xa
xor esi, 0x2d
mov ecx, dword [eax*4 + 0x3e178f4]
mov edi, dword [eax*4 + 0x3e17914]
mov dword [esp + 8], ecx
mov ecx, 0x3e1aa8c
call fcn.1001cfa0
mov edx, dword [esp + 8]
mov ecx, edi
mov ebx, eax
test eax, eax
mov eax, 1
cmove ebx, eax
call fcn.1001cfa0
test eax, eax
mov ecx, 1
mov edx, 4
cmove eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x144], 2
mov ecx, 0x28
push dword [esp + 0xcc]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10055275
mov ecx, dword [0x3e1e000]
push edx
push eax
push dword [esp + 0x1c]
push 0x3e1d260
call dword [ecx + 0x10]
add esp, 0x10
lea ecx, [esp + 0x108]
call fcn.1002e030
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 8]
inc dword [eax]
cmp dword [edx], 0
jne 0x100552b1
mov eax, dword [edx + 8]
test eax, eax
je 0x100552b1
mov ecx, dword [0x3e1e000]
push 1
push eax
push dword [edx + 4]
push 0x3e1d260
call dword [ecx + 0x10]
add esp, 0x10
dec dword [esi]
je 0x100552bd
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 4]
lea ecx, [eax + 1]
mov dword [esi + 4], ecx
cmp byte [esi + 0x15], 0
je 0x100552ef
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push dword [esi + 0xc]
push dword [eax + 8]
call dword [ecx + 0x2d8]
add esp, 8
mov eax, dword [esi + 4]
mov ecx, dword [esi]
dec eax
or ecx, eax
mov dword [esi + 4], eax
jne 0x100552b5
jmp 0x100552f8
xor ecx, ecx
or ecx, eax
mov dword [esi + 4], eax
jne 0x100552b5
mov eax, dword [0x3e1e000]
push 4
push 0x18
push esi
push 0x3e1d260
call dword [eax + 0x10]
add esp, 0x10
jmp 0x100552b5
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
movq xmm0, qword [esp + 0xe0]
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x138]
mov dword [ecx + 0x130], eax
mov eax, dword [esp + 0xd4]
mov dword [ecx + 0x134], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x138], eax
mov eax, dword [esp + 0x44]
inc dword [eax]
mov eax, dword [ebp + 8]
movzx ebx, byte [esp + 0x82]
movsd xmm1, qword [eax]
mov eax, dword [eax + 8]
movsd qword [ecx + 0x144], xmm1
mov dword [ecx + 0x14c], eax
movaps xmm1, xmmword [esp + 0x360]
mov eax, dword [esp + 0xac]
movlps qword [ecx], xmm1
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xb0]
movaps xmm1, xmmword [esp + 0x2e0]
mov dword [ecx + 0xc], eax
movups xmmword [ecx + 0x10], xmm1
movaps xmm1, xmmword [esp + 0x2d0]
mov eax, dword [esp + 0xb4]
movups xmmword [ecx + 0x20], xmm1
movaps xmm1, xmmword [esp + 0x2c0]
movups xmmword [ecx + 0x30], xmm1
movaps xmm1, xmmword [esp + 0x2b0]
movups xmmword [ecx + 0x40], xmm1
movaps xmm1, xmmword [esp + 0x2a0]
movups xmmword [ecx + 0x50], xmm1
movaps xmm1, xmmword [esp + 0x290]
movups xmmword [ecx + 0x60], xmm1
mov dword [ecx + 0x70], eax
movaps xmm1, xmmword [esp + 0x280]
mov eax, dword [esp + 0xb8]
movlps qword [ecx + 0x74], xmm1
mov dword [ecx + 0x7c], eax
mov eax, dword [esp + 0xc4]
movaps xmm1, xmmword [esp + 0x270]
mov dword [ecx + 0x84], eax
mov eax, dword [esp + 0xc8]
mov dword [ecx + 0x80], eax
movups xmmword [ecx + 0x88], xmm1
movaps xmm1, xmmword [esp + 0x260]
mov eax, dword [esp + 0x134]
movups xmmword [ecx + 0x98], xmm1
movaps xmm1, xmmword [esp + 0x2f0]
movups xmmword [ecx + 0xa8], xmm1
mov dword [ecx + 0xb8], eax
mov eax, dword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0x250]
mov dword [ecx + 0xbc], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xc0], eax
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0xc4], eax
mov eax, dword [esp + 0xc0]
movups xmmword [ecx + 0xc8], xmm1
movaps xmm1, xmmword [esp + 0x320]
mov dword [ecx + 0xd8], eax
mov eax, dword [esp + 0xbc]
mov dword [ecx + 0xdc], eax
mov eax, dword [esp + 0x2c]
mov word [ecx + 0xe0], ax
movlps qword [ecx + 0xe2], xmm1
movaps xmm1, xmmword [esp + 0x310]
movzx eax, byte [esp + 0x12]
movss dword [ecx + 0xea], xmm1
movaps xmm1, xmmword [esp + 0x300]
movss dword [ecx + 0xee], xmm1
mov byte [ecx + 0xf2], al
movzx eax, byte [esp + 0x13]
movaps xmm1, xmmword [esp + 0x350]
mov byte [ecx + 0xf3], al
movzx eax, word [esp + 0x80]
mov byte [ecx + 0xf4], 0
mov byte [ecx + 0xf7], bl
mov word [ecx + 0xf5], ax
mov dword [ecx + 0xf8], esi
movlps qword [ecx + 0xfc], xmm1
movaps xmm1, xmmword [esp + 0x330]
mov dword [ecx + 0x104], edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xd0]
movss dword [ecx + 0x108], xmm1
movaps xmm1, xmmword [esp + 0x340]
movss dword [ecx + 0x10c], xmm1
mov dword [ecx + 0x110], esi
mov esi, dword [esp + 0xcc]
mov dword [ecx + 0x114], edi
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x118], esi
mov esi, dword [esp + 0x1c]
movq qword [ecx + 0x120], xmm0
mov dword [ecx + 0x128], edi
mov dword [ecx + 0x12c], esi
mov byte [ecx + 0x13c], dl
mov edx, dword [esp + 0x48]
mov dword [ecx + 0x140], edx
lea ecx, [esp + 0x108]
call fcn.1002e030
jmp 0x100552b5
movzx eax, byte [esp + 0x50]
mov cl, 2
jmp 0x100555ae
mov al, 5
xor ecx, ecx
mov byte [esp + 0x20], cl
mov byte [esp + 0x21], al
jmp 0x10054ad7
mov ecx, 0x3e1beb4
mov edx, 0xe
push 0x3e17700
call fcn.100194a0
add esp, 4
ud2
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x108]
push 0xf0
push edi
push dword [esp + 0x10]
call fcn.10018930
add esp, 0xc
cmp dword [esp + 0x4c], 0
je 0x100556da
movzx eax, byte [esp + 0x162]
movzx ecx, byte [esp + 0x163]
movups xmm0, xmmword [esp + 0x164]
mov byte [esp + 0x12], al
mov byte [esp + 0x13], cl
movaps xmmword [esp + 0x2f0], xmm0
movzx eax, word [edi]
mov ecx, edi
mov ecx, dword [edi + 0x14]
cmp eax, 0x10b
mov dword [esp + 0x134], ecx
mov dword [esp + 0x2c], eax
mov ecx, edi
jne 0x100556ed
mov eax, dword [edi + 0x18]
movss xmm2, dword [edi + 0x30]
movups xmm1, xmmword [edi + 0x34]
movd xmm3, dword [edi + 0x44]
movsd xmm0, qword [edi + 0x28]
mov dword [esp + 0xc4], 0
mov esi, 0x58
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0x1c]
movaps xmmword [esp + 0x310], xmm2
movaps xmmword [esp + 0x250], xmm1
movq xmm1, qword [edi + 0x48]
movq xmm2, qword [edi + 0x50]
movdqa xmmword [esp + 0x300], xmm3
pxor xmm3, xmm3
movaps xmmword [esp + 0x320], xmm0
mov dword [esp + 0xc8], eax
mov eax, dword [edi + 0x20]
punpckldq xmm1, xmm3
punpckldq xmm2, xmm3
movdqa xmmword [esp + 0x270], xmm1
movdqa xmmword [esp + 0x260], xmm2
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0xa4], eax
jmp 0x10055782
movzx eax, byte [esp + 0x50]
mov byte [esp + 0x20], 2
mov byte [esp + 0x21], al
jmp 0x10054ad7
movsd xmm0, qword [edi + 0x28]
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
movaps xmmword [esp + 0x320], xmm0
movss xmm0, dword [edi + 0x30]
mov dword [esp + 0xc4], edx
movzx edx, word [esp + 0x2c]
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0x24]
mov dword [esp + 0xc8], eax
movaps xmmword [esp + 0x310], xmm0
movups xmm0, xmmword [edi + 0x34]
cmp edx, 0x20b
mov dword [esp + 0xa4], ecx
movaps xmmword [esp + 0x250], xmm0
movss xmm0, dword [edi + 0x44]
movaps xmmword [esp + 0x300], xmm0
jne 0x10055927
movups xmm0, xmmword [edi + 0x48]
movdqu xmm1, xmmword [edi + 0x58]
mov esi, 0x68
mov eax, edi
mov dword [esp + 0xa0], 0
movaps xmmword [esp + 0x270], xmm0
movdqa xmmword [esp + 0x260], xmm1
mov ebx, esi
lea ecx, [edi + esi]
or ebx, 4
mov edx, ebx
sub edx, esi
call fcn.1004db50
mov dword [esp + 0xc0], eax
lea eax, [esi + 8]
mov edx, eax
sub edx, ebx
jb 0x10055e26
add ebx, edi
mov ecx, ebx
call fcn.1004db50
lea ecx, [esi + 0x18]
mov dword [esp + 0xbc], eax
or ecx, 4
cmp ecx, 0xf0
ja 0x10055e49
lea ecx, [esi + 0x20]
or ecx, 4
cmp ecx, 0xf0
ja 0x10055e49
lea ecx, [esi + 0x58]
or ecx, 4
cmp ecx, 0xf0
ja 0x10055e49
lea ecx, [esi + 0x60]
or ecx, 4
cmp ecx, 0xf0
ja 0x10055e49
lea ecx, [esi + 0x78]
or ecx, 4
cmp ecx, 0xf0
ja 0x10055e49
lea eax, [esi + 0x80]
cmp eax, 0xf0
ja 0x10055e39
mov eax, esi
or eax, 0x84
cmp eax, 0xf0
ja 0x10055e47
movsd xmm0, qword [edi + esi + 8]
movsd xmm1, qword [edi + esi + 0x18]
mov eax, dword [edi + eax]
lea edx, [esi + 0x10]
or edx, 4
mov ebx, dword [edi + edx]
mov edx, dword [edi + esi + 0x78]
movaps xmmword [esp + 0x90], xmm0
movsd xmm0, qword [edi + esi + 0x20]
mov dword [esp + 0xb8], eax
movzx eax, word [esp + 0x4c]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], edx
movlhps xmm1, xmm0
movsd xmm0, qword [edi + esi + 0x30]
movaps xmmword [esp + 0x2e0], xmm1
movsd xmm1, qword [edi + esi + 0x28]
movlhps xmm1, xmm0
movsd xmm0, qword [edi + esi + 0x40]
movaps xmmword [esp + 0x2d0], xmm1
movsd xmm1, qword [edi + esi + 0x38]
movlhps xmm1, xmm0
movsd xmm0, qword [edi + esi + 0x50]
movaps xmmword [esp + 0x2c0], xmm1
movsd xmm1, qword [edi + esi + 0x48]
movlhps xmm1, xmm0
movsd xmm0, qword [edi + esi + 0x60]
movaps xmmword [esp + 0x2b0], xmm1
movsd xmm1, qword [edi + esi + 0x58]
movlhps xmm1, xmm0
movsd xmm0, qword [edi + esi + 0x70]
movaps xmmword [esp + 0x2a0], xmm1
movsd xmm1, qword [edi + esi + 0x68]
movlhps xmm1, xmm0
movaps xmmword [esp + 0x290], xmm1
movsd xmm1, qword [edi + ecx]
mov ecx, dword [edi + esi + 0x10]
mov word [esp + 0xe0], ax
movzx eax, byte [esp + 0x4e]
movaps xmmword [esp + 0x280], xmm1
mov dword [esp + 0xac], ecx
mov byte [esp + 0xe2], al
jmp 0x100559e0
movzx eax, byte [esp + 0x4e]
movzx ecx, word [esp + 0x4c]
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
movaps xmmword [esp + 0x270], xmm0
movaps xmmword [esp + 0x260], xmm0
movaps xmmword [esp + 0x2e0], xmm0
movaps xmmword [esp + 0x2d0], xmm0
movaps xmmword [esp + 0x2c0], xmm0
movaps xmmword [esp + 0x2b0], xmm0
movaps xmmword [esp + 0x2a0], xmm0
movaps xmmword [esp + 0x290], xmm0
movaps xmmword [esp + 0x280], xmm0
movaps xmmword [esp + 0x90], xmm0
mov byte [esp + 0xe2], al
mov word [esp + 0xe0], cx
movdqa xmm0, xmmword [esp + 0x340]
movzx eax, byte [esp + 0xe2]
movzx edx, word [esp + 0xe0]
pextrw ecx, xmm0, 0
mov byte [esp + 0x8a], al
mov word [esp + 0x88], dx
add dword [esp + 8], ecx
jb 0x10055c37
js 0x10055c37
movdqa xmm0, xmmword [esp + 0x330]
movzx ecx, word [ebp + 0xc]
pextrw eax, xmm0, 1
cmp ax, cx
cmovae eax, ecx
lea ecx, [esp + 0x160]
movzx esi, ax
lea edx, [esi + 1]
call fcn.1002db00
mov eax, dword [esp + 0x160]
test eax, eax
je 0x10055c43
mov edx, dword [esp + 0x166]
movq xmm0, qword [0x3e164a0]
movzx ecx, word [esp + 0x164]
pshufd xmm2, xmmword [esp + 0x250], 0xee
movaps xmm1, xmmword [0x3e164b0]
mov dword [esp + 0x7a], edx
movzx edx, word [esp + 0x16a]
movq qword [esp + 0x4c], xmm0
movd dword [esp + 0x54], xmm2
mov dword [esp + 0x58], 0
movd dword [esp + 0x5c], xmm2
mov dword [esp + 0x70], 0
movups xmmword [esp + 0x60], xmm1
mov word [esp + 0x7e], dx
mov dword [esp + 0x74], eax
lea eax, [esp + 0x4c]
mov word [esp + 0x78], cx
lea ecx, [esp + 0x160]
lea edx, [esp + 0x74]
push eax
call fcn.1002d170
add esp, 4
movzx eax, byte [esp + 0x188]
cmp al, 8
jne 0x10055c59
test esi, esi
je 0x10055be6
lea ebx, [esp + 0x160]
lea edi, [esp + 0x108]
pxor xmm0, xmm0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov ecx, ebx
mov edx, edi
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
push 0x28
lea eax, [esp + 0xe4]
push eax
push dword [esp + 0x10]
call fcn.10018350
add esp, 0xc
mov eax, dword [esp + 0x160]
test eax, eax
je 0x10055c60
cmp dword [esp + 0x164], 0x28
je 0x10055b8b
mov ecx, ebx
mov edx, edi
push 0x28
lea eax, [esp + 0xe4]
push eax
push dword [esp + 0x10]
call fcn.10018930
add esp, 0xc
cmp dword [esp + 0x160], 0
je 0x10055c60
lea eax, [esp + 0xe0]
movsd xmm0, qword [eax]
mov ecx, dword [eax + 0x24]
lea edx, [esp + 0x74]
movsd qword [esp + 0x4c], xmm0
movups xmm0, xmmword [eax + 8]
movups xmmword [esp + 0x54], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [esp + 0x64], xmm0
mov eax, dword [eax + 0x20]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x6c], ecx
mov ecx, ebx
push eax
call fcn.1002d170
add esp, 4
movzx eax, byte [esp + 0x188]
cmp al, 8
jne 0x10055c6c
add dword [esp + 8], 0x28
dec esi
jne 0x10055afd
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
movzx edx, word [esp + 0x88]
movzx ecx, byte [esp + 0x8a]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
movdqa xmm0, xmmword [esp + 0x90]
mov dword [esp + 0x14], eax
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], esi
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
movdqa xmm0, xmmword [esp + 0x90]
mov dword [esp + 0x14], eax
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], esi
mov word [esp + 0x84], dx
mov byte [esp + 0x86], cl
movq qword [esp + 0x20], xmm0
jmp 0x10054ee3