Function at 0x10049be0
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10113685
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x400
push esi
push edi
mov eax, dword [0x1014a524]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], 0
mov esi, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.100bf9b0
lea eax, [esi + 0x40]
mov dword [ebp - 4], 1
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.100bf9b0
lea eax, [esi + 0x80]
mov byte [ebp - 4], 2
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.100bf9b0
mov edi, dword [ebx + 0xc]
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 4], 0
sub esp, 0x10
mov dword [ebp - 0x14], 1
movss xmm0, dword [edi + 0x140]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0x13c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100be6c0
lea eax, [ebp - 0x410]
push eax
call fcn.100c0440
lea eax, [ebp - 0x350]
mov dword [ebp - 4], 3
push edi
push eax
call fcn.10045390
add esp, 0x1c
cmp dword [edi + 0x1b0], 1
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x1c0], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ebp - 0x1b0], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [ebp - 0x1a0], xmm0
jne 0x10049d19
cmp dword [edi + 0x1b4], 0
jne 0x10049d19
lea eax, [ebp - 0x110]
push eax
call fcn.100bff30
add esp, 4
jmp 0x10049d40
movsd xmm0, qword [0x1011fd90]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100c4870
lea eax, [ebp - 0x110]
fstp qword [esp]
push eax
call fcn.100bffc0
add esp, 0xc
mov dword [ebp - 0x14], 9
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x110]
call fcn.100bfb20
push eax
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 5
push eax
call fcn.100b65d0
mov eax, dword [ebp - 0x98]
add esp, 8
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10049d96
mov ecx, eax
call fcn.1001ecc0
push 0x40
push dword [ebp - 0x1c]
call fcn.100e1499
add esp, 8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10049db7
mov ecx, eax
call fcn.1001ecc0
push 0x40
push dword [ebp - 0x1c]
call fcn.100e1499
add esp, 8
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10049dd8
mov ecx, eax
call fcn.1001ecc0
push 0x40
push dword [ebp - 0x1c]
call fcn.100e1499
add esp, 8
cmp byte [edi + 0x240], 0
je 0x10049deb
movsd xmm0, qword [edi + 0x248]
jmp 0x10049dee
xorps xmm0, xmm0
lea eax, [ebp - 0x50]
movsd qword [ebp - 0x20], xmm0
push eax
lea ecx, [ebp - 0x1e0]
call fcn.100bf1d0
mov ecx, eax
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x3d0]
push eax
call fcn.100c0440
movsd xmm0, qword [0x1011fdb8]
subsd xmm0, qword [ebp - 0x20]
push dword [edi + 0x184]
mov byte [ebp - 4], 6
push dword [edi + 0x180]
movsd qword [ebp - 0x38], xmm0
call fcn.100b4560
movsd xmm0, qword [ebp - 0x38]
add esp, 0x1c
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
test al, al
je 0x10049e81
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100be6c0
lea eax, [ebp - 0x150]
push eax
call fcn.100c0440
add esp, 0x14
mov ecx, eax
mov edx, 0xb
jmp 0x10049eb7
subsd xmm0, qword [edi + 0x1a0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x1011fdc0]
movsd qword [esp], xmm0
call fcn.100be6c0
lea eax, [ebp - 0x190]
push eax
call fcn.100c0440
add esp, 0x14
mov ecx, eax
mov edx, 0xd
movsd xmm0, qword [ecx]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ecx + 8]
movsd qword [ebp - 0x88], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [ebp - 0x80], xmm0
movsd xmm0, qword [ecx + 0x18]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ecx + 0x20]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ecx + 0x28]
movsd qword [ebp - 0x68], xmm0
mov eax, dword [ecx + 0x30]
mov dword [ecx + 0x30], 0
mov dword [ebp - 0x60], eax
mov eax, dword [ecx + 0x34]
mov dword [ecx + 0x34], 0
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x38], 0
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 8
test dl, 4
je 0x10049f42
and edx, 0xfffffffb
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x14], edx
call fcn.1001ecc0
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
test dl, 2
je 0x10049f5c
and edx, 0xfffffffd
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x14], edx
call fcn.1001ecc0
lea eax, [ebp - 0x390]
push eax
call fcn.100bff70
add esp, 4
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x410]
call fcn.100bf9e0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xb
push ecx
lea ecx, [ebp - 0x150]
push ecx
mov ecx, eax
call fcn.100bf9e0
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0xc
push ecx
lea ecx, [ebp - 0x240]
push ecx
mov ecx, eax
call fcn.100bf9e0
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 0xd
push ecx
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, eax
call fcn.100bf9e0
push eax
mov ecx, esi
call fcn.10041880
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x10049ff7
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x9c]
test esi, esi
je 0x1004a013
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1004a02f
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x208]
test esi, esi
je 0x1004a04b
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x20c]
test esi, esi
je 0x1004a067
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x210]
test esi, esi
je 0x1004a083
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x118]
test esi, esi
je 0x1004a09f
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x11c]
test esi, esi
je 0x1004a0bb
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x120]
test esi, esi
je 0x1004a0d7
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x158]
mov byte [ebp - 4], 0xa
test esi, esi
je 0x1004a0f7
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x15c]
test esi, esi
je 0x1004a113
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x160]
test esi, esi
je 0x1004a12f
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
sub esp, 0x10
lea ecx, [ebp - 0x50]
cmp byte [edi + 0x158], 0
je 0x1004a49e
movsd xmm0, qword [edi + 0x170]
mulsd xmm0, qword [0x1011fd28]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edi + 0x178]
mulsd xmm0, qword [0x1011fd28]
movsd qword [esp], xmm0
call fcn.100be6c0
mov ecx, eax
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x340]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x300]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x110]
call fcn.100bf9e0
mov esi, eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x1e0]
call fcn.100bf1d0
mov ecx, eax
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x2c0]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x280]
mov byte [ebp - 4], 0x10
push eax
mov ecx, esi
call fcn.100bf9e0
mov esi, eax
movsd xmm0, qword [0x1011fd90]
sub esp, 8
mov byte [ebp - 4], 0x11
movsd qword [esp], xmm0
call fcn.100c4870
lea eax, [ebp - 0xd0]
fstp qword [esp]
push eax
call fcn.100bffc0
add esp, 0xc
push eax
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 0x12
push eax
mov ecx, esi
call fcn.100bf9e0
mov esi, eax
movss xmm0, dword [0x1014a454]
lea ecx, [ebp - 0x28]
xorps xmm0, xmmword [0x1011fe00]
sub esp, 0x10
cvtss2sd xmm0, xmm0
mov byte [ebp - 4], 0x13
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100be6c0
mov ecx, eax
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x150]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x14
push eax
mov ecx, esi
call fcn.100bf9e0
mov ecx, dword [ebp - 0x30]
push eax
call fcn.10041880
lea ecx, [ebp - 0x190]
call fcn.1001ecc0
lea ecx, [ebp - 0x150]
call fcn.1001ecc0
lea ecx, [ebp - 0x240]
call fcn.1001ecc0
lea ecx, [ebp - 0xd0]
call fcn.1001ecc0
lea ecx, [ebp - 0x280]
call fcn.1001ecc0
lea ecx, [ebp - 0x2c0]
call fcn.1001ecc0
lea ecx, [ebp - 0x300]
call fcn.1001ecc0
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0xa
call fcn.1001ecc0
movsd xmm0, qword [edi + 0x160]
lea ecx, [ebp - 0x50]
mulsd xmm0, qword [0x1011fd28]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edi + 0x168]
mulsd xmm0, qword [0x1011fd28]
movsd qword [esp], xmm0
call fcn.100be6c0
mov ecx, eax
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0xd0]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x110]
call fcn.100bf9e0
mov esi, eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x1e0]
call fcn.100bf1f0
mov ecx, eax
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x150]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x17
push eax
mov ecx, esi
call fcn.100bf9e0
mov esi, eax
movsd xmm0, qword [0x1011fdc8]
sub esp, 8
mov byte [ebp - 4], 0x18
movsd qword [esp], xmm0
call fcn.100c4870
lea eax, [ebp - 0x280]
fstp qword [esp]
push eax
call fcn.100bffc0
add esp, 0xc
push eax
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0x19
push eax
mov ecx, esi
call fcn.100bf9e0
mov esi, eax
movss xmm0, dword [0x1014a454]
lea ecx, [ebp - 0x28]
xorps xmm0, xmmword [0x1011fe00]
sub esp, 0x10
cvtss2sd xmm0, xmm0
mov byte [ebp - 4], 0x1a
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100be6c0
mov ecx, eax
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x300]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x1b
push eax
mov ecx, esi
call fcn.100bf9e0
mov ecx, dword [ebp - 0x2c]
push eax
call fcn.10041880
lea ecx, [ebp - 0x340]
call fcn.1001ecc0
lea ecx, [ebp - 0x300]
call fcn.1001ecc0
lea ecx, [ebp - 0x2c0]
call fcn.1001ecc0
lea ecx, [ebp - 0x280]
call fcn.1001ecc0
lea ecx, [ebp - 0x190]
call fcn.1001ecc0
lea ecx, [ebp - 0x150]
call fcn.1001ecc0
lea ecx, [ebp - 0x240]
call fcn.1001ecc0
lea ecx, [ebp - 0xd0]
jmp 0x1004a6dd
movsd xmm0, qword [0x1011fd50]
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100be6c0
lea ecx, [ebp - 0x1b8]
movsd xmm0, qword [eax]
movups xmmword [ebp - 0x28], xmm0
movsd xmm0, qword [eax + 8]
lea eax, [ebp - 0x1f0]
push eax
movsd qword [ebp - 0x38], xmm0
call fcn.100bf1f0
movups xmm3, xmmword [ebp - 0x28]
sub esp, 0x10
movsd xmm1, qword [ebp - 0x38]
movsd xmm2, qword [eax]
movsd xmm0, qword [eax + 8]
mov eax, esp
unpcklpd xmm3, xmm1
sub esp, 0x10
unpcklpd xmm2, xmm0
movups xmmword [eax], xmm3
mov eax, esp
movups xmmword [eax], xmm2
lea eax, [ebp - 0x200]
push eax
call fcn.100be7a0
mov ecx, eax
add esp, 0x14
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x280]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x110]
call fcn.100bf9e0
mov esi, eax
movsd xmm0, qword [0x1011fdc8]
sub esp, 8
mov byte [ebp - 4], 0x1d
movsd qword [esp], xmm0
call fcn.100c4870
lea eax, [ebp - 0x300]
fstp qword [esp]
push eax
call fcn.100bffc0
add esp, 0xc
push eax
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x1e
push eax
mov ecx, esi
call fcn.100bf9e0
mov ecx, dword [ebp - 0x2c]
push eax
call fcn.10041880
lea ecx, [ebp - 0x340]
call fcn.1001ecc0
lea ecx, [ebp - 0x300]
call fcn.1001ecc0
lea ecx, [ebp - 0x2c0]
call fcn.1001ecc0
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xa
call fcn.1001ecc0
movsd xmm0, qword [0x1011fd50]
lea ecx, [ebp - 0x200]
sub esp, 0x10
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100be6c0
lea ecx, [ebp - 0x1b8]
movsd xmm0, qword [eax]
movups xmmword [ebp - 0x28], xmm0
movsd xmm0, qword [eax + 8]
lea eax, [ebp - 0x1f0]
push eax
movsd qword [ebp - 0x38], xmm0
call fcn.100bf1d0
movups xmm3, xmmword [ebp - 0x28]
sub esp, 0x10
movsd xmm1, qword [ebp - 0x38]
movsd xmm2, qword [eax]
movsd xmm0, qword [eax + 8]
mov eax, esp
unpcklpd xmm3, xmm1
sub esp, 0x10
unpcklpd xmm2, xmm0
movups xmmword [eax], xmm3
mov eax, esp
movups xmmword [eax], xmm2
lea eax, [ebp - 0x50]
push eax
call fcn.100be750
mov ecx, eax
add esp, 0x14
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x280]
push eax
call fcn.100c0440
add esp, 0x14
push eax
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x110]
call fcn.100bf9e0
mov esi, eax
movsd xmm0, qword [0x1011fd90]
sub esp, 8
mov byte [ebp - 4], 0x20
movsd qword [esp], xmm0
call fcn.100c4870
lea eax, [ebp - 0x300]
fstp qword [esp]
push eax
call fcn.100bffc0
add esp, 0xc
push eax
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x21
push eax
mov ecx, esi
call fcn.100bf9e0
mov ecx, dword [ebp - 0x30]
push eax
call fcn.10041880
lea ecx, [ebp - 0x340]
call fcn.1001ecc0
lea ecx, [ebp - 0x300]
call fcn.1001ecc0
lea ecx, [ebp - 0x2c0]
call fcn.1001ecc0
lea ecx, [ebp - 0x280]
call fcn.1001ecc0
mov esi, dword [ebp - 0x358]
test esi, esi
je 0x1004a6fe
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x35c]
test esi, esi
je 0x1004a71a
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x360]
test esi, esi
je 0x1004a736
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x58]
test esi, esi
je 0x1004a74f
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x5c]
test esi, esi
je 0x1004a768
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x60]
test esi, esi
je 0x1004a781
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x398]
test esi, esi
je 0x1004a79d
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x39c]
test esi, esi
je 0x1004a7b9
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x3a0]
test esi, esi
je 0x1004a7d5
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0xd8]
test esi, esi
je 0x1004a7f1
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x1004a80d
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0xe0]
test esi, esi
je 0x1004a829
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x3d8]
test esi, esi
je 0x1004a845
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x3dc]
test esi, esi
je 0x1004a861
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov esi, dword [ebp - 0x3e0]
test esi, esi
je 0x1004a87d
mov ecx, esi
call fcn.1001ecc0
push 0x40
push esi
call fcn.100e1499
add esp, 8
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret