Function at 0x10029698
Capabilities:
Access peb ldr_data
Get process filename
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x248
mov esi, ecx
mov dword [esi + 0x298], 0
mov dword [esi + 0xe0], 0
mov dword [esi + 0xdc], 0
mov dword [esi + 0xe8], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xf0], 0
mov dword [esi + 0xec], 0
mov dword [esi + 0xf4], 0
mov edi, dword [0x10229ef4]
lea eax, [esp + 0x228]
mov dword [esp], eax
mov dword [esp + 4], 0x1004f960
call fcn.1002e710
lea ecx, [esp + 0x228]
call fcn.10016cd0
mov dword [esp], eax
call edi
sub esp, 4
mov dword [esi + 0xf8], eax
lea ecx, [esp + 0x228]
call fcn.10021010
lea edi, [esi + 0x114]
mov dword [esp], edi
mov dword [esp + 8], 0x114
mov dword [esp + 4], 0
call fcn.10002f10
mov dword [esi + 0x114], 0x114
mov dword [esp], edi
call dword [0x1022ad30]
sub esp, 4
lea eax, [esi + 0x228]
mov dword [esp], eax
call dword [0x1022a8c0]
sub esp, 4
mov eax, dword [esi + 0xf8]
mov ecx, dword [eax + 0x3c]
movzx edx, word [eax + ecx + 0x40]
shl edx, 8
movzx eax, word [eax + ecx + 0x42]
or eax, edx
mov dword [esi + 0x294], eax
lea ecx, [eax - 0x501]
cmp ecx, 0xfe
ja 0x100297be
or byte [esi + 0x298], 1
mov eax, dword [esi + 0x294]
cmp eax, 0x600
jne 0x100297cc
or byte [esi + 0x298], 2
mov eax, dword [esi + 0x294]
cmp eax, 0x601
jne 0x100297e6
or byte [esi + 0x298], 4
mov eax, dword [esi + 0x294]
cmp eax, 0x602
jb 0x100297f4
or byte [esi + 0x298], 8
mov eax, dword [esi + 0x294]
cmp eax, 0x602
jne 0x1002980e
or byte [esi + 0x298], 0x10
mov eax, dword [esi + 0x294]
cmp eax, 0x603
jb 0x1002981c
or byte [esi + 0x298], 0x20
mov dword [esi + 0x24c], 0x1f0fff
mov dword [esi + 0x250], 0x1f03ff
cmp dword [esi + 0x294], 0x600
jb 0x10029850
or dword [esi + 0x24c], 0xffff
or dword [esi + 0x250], 0xffff
call dword [0x1022a39c]
mov dword [esi + 0x10c], eax
mov ecx, dword [esi + 0x24c]
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], 1
call dword [0x1022ad1c]
sub esp, 0xc
mov dword [esi + 0x104], eax
mov dword [esi + 0x108], 0
call dword [0x10229100]
mov dword [esi + 0xfc], eax
lea edi, [esi + 0x100]
mov eax, dword [esi + 0x104]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x2002b
call dword [0x1022973c]
sub esp, 0xc
test eax, eax
jne 0x100298c4
mov dword [edi], 0
mov eax, dword fs:[0x30]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101df484
call fcn.1002e480
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004b700
call fcn.1002e480
mov dword [esi], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e0aa8
call fcn.1002e480
mov dword [esi + 4], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e45c0
call fcn.1002e480
mov dword [esi + 8], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10051af0
call fcn.1002e480
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10043120
call fcn.1002e480
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e5828
call fcn.1002e480
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e0afc
call fcn.1002e480
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004fa8c
call fcn.1002e480
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e4656
call fcn.1002e480
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004a110
call fcn.1002e480
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e39b4
call fcn.1002e480
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e1674
call fcn.1002e480
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e2c18
call fcn.1002e480
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101db3a0
call fcn.1002e480
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101dccf2
call fcn.1002e480
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10051b60
call fcn.1002e480
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e58fe
call fcn.1002e480
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101db466
call fcn.1002e480
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10051bc6
call fcn.1002e480
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004fb84
call fcn.1002e480
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e2c9e
call fcn.1002e480
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004ead0
call fcn.1002e480
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101dec6c
call fcn.1002e480
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10051d16
call fcn.1002e480
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x100547d0
call fcn.1002e480
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004fc2c
call fcn.1002e480
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101ddc5e
call fcn.1002e480
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101dcd6e
call fcn.1002e480
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004b734
call fcn.1002e480
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101df55c
call fcn.1002e480
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101ddd3c
call fcn.1002e480
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e0200
call fcn.1002e480
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004a15e
call fcn.1002e480
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004b7e6
call fcn.1002e480
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e0b5c
call fcn.1002e480
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e0c00
call fcn.1002e480
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004c6e0
call fcn.1002e480
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x100554a0
call fcn.1002e480
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101dcd90
call fcn.1002e480
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10053960
call fcn.1002e480
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10055662
call fcn.1002e480
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e3a14
call fcn.1002e480
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10049210
call fcn.1002e480
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e470a
call fcn.1002e480
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101db4ec
call fcn.1002e480
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x100556ae
call fcn.1002e480
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x101e16e4
call fcn.1002e480
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x100431fe
call fcn.1002e480
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x100556fa
call fcn.1002e480
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x100557e2
call fcn.1002e480
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10053a20
call fcn.1002e480
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004a200
call fcn.1002e480
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10055814
call fcn.1002e480
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004eb34
call fcn.1002e480
mov dword [esi + 0xd8], eax
mov ax, word [0x1005d178]
mov word [esp + 0x1c], ax
mov eax, dword [0x1005d174]
mov dword [esp + 0x18], eax
lea eax, [esi + 0x29c]
mov dword [esp], eax
mov dword [esp + 8], 0x34d0
mov dword [esp + 4], 0
call fcn.10002f10
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [0x1022a224]
sub esp, 8
mov ax, word [esp + 0x20]
test ax, ax
je 0x1002a465
lea edi, [esp + 0x28]
nop word cs:[eax + eax]
movzx eax, ax
mov dword [esp], eax
call fcn.100048db
mov word [edi - 8], ax
mov word [esp + 0x18], ax
movzx ebx, word [edi - 8]
add ebx, 0xffffff9f
movzx eax, ax
cmp eax, 0x7a
ja 0x1002a44d
imul eax, ebx, 0x34
lea eax, [esi + eax + 0x29c]
lea ecx, [esp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [0x1022a0ac]
sub esp, 0xc
test eax, eax
jne 0x1002a45a
imul eax, ebx, 0x34
mov word [esi + eax + 0x29c], 0
mov ax, word [edi]
add edi, 8
test ax, ax
jne 0x1002a400
mov ecx, esi
call fcn.1002a476
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret