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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1018b06c]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x1001bdb0
push 0x814f0d
push 0xe8
call fcn.100b1680
push 0x1001be10
push 0x814e63
push 0xe8
call fcn.100b1680
push 0x1001be60
push 0x814dc1
push 0xe8
call fcn.100b1680
push 0x1001be60
push 0x814d4d
push 0xe8
call fcn.100b1680
push 0x1001bf20
push 0x8126c0
push 0xe9
call fcn.100b1680
push 0x1001ce20
push 0x813970
push 0xe9
call fcn.100b1680
add esp, 0x48
push 0x1001d2d0
push 0x80f833
push 0xe8
call fcn.100b1680
mov eax, dword [0x101ee9dc]
add esp, 0xc
sub eax, 1
je 0x10021348
sub eax, 1
jne 0x1002135f
push 0x1001d7b0
jmp 0x1002134d
push fcn.1001e5d0
push 0x7dfa60
push 0xe9
call fcn.100b1680
add esp, 0xc
mov eax, dword [0x101ee988]
cmp eax, 4
ja case.default.0x1002136e
push esi
jmp dword [eax*4 + 0x10022264]
push 0x1001d990
push 0x895a48
push 0xe9
call fcn.100b1680
push 0x1001da70
push 0x895abd
push 0xe9
call fcn.100b1680
push 0x1001db10
push 0x895b32
push 0xe9
call fcn.100b1680
push 0x1001dbb0
push 0x895ba7
push 0xe9
call fcn.100b1680
push 0x1001dc50
push 0x80ff28
push 0xe8
call fcn.100b1680
push 0x1001dc50
push 0x8100bb
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001dc50
push 0x810389
push 0xe8
call fcn.100b1680
push 0x1001dc50
push 0x810659
push 0xe8
call fcn.100b1680
push 0x1001dc50
push 0x810f45
push 0xe8
call fcn.100b1680
push 0x1001dc50
push 0x8117ee
push 0xe8
call fcn.100b1680
push 0x1001e310
push 0x810fe7
push 0xe8
call fcn.100b1680
push 0x1001e310
push 0x811890
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001e2c0
push 0x810f97
push 0xe8
call fcn.100b1680
push 0x1001e2c0
push 0x811840
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x810a1a
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x810be5
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x810d2c
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x810dc3
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001dd60
push 0x810ef0
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x8112a6
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x81147f
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x8115c9
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x811660
push 0xe8
call fcn.100b1680
push 0x1001dd60
push 0x811790
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001de20
push 0x810a97
push 0xe8
call fcn.100b1680
push 0x1001de20
push 0x810c62
push 0xe8
call fcn.100b1680
push 0x1001de20
push 0x810e40
push 0xe8
call fcn.100b1680
push 0x1001de20
push 0x811323
push 0xe8
call fcn.100b1680
push 0x1001de20
push 0x8114fc
push 0xe8
call fcn.100b1680
push 0x1001de20
push 0x8116dd
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001e210
push 0x80feef
push 0xe8
call fcn.100b1680
push 0x1001e210
push 0x80fe56
push 0xe8
call fcn.100b1680
push 0x1001e210
push 0x810083
push 0xe8
call fcn.100b1680
push 0x1001e210
push 0x810354
push 0xe8
call fcn.100b1680
push 0x1001e210
push 0x810624
push 0xe8
call fcn.100b1680
push 0x1001dd20
push 0x80ff56
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001dd20
push 0x8100e9
push 0xe8
call fcn.100b1680
push 0x1001dd20
push 0x8103b7
push 0xe8
call fcn.100b1680
push 0x1001dd20
push 0x810699
push 0xe8
call fcn.100b1680
push 0x1001dce0
push 0x80ffa7
push 0xe8
call fcn.100b1680
push 0x1001dce0
push 0x81013a
push 0xe8
call fcn.100b1680
push 0x1001dce0
push 0x810408
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001dce0
push 0x8106ea
push 0xe8
call fcn.100b1680
push 0x1001dea0
push 0x8119e6
push 0xe8
call fcn.100b1680
push 0x1001df30
push 0x80f92d
push 0xe8
call fcn.100b1680
push 0x1001e020
push 0x80f968
push 0xe8
call fcn.100b1680
push 0x1001e120
push 0x80f9a3
push 0xe8
call fcn.100b1680
push 0x1001e020
push 0x80fa02
push 0xe8
call fcn.100b1680
add esp, 0x48
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d52b0
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x7f041d
call esi
lea eax, [ebp - 8]
mov byte [0x7f041d], 0
push eax
push dword [ebp - 8]
push 1
push 0x7f041d
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x82c6fd
call esi
lea eax, [ebp - 8]
mov byte [0x82c6fd], 0
push eax
push dword [ebp - 8]
push 1
push 0x82c6fd
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x83513d
call esi
lea eax, [ebp - 8]
mov byte [0x83513d], 0
push eax
push dword [ebp - 8]
push 1
push 0x83513d
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x842493
call esi
lea eax, [ebp - 8]
mov byte [0x842493], 0
push eax
push dword [ebp - 8]
push 1
push 0x842493
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x847055
call esi
lea eax, [ebp - 8]
mov byte [0x847055], 0
push eax
push dword [ebp - 8]
push 1
push 0x847055
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x84f9f5
call esi
lea eax, [ebp - 8]
mov byte [0x84f9f5], 0
push eax
push dword [ebp - 8]
push 1
push 0x84f9f5
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x8575e4
call esi
lea eax, [ebp - 8]
mov byte [0x8575e4], 0
push eax
push dword [ebp - 8]
push 1
push 0x8575e4
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x8578aa
call esi
lea eax, [ebp - 8]
mov byte [0x8578aa], 0
push eax
push dword [ebp - 8]
push 1
push 0x8578aa
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x8642ba
call esi
lea eax, [ebp - 8]
mov byte [0x8642ba], 0
push eax
push dword [ebp - 8]
push 1
push 0x8642ba
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x8642d6
call esi
lea eax, [ebp - 8]
mov byte [0x8642d6], 0
push eax
push dword [ebp - 8]
push 1
push 0x8642d6
call esi
push 0x1001e840
push 0x7db308
push 0xe9
call fcn.100b1680
push 0x1001e860
push 0x7db5d0
push 0xe8
call fcn.100b1680
push 0x1001eac0
push 0x895a48
push 0xe9
call fcn.100b1680
push 0x1001eb40
push 0x895abd
push 0xe9
call fcn.100b1680
push 0x1001ebc0
push 0x895b32
push 0xe9
call fcn.100b1680
push 0x1001ec40
push 0x895b8d
push 0xe9
call fcn.100b1680
add esp, 0x48
push 0x1001edf0
push 0x80ff28
push 0xe8
call fcn.100b1680
push 0x1001ee20
push 0x8100bb
push 0xe8
call fcn.100b1680
push 0x1001ee50
push 0x810389
push 0xe8
call fcn.100b1680
push 0x1001ee80
push 0x810659
push 0xe8
call fcn.100b1680
push 0x1001eec0
push 0x80feef
push 0xe8
call fcn.100b1680
push 0x1001eec0
push 0x80fe56
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001eec0
push 0x810083
push 0xe8
call fcn.100b1680
push 0x1001eec0
push 0x810354
push 0xe8
call fcn.100b1680
push 0x1001eec0
push 0x810624
push 0xe8
call fcn.100b1680
push 0x1001f120
push 0x80ff56
push 0xe8
call fcn.100b1680
push 0x1001f120
push 0x8100e9
push 0xe8
call fcn.100b1680
push 0x1001f120
push 0x8103b7
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001f120
push 0x810699
push 0xe8
call fcn.100b1680
push 0x1001f1e0
push 0x80ffa7
push 0xe8
call fcn.100b1680
push 0x1001f1e0
push 0x81013a
push 0xe8
call fcn.100b1680
push 0x1001f1e0
push 0x810408
push 0xe8
call fcn.100b1680
push 0x1001f1e0
push 0x8106ea
push 0xe8
call fcn.100b1680
push 0x1001f270
push 0x80f2e8
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001f270
push 0x80f3d3
push 0xe8
call fcn.100b1680
push 0x1001f270
push 0x80f4c7
push 0xe8
call fcn.100b1680
push 0x1001f270
push 0x80f5bb
push 0xe8
call fcn.100b1680
push 0x1001f270
push 0x80f6af
push 0xe8
call fcn.100b1680
push 0x1001f280
push 0x80f92d
push 0xe8
call fcn.100b1680
push 0x1001f530
push 0x80f968
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001f5a0
push 0x80f9a3
push 0xe8
call fcn.100b1680
push 0x1001f530
push 0x80fa02
push 0xe8
call fcn.100b1680
push 0x1001fc40
push 0x810f45
push 0xe8
call fcn.100b1680
push 0x1001fc40
push 0x8117ee
push 0xe8
call fcn.100b1680
push 0x1001fca0
push 0x810fe7
push 0xe8
call fcn.100b1680
push 0x1001fca0
push 0x811890
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001fc70
push 0x810f97
push 0xe8
call fcn.100b1680
push 0x1001fc70
push 0x811840
push 0xe8
call fcn.100b1680
push 0x1001fcc0
push 0x810a1a
push 0xe8
call fcn.100b1680
push 0x1001fd60
push 0x810be5
push 0xe8
call fcn.100b1680
push 0x1001fcc0
push 0x810d2c
push 0xe8
call fcn.100b1680
push 0x1001fcc0
push 0x810dc3
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001fcc0
push 0x810ef0
push 0xe8
call fcn.100b1680
push 0x1001fe40
push 0x810a97
push 0xe8
call fcn.100b1680
push 0x1001fe40
push 0x810c62
push 0xe8
call fcn.100b1680
push 0x1001fe40
push 0x810e40
push 0xe8
call fcn.100b1680
push 0x1001fcc0
push 0x8112a6
push 0xe8
call fcn.100b1680
push 0x1001fd60
push 0x81147f
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001fcc0
push 0x8115c9
push 0xe8
call fcn.100b1680
push 0x1001fcc0
push 0x811660
push 0xe8
call fcn.100b1680
push 0x1001fcc0
push 0x811790
push 0xe8
call fcn.100b1680
push 0x1001fe40
push 0x811323
push 0xe8
call fcn.100b1680
push 0x1001fe40
push 0x8114fc
push 0xe8
call fcn.100b1680
push 0x1001fe40
push 0x8116dd
push 0xe8
call fcn.100b1680
add esp, 0x48
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d52b0
mov esp, ebp
pop ebp
ret
push 0x10021110
push 0x80f865
push 0xe8
call fcn.100b1680
push 0x1001e350
push 0x895a48
push 0xe9
call fcn.100b1680
push 0x1001e3f0
push 0x895abd
push 0xe9
call fcn.100b1680
push 0x1001e490
push 0x895b32
push 0xe9
call fcn.100b1680
push 0x1001e530
push 0x895ba7
push 0xe9
call fcn.100b1680
push 0x10021100
push 0x812120
push 0xe9
call fcn.100b1680
add esp, 0x48
push 0x1001fef0
push 0x810f45
push 0xe8
call fcn.100b1680
push 0x1001fef0
push 0x8117ee
push 0xe8
call fcn.100b1680
push 0x1001e310
push 0x810fe7
push 0xe8
call fcn.100b1680
push 0x1001e310
push 0x811890
push 0xe8
call fcn.100b1680
push 0x1001e2c0
push 0x810f97
push 0xe8
call fcn.100b1680
push 0x1001e2c0
push 0x811840
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x1001ff50
push 0x810a1a
push 0xe8
call fcn.100b1680
push 0x10020010
push 0x810be5
push 0xe8
call fcn.100b1680
push 0x1001ff50
push 0x810d2c
push 0xe8
call fcn.100b1680
push 0x1001ff50
push 0x810dc3
push 0xe8
call fcn.100b1680
push 0x1001ff50
push 0x810ef0
push 0xe8
call fcn.100b1680
push 0x1001ff50
push 0x8112a6
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x10020010
push 0x81147f
push 0xe8
call fcn.100b1680
push 0x1001ff50
push 0x8115c9
push 0xe8
call fcn.100b1680
push 0x1001ff50
push 0x811660
push 0xe8
call fcn.100b1680
push 0x1001ff50
push 0x811790
push 0xe8
call fcn.100b1680
push 0x10020110
push 0x810a97
push 0xe8
call fcn.100b1680
push 0x10020110
push 0x810c62
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x10020110
push 0x810e40
push 0xe8
call fcn.100b1680
push 0x10020110
push 0x811323
push 0xe8
call fcn.100b1680
push 0x10020110
push 0x8114fc
push 0xe8
call fcn.100b1680
push 0x10020110
push 0x8116dd
push 0xe8
call fcn.100b1680
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
add esp, 0x30
push eax
push 0x40
push 5
push 0x80f845
call esi
mov eax, 0x80f845
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x80f845
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x80f855
call esi
mov eax, 0x80f855
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x80f855
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x80f84d
call esi
mov eax, 0x80f84d
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x80f84d
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x80ff28
call esi
mov eax, 0x80ff28
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x80ff28
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x8100bb
call esi
mov eax, 0x8100bb
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x8100bb
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x810389
call esi
mov eax, 0x810389
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x810389
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x810659
call esi
mov eax, 0x810659
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x810659
call esi
push 0x100201e0
push 0x80feef
push 0xe8
call fcn.100b1680
push 0x100201e0
push 0x80fe56
push 0xe8
call fcn.100b1680
push 0x100201e0
push 0x810083
push 0xe8
call fcn.100b1680
push 0x100201e0
push 0x810624
push 0xe8
call fcn.100b1680
push 0x100201e0
push 0x810354
push 0xe8
call fcn.100b1680
push 0x100205d0
push 0x80ff56
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x100205d0
push 0x8100e9
push 0xe8
call fcn.100b1680
push 0x100205d0
push 0x810699
push 0xe8
call fcn.100b1680
push 0x100205d0
push 0x8103b7
push 0xe8
call fcn.100b1680
push 0x100206b0
push 0x80ffa7
push 0xe8
call fcn.100b1680
push 0x100206b0
push 0x81013a
push 0xe8
call fcn.100b1680
push 0x100206b0
push 0x810408
push 0xe8
call fcn.100b1680
add esp, 0x48
push 0x100206b0
push 0x8106ea
push 0xe8
call fcn.100b1680
add esp, 0xc
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x80f258
call esi
mov eax, 0x80f258
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x80f258
call esi
push 0x10020750
push 0x80f92d
push 0xe8
call fcn.100b1680
push 0x10020a50
push 0x80f968
push 0xe8
call fcn.100b1680
push 0x10021040
push 0x80f9a3
push 0xe8
call fcn.100b1680
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_4
push 0x80fa02
push 0xe8
call fcn.100b1680
add esp, 0x30
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d52b0
mov esp, ebp
pop ebp
ret