Function at 0x100fa310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 8
push esi
mov esi, ecx
mov edx, dword [esi + 0x158]
mov eax, dword [edx]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [eax], 0x100e8dc0
mov ecx, dword [esi + 0x158]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov eax, dword [eax]
mov dword [eax], 0x100e8d20
call fcn.1007cca0
cmp dword [0x1015690c], 0
jne 0x100fa368
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x1015690c], eax
xor eax, eax
mov ecx, 0x10156910
xchg dword [ecx], eax
mov eax, dword [esi + 0xdc]
inc eax
cmp byte [esi + 0xe4], 0
mov dword [esi + 0xdc], eax
jne 0x100fa3bc
test eax, eax
je 0x100fa3bc
mov ecx, dword [esi + 0xe8]
lea eax, [esp + 8]
mov dword [esi + 0xe0], ecx
mov edx, 0x100eb3f0
mov byte [esi + 0xe4], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x24]
inc eax
cmp byte [esi + 0x2c], 0
mov dword [esi + 0x24], eax
jne 0x100fa416
test eax, eax
je 0x100fa416
mov ecx, dword [esi + 0x30]
lea eax, [esp + 8]
mov dword [esi + 0x28], ecx
mov edx, 0x100ea550
mov byte [esi + 0x2c], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x94]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eba30
mov dword [esi + 0x34], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x98]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x3c]
inc eax
cmp byte [esi + 0x44], 0
mov dword [esi + 0x3c], eax
jne 0x100fa511
test eax, eax
je 0x100fa511
mov ecx, dword [esi + 0x48]
lea eax, [esp + 8]
mov dword [esi + 0x40], ecx
mov edx, 0x100eb200
mov byte [esi + 0x44], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x44]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb360
mov dword [esi + 0x4c], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x48]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100e9110
mov dword [esi + 0x50], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x60]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb240
mov dword [esi + 0x54], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6c]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100ea280
mov dword [esi + 0x58], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x8c]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100e9f30
mov dword [esi + 0x5c], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xb0]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb5e0
mov dword [esi + 0x60], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xe8]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x68]
inc eax
cmp byte [esi + 0x70], 0
mov dword [esi + 0x68], eax
jne 0x100fa547
test eax, eax
je 0x100fa547
mov ecx, dword [esi + 0x74]
lea eax, [esp + 8]
mov dword [esi + 0x6c], ecx
mov edx, 0x100ebb00
mov byte [esi + 0x70], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x7c]
inc eax
cmp byte [esi + 0x84], 0
mov dword [esi + 0x7c], eax
jne 0x100fa58c
test eax, eax
je 0x100fa58c
mov ecx, dword [esi + 0x88]
lea eax, [esp + 8]
mov dword [esi + 0x80], ecx
mov edx, 0x100eb9a0
mov byte [esi + 0x84], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 8]
inc eax
cmp byte [esi + 0x10], 0
mov dword [esi + 8], eax
jne 0x100fa607
test eax, eax
je 0x100fa607
mov ecx, dword [esi + 0x14]
lea eax, [esp + 8]
mov dword [esi + 0xc], ecx
mov edx, 0x100eb590
mov byte [esi + 0x10], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x148]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb6a0
mov dword [esi + 0x18], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x194]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb520
mov dword [esi + 0x1c], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x368]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0xf0]
inc eax
cmp byte [esi + 0xf8], 0
mov dword [esi + 0xf0], eax
jne 0x100fa652
test eax, eax
je 0x100fa652
mov ecx, dword [esi + 0xfc]
lea eax, [esp + 8]
mov dword [esi + 0xf4], ecx
mov edx, 0x100eb000
mov byte [esi + 0xf8], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0xc8]
inc eax
cmp byte [esi + 0xd0], 0
mov dword [esi + 0xc8], eax
jne 0x100fa69d
test eax, eax
je 0x100fa69d
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 8]
mov dword [esi + 0xcc], ecx
mov edx, 0x100eb8a0
mov byte [esi + 0xd0], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x74]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0x118]
inc eax
cmp byte [esi + 0x120], 0
mov dword [esi + 0x118], eax
jne 0x100fa6e8
test eax, eax
je 0x100fa6e8
mov ecx, dword [esi + 0x124]
lea eax, [esp + 8]
mov dword [esi + 0x11c], ecx
mov edx, 0x100ea310
mov byte [esi + 0x120], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x54]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x90]
inc eax
cmp byte [esi + 0x98], 0
mov dword [esi + 0x90], eax
jne 0x100fa7a7
test eax, eax
je 0x100fa7a7
mov ecx, dword [esi + 0x9c]
lea eax, [esp + 8]
mov dword [esi + 0x94], ecx
mov edx, 0x100eb840
mov byte [esi + 0x98], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb740
mov dword [esi + 0xa0], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb790
mov dword [esi + 0xa4], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x1c]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb7f0
mov dword [esi + 0xa8], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x38]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x12c]
inc eax
cmp byte [esi + 0x134], 0
mov dword [esi + 0x12c], eax
jne 0x100fa819
test eax, eax
je 0x100fa819
mov ecx, dword [esi + 0x138]
lea eax, [esp + 8]
mov dword [esi + 0x130], ecx
mov edx, 0x100eb300
mov byte [esi + 0x134], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb2b0
mov dword [esi + 0x13c], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0x130]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10c]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x140], eax
mov eax, dword [esi + 0x104]
inc eax
cmp byte [esi + 0x10c], 0
mov dword [esi + 0x104], eax
jne 0x100fa864
test eax, eax
je 0x100fa864
mov ecx, dword [esi + 0x110]
lea eax, [esp + 8]
mov dword [esi + 0x108], ecx
mov edx, 0x100ea500
mov byte [esi + 0x10c], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x34]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0xb0]
inc eax
cmp byte [esi + 0xb8], 0
mov dword [esi + 0xb0], eax
jne 0x100fa8d9
test eax, eax
je 0x100fa8d9
mov ecx, dword [esi + 0xbc]
lea eax, [esp + 8]
mov dword [esi + 0xb4], ecx
mov edx, 0x100eb4d0
mov byte [esi + 0xb8], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x9c]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov edx, 0x100eb6f0
mov dword [esi + 0xc0], eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 0xb4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xa4]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0x144]
inc eax
cmp byte [esi + 0x14c], 0
mov dword [esi + 0x144], eax
jne 0x100fa924
test eax, eax
je 0x100fa924
mov ecx, dword [esi + 0x150]
lea eax, [esp + 8]
mov dword [esi + 0x148], ecx
mov edx, 0x100ebc00
mov byte [esi + 0x14c], 1
push eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 8]
call fcn.1007ccf0
mov eax, dword [esp + 8]
mov dword [esi + 0x154], eax
mov edx, 1
xor ecx, ecx
pop esi
add esp, 8
jmp fcn.1007cfa0