Function at 0x100164a0
Capabilities:
Contain obfuscated stackstrings

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 0x10082377
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x38
push esi
push edi
mov eax, dword [0x1009c018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1c], esi
lea ecx, [esi + 8]
call fcn.10017b10
mov dword [ebp - 4], 0
lea ecx, [esi + 0x1518]
call fcn.100178c0
lea eax, [esi + 0x193c]
lea edi, [eax + 0x2c]
mov dword [eax + 4], 0
mov dword [ebp - 0x18], eax
mov dword [eax], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov eax, 0x30
mov dword [ebp - 0x24], edi
dec eax
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.10016070
mov eax, dword [ebp - 0x20]
add edi, 8
test eax, eax
jne 0x10016537
push 0x1f4
push eax
push dword [ebp - 0x18]
call sub.VCRUNTIME140.dll_memset
mov edi, dword [ebp - 0x24]
add esp, 0xc
xor esi, esi
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm0, xmm0
mulss xmm0, dword [0x10093b90]
divss xmm0, dword [0x10093c18]
movss dword [ebp - 0x24], xmm0
call fcn.1002c2d0
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x24]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
xorps xmm1, xmm1
inc esi
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [edi], xmm1
movss dword [edi + 4], xmm0
add edi, 8
cmp esi, 0x30
jl 0x10016562
movsd xmm0, qword [0x10093b10]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm1, dword [0x10093af0]
mov eax, dword [ebp - 0x18]
cvtsd2ss xmm0, xmm0
mov esi, dword [ebp - 0x1c]
subss xmm1, xmm0
movss xmm0, dword [eax + 0x14]
divss xmm0, xmm1
movss dword [eax + 0x1ac], xmm0
mov dword [esi + 0x1b54], 0
mov dword [esi + 0x1b50], 0
mov dword [esi + 0x1b58], 0
mov byte [ebp - 4], 1
mov dword [esi + 0x1b60], 0
mov dword [esi + 0x1b5c], 0
mov dword [esi + 0x1b64], 0
mov byte [ebp - 4], 2
mov dword [esi + 0x1b6c], 0
mov dword [esi + 0x1b68], 0
mov dword [esi + 0x1b70], 0
mov byte [ebp - 4], 3
mov dword [esi + 0x1b78], 0
mov dword [esi + 0x1b74], 0
mov dword [esi + 0x1b7c], 0
mov byte [ebp - 4], 4
lea eax, [esi + 0x1b80]
mov dword [ebp - 0x24], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 6
lea eax, [esi + 0x1c38]
mov dword [esi + 0x1b94], 0
xorps xmm0, xmm0
mov dword [esi + 0x1b90], 0
mov dword [esi + 0x1bb0], 0
mov dword [esi + 0x1bac], 0
mov dword [esi + 0x1bfc], 0
mov dword [esi + 0x1bf8], 0
movups xmmword [esi + 0x1c24], xmm0
mov dword [esi + 0x1c34], 0
push 0x3c
push 0
push eax
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
call sub.VCRUNTIME140.dll_memset
lea eax, [esi + 0x1c74]
add esp, 0xc
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x5c], 0
push 0x60
push 0
push eax
mov dword [eax + 0x58], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esi + 0x1cd8], 0
mov dword [esi + 0x1cd4], 0
mov dword [esi + 0x1cdc], 0
mov byte [ebp - 4], 7
mov dword [esi + 0x1ce4], 0
mov dword [esi + 0x1ce0], 0
mov dword [esi + 0x1ce8], 0
mov byte [ebp - 4], 8
mov dword [esi + 0x1cf0], 0
mov dword [esi + 0x1cec], 0
mov dword [esi + 0x1cf4], 0
mov byte [ebp - 4], 9
mov dword [esi + 0x1cfc], 0
mov dword [esi + 0x1cf8], 0
mov dword [esi + 0x1d00], 0
mov byte [ebp - 4], 0xa
mov dword [esi + 0x1d08], 0
mov dword [esi + 0x1d04], 0
mov dword [esi + 0x1d0c], 0
mov byte [ebp - 4], 0xb
mov dword [esi + 0x1d14], 0
mov dword [esi + 0x1d10], 0
mov dword [esi + 0x1d18], 0
mov byte [ebp - 4], 0xc
mov dword [esi + 0x1d20], 0
mov dword [esi + 0x1d1c], 0
mov dword [esi + 0x1d24], 0
mov byte [ebp - 4], 0xd
mov dword [esi + 0x1d2c], 0
mov dword [esi + 0x1d28], 0
mov dword [esi + 0x1d30], 0
mov byte [ebp - 4], 0xe
mov dword [esi + 0x1d38], 0
mov dword [esi + 0x1d34], 0
mov dword [esi + 0x1d3c], 0
mov byte [ebp - 4], 0xf
mov dword [esi + 0x1d90], 0
mov dword [esi + 0x1d94], 0
mov dword [esi + 0x1d98], 0
mov dword [esi + 0x1d9c], 0
mov dword [esi + 0x1dbc], 0
mov dword [esi + 0x1dc0], 0
mov dword [esi + 0x1dc4], 0
mov dword [esi + 0x1dc8], 0
mov dword [esi + 0x1de0], 0
mov dword [esi + 0x1de4], 0
mov dword [esi + 0x1de8], 0
mov dword [esi + 0x1dec], 0
mov dword [esi + 0x1dd4], 0
mov dword [esi + 0x1ddc], 0
mov dword [esi + 0x1dd8], 0
mov dword [esi + 0x1df0], 0
mov dword [esi + 0x1dfc], 0x7f7fffff
mov dword [esi + 0x1df8], 0x7f7fffff
mov dword [esi + 0x1df4], 0x7f7fffff
mov dword [esi + 0x1e0c], 0
mov dword [esi + 0x1e10], 0
mov dword [esi + 0x1e14], 0
mov dword [esi + 0x1e18], 0
mov dword [esi + 0x1e00], 0
mov dword [esi + 0x1e08], 0
mov dword [esi + 0x1e04], 0
mov dword [esi + 0x1e1c], 0
mov dword [esi + 0x1e28], 0x7f7fffff
mov dword [esi + 0x1e24], 0x7f7fffff
mov dword [esi + 0x1e20], 0x7f7fffff
mov dword [esi + 0x1e38], 0
xorps xmm0, xmm0
mov dword [esi + 0x1e3c], 0
mov dword [esi + 0x1e40], 0
mov dword [esi + 0x1e44], 0
mov dword [esi + 0x1e2c], 0
mov dword [esi + 0x1e34], 0
mov dword [esi + 0x1e30], 0
mov dword [esi + 0x1e48], 0
mov dword [esi + 0x1e54], 0x7f7fffff
mov dword [esi + 0x1e50], 0x7f7fffff
mov dword [esi + 0x1e4c], 0x7f7fffff
mov dword [esi + 0x1ea8], 0
mov dword [esi + 0x1ea4], 0
mov dword [esi + 0x1e9c], 0
mov dword [esi + 0x1ea0], 0
movups xmmword [esi + 0x1eb0], xmm0
movups xmmword [esi + 0x1ec0], xmm0
mov word [esi + 0x1ed0], 0
mov dword [esi + 0x1eac], 0xffffffff
mov byte [esi + 0x1ed2], 0
mov dword [esi + 0x1ed4], 0
mov dword [esi + 0x1ed8], 0
mov dword [esi + 0x1edc], 0
mov dword [esi + 0x1ee0], 0
mov dword [esi + 0x1f04], 0
mov dword [esi + 0x1f00], 0
mov dword [esi + 0x1f08], 0
mov byte [ebp - 4], 0x10
lea ecx, [esi + 0x1f24]
mov dword [ebp - 0x20], ecx
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 0x11
lea eax, [ecx + 0xc]
mov dword [ebp - 0x18], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 0x13
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
mov byte [ebp - 4], 0x14
mov dword [esi + 0x1f48], 0
mov dword [esi + 0x1f44], 0
mov dword [esi + 0x1f4c], 0
mov byte [ebp - 4], 0x15
mov dword [esi + 0x1f54], 0
mov dword [esi + 0x1f50], 0
mov dword [esi + 0x1f58], 0
mov byte [ebp - 4], 0x16
mov dword [esi + 0x1f60], 0
mov dword [esi + 0x1f5c], 0
mov dword [esi + 0x1f64], 0
mov byte [ebp - 4], 0x17
lea ecx, [esi + 0x1f6c]
mov dword [ebp - 0x28], ecx
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 0x18
lea eax, [ecx + 0xc]
mov dword [ebp - 0x2c], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 0x1a
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
mov byte [ebp - 4], 0x1b
mov dword [esi + 0x1f90], 0
mov dword [esi + 0x1f8c], 0
mov dword [esi + 0x1f94], 0
mov byte [ebp - 4], 0x1c
mov dword [esi + 0x1f9c], 0
mov dword [esi + 0x1f98], 0
mov dword [esi + 0x1fa0], 0
mov byte [ebp - 4], 0x1d
lea eax, [esi + 0x1fac]
mov dword [esi + 0x1fa8], 0
mov dword [esi + 0x1fa4], 0
mov dword [ebp - 0x30], eax
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0
mov byte [ebp - 4], 0x1e
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x20], 0
mov byte [ebp - 4], 0x1f
mov dword [eax + 0x28], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x2c], 0
mov byte [ebp - 4], 0x20
push 0xe7c
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov byte [ebp - 4], 0x21
lea ecx, [esi + 0x2e28]
call fcn.100399a0
mov byte [ebp - 4], 0x22
lea eax, [esi + 0x2ea4]
mov dword [esi + 0x2ea0], 0
mov dword [esi + 0x2e9c], 0
mov dword [esi + 0x2e98], 0
mov dword [esi + 0x2e94], 0
push 0x30
push 0
push eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esi + 0x2ef8], 0
mov dword [esi + 0x2ef4], 0
mov dword [esi + 0x2efc], 0
mov byte [ebp - 4], 0x23
mov dword [esi + 0x2f04], 0
mov dword [esi + 0x2f00], 0
mov dword [esi + 0x2f08], 0
mov byte [ebp - 4], 0x24
lea eax, [esi + 0x2f24]
mov dword [esi + 0x2f10], 0
mov dword [esi + 0x2f0c], 0
mov dword [esi + 0x2f18], 0
mov dword [esi + 0x2f14], 0
mov dword [ebp - 0x34], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 0x26
mov dword [esi + 0x2f34], 0
mov dword [esi + 0x2f30], 0
mov dword [esi + 0x2f38], 0
mov byte [ebp - 4], 0x27
lea eax, [esi + 0x2f3c]
mov dword [ebp - 0x38], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 0x29
lea eax, [esi + 0x2f48]
mov dword [ebp - 0x3c], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 0x2b
mov dword [esi + 0x2f58], 0
mov dword [esi + 0x2f54], 0
mov dword [esi + 0x2f5c], 0
mov byte [ebp - 4], 0x2c
lea eax, [esi + 0x2f70]
mov dword [ebp - 0x40], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 0x2e
lea eax, [esi + 0x2fb0]
mov dword [esi + 0x2fa0], 0
mov word [esi + 0x2fa4], 0x101
mov dword [esi + 0x2fa8], 0xffffffff
mov dword [esi + 0x2fac], 0xffffffff
mov dword [ebp - 0x44], eax
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0
mov byte [ebp - 4], 0x2f
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov byte [ebp - 4], 0x30
mov eax, dword [0x1009fce4]
mov word [esi], 0x100
mov dword [esi + 0x1930], 0
mov dword [esi + 0x1938], 0
mov dword [esi + 0x1934], 0
test eax, eax
je 0x10016f4c
inc dword [eax + 0x36c]
push dword [0x1009fce0]
push 0x468
call fcn.10017880
mov edi, eax
add esp, 8
mov dword [ebp - 0x24], edi
lea eax, [ebp - 0x11]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edi
mov byte [ebp - 4], 0x31
test edi, edi
je 0x1001702d
mov dword [edi + 0x28], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x3c], 0
mov byte [ebp - 4], 0x32
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x48], 0
mov byte [ebp - 4], 0x33
mov dword [edi + 0x50], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x54], 0
mov byte [ebp - 4], 0x34
lea esi, [edi + 0x58]
mov edi, 0x40
mov ecx, esi
call fcn.10007170
add esi, 0x10
sub edi, 1
jne 0x10016fe8
push 0x468
push edi
mov edi, dword [ebp - 0x24]
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi + 0xc], 1
mov dword [edi + 0x464], 0xffffffff
mov dword [edi + 0x460], 0xffffffff
mov byte [ebp - 4], 0x31
mov esi, dword [ebp - 0x1c]
jmp 0x1001702f
xor edi, edi
mov byte [ebp - 4], 0x30
xorps xmm0, xmm0
mov dword [esi + 0x98], edi
movsd qword [esi + 0x1b30], xmm0
mov dword [esi + 0x1b38], 0
mov dword [esi + 0x1b40], 0xffffffff
mov dword [esi + 0x1b3c], 0xffffffff
mov dword [esi + 0x1b45], 0
mov byte [esi + 0x1b44], 0
mov dword [esi + 0x1b4c], 0
mov dword [esi + 0x1b8c], 0
mov dword [esi + 0x1b98], 0
mov dword [esi + 0x1b9c], 0
mov dword [esi + 0x1ba0], 0
mov dword [esi + 0x1ba4], 0
mov dword [esi + 0x1ba8], 0
mov dword [esi + 0x1bb4], 0
mov dword [esi + 0x1bb8], 0
mov dword [esi + 0x1bc0], 0
mov dword [esi + 0x1bbc], 0
mov dword [esi + 0x1bc4], 0
mov dword [esi + 0x1bcc], 0
mov dword [esi + 0x1bc8], 0
mov dword [esi + 0x1bd0], 0
mov dword [esi + 0x1bd4], 0
mov dword [esi + 0x1bd8], 0
mov dword [esi + 0x1bdc], 0
mov word [esi + 0x1be0], 0
mov byte [esi + 0x1be2], 0
mov dword [esi + 0x1be4], 0
mov dword [esi + 0x1be8], 0
mov dword [esi + 0x1bf0], 0
mov dword [esi + 0x1bf4], 0
mov dword [esi + 0x1bf8], 0xbf800000
mov dword [esi + 0x1bfc], 0xbf800000
mov dword [esi + 0x1c00], 0
mov dword [esi + 0x1c04], 0
mov dword [esi + 0x1c08], 0xffffffff
mov dword [esi + 0x1c0c], 0
mov word [esi + 0x1c10], 0
mov dword [esi + 0x1c14], 0
mov dword [esi + 0x1c18], 0
mov dword [esi + 0x1c1c], 0
mov dword [esi + 0x1c20], 0
mov dword [esi + 0x1d40], 0
mov dword [esi + 0x1d58], 0
mov dword [esi + 0x1d54], 0
mov dword [esi + 0x1d50], 0
mov dword [esi + 0x1d4c], 0
mov dword [esi + 0x1d48], 0
mov dword [esi + 0x1d44], 0
mov dword [esi + 0x1d70], 0
mov dword [esi + 0x1d68], 0
mov dword [esi + 0x1d64], 0
mov dword [esi + 0x1d60], 0
mov dword [esi + 0x1d74], 0
mov dword [esi + 0x1d5c], 0
mov dword [esi + 0x1d6c], 0
mov dword [esi + 0x1d78], 0
mov dword [esi + 0x1d7c], 0
mov dword [esi + 0x1d80], 0x7fffffff
mov dword [esi + 0x1d84], 0x10000
mov word [esi + 0x1d88], 0
mov byte [esi + 0x1d8a], 0
mov dword [esi + 0x1d8c], 0
mov word [esi + 0x1da0], 0
mov byte [esi + 0x1da2], 0
mov dword [esi + 0x1da4], 0
mov dword [esi + 0x1da8], 0
mov dword [esi + 0x1dac], 0
mov dword [esi + 0x1db8], 0xffffffff
mov dword [esi + 0x1db4], 0xffffffff
mov dword [esi + 0x1db0], 0xffffffff
mov dword [esi + 0x1dcc], 0
mov dword [esi + 0x1dd0], 0
mov dword [esi + 0x1e60], 0
mov dword [esi + 0x1e5c], 0
mov dword [esi + 0x1e58], 0
mov dword [esi + 0x1e68], 0
mov dword [esi + 0x1e64], 0
mov byte [esi + 0x1e6c], 0
mov dword [esi + 0x1e74], 0
xor eax, eax
mov dword [esi + 0x1e70], 0
mov dword [esi + 0x1e78], 0x7fffffff
mov dword [esi + 0x1e7c], 0x7fffffff
mov byte [esi + 0x1e80], 0
mov dword [esi + 0x1e84], 0
mov dword [esi + 0x1e88], 0
mov word [esi + 0x1e8d], 0
mov byte [esi + 0x1e8c], 0
mov dword [esi + 0x1e90], 0
mov dword [esi + 0x1e94], 0xffffffff
mov dword [esi + 0x1e98], 0xffffffff
mov dword [esi + 0x1ee4], 0
mov dword [esi + 0x1ee8], 0
mov dword [esi + 0x1eec], 0
mov dword [esi + 0x1ef0], 0
mov dword [esi + 0x1ef4], 0
mov dword [esi + 0x1ef8], 0xffffffff
mov dword [esi + 0x1efc], 0
movups xmmword [esi + 0x1f0c], xmm0
mov dword [esi + 0x1f1c], 0
mov dword [esi + 0x1f20], 0xffffffff
mov dword [esi + 0x1f68], 0
mov dword [esi + 0x2e80], 0
mov dword [esi + 0x2e84], 0xa900000
mov dword [esi + 0x2e8c], 0
mov dword [esi + 0x2e88], 0
mov dword [esi + 0x2e90], 0
mov dword [esi + 0x2ed4], 0
mov word [esi + 0x2ed8], 0
mov dword [esi + 0x2edc], 0
mov dword [esi + 0x2ee0], 0x3c23d70a
mov dword [esi + 0x2ee8], 0
mov dword [esi + 0x2eec], eax
mov dword [esi + 0x2ee4], eax
mov dword [esi + 0x2ef0], 0x3f000000
mov dword [esi + 0x2f14], 0x7f7fffff
mov dword [esi + 0x2f18], 0x7f7fffff
mov dword [esi + 0x2f0c], 0x7f7fffff
mov dword [esi + 0x2f10], 0x7f7fffff
mov word [esi + 0x2f1c], 0x2e
mov dword [esi + 0x2f20], eax
mov dword [esi + 0x2f60], eax
mov byte [esi + 0x2f64], al
mov dword [esi + 0x2f68], eax
mov dword [esi + 0x2f80], eax
mov dword [esi + 0x2f7c], eax
mov dword [esi + 0x2f6c], eax
mov dword [esi + 0x2f84], 0x7f7fffff
mov byte [esi + 0x2f88], al
mov dword [esi + 0x2f8c], eax
mov dword [esi + 0x2f94], 2
mov dword [esi + 0x2f90], 2
mov byte [esi + 0x2f98], al
push 0x1e0
push eax
mov dword [esi + 0x2f9c], eax
lea eax, [esi + 0x2fc8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esi + 0x31ac], 0
mov dword [esi + 0x31a8], 0
lea eax, [esi + 0x31c0]
mov dword [esi + 0x31b0], 0
mov dword [esi + 0x31bc], 0xffffffff
push 0xc01
push 0
mov dword [esi + 0x31b8], 0xffffffff
push eax
mov dword [esi + 0x31b4], 0xffffffff
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
mov eax, esi
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 4