Function at 0x1009caf2
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1014b1a1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
push ebx
push esi
xor eax, eax
mov byte [esp + 0x6b], dl
mov ebx, ecx
mov dword [esp + 0xc], 0x64026a06
push edi
mov dword [esp + 0x14], 0x7b087807
mov ecx, eax
mov dword [esp + 0x18], 0x76047505
mov esi, eax
mov dword [esp + 0x1c], 0xc9127003
mov dword [esp + 0x20], 0x84000970
mov dword [esp + 0x24], 0x45ff34b0
mov dword [esp + 0x28], 0xbca92f6f
mov dword [esp + 0x2c], 0x8cf740f0
mov dword [esp + 0x30], 0x73007b01
cmp ecx, 0xe
jne 0x1009cb77
push 0x12
pop esi
push 0x1e
pop ecx
jmp 0x1009cba3
movzx eax, byte [esp + ecx + 0x11]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x1009cb97
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x10]
mov byte [esp + eax + 0xac], dl
add ecx, 2
cmp ecx, 0x24
jb 0x1009cb6a
lea eax, [esp + 0xac]
mov byte [esp + 0xb5], 0
push eax
lea ecx, [esp + 0x8c]
call fcn.1001b5bd
and dword [esp + 0x18c], 0
mov edx, eax
mov ecx, ebx
call fcn.1001cde4
or dword [esp + 0x18c], 0xffffffff
lea ecx, [esp + 0x88]
push 0
push 1
call fcn.10016cae
xor eax, eax
mov dword [esp + 0x10], 0x6f016a06
lea edi, [esp + 0xac]
mov dword [esp + 0x14], 0x680c6803
stosd dword es:[edi], eax
xor edx, edx
mov dword [esp + 0x18], 0x7f0d7404
mov dword [esp + 0x1c], 0x6e09720e
mov dword [esp + 0x20], 0x7402850b
stosd dword es:[edi], eax
mov dword [esp + 0x24], 0x8a078105
mov dword [esp + 0x28], 0x7d008d08
mov word [esp + 0x2c], 0x900a
stosw word es:[edi], ax
movzx ecx, byte [esp + edx + 0x11]
sub ecx, edx
dec ecx
jns 0x1009cc5a
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [esp + edx + 0x10]
add edx, 2
mov byte [esp + eax + 0xc8], cl
cmp edx, 0x1e
jb 0x1009cc3e
lea eax, [esp + 0xc8]
mov byte [esp + 0xd7], 0
push eax
lea ecx, [esp + 0x8c]
call fcn.1001b5bd
mov edx, eax
mov dword [esp + 0x18c], 1
mov ecx, ebx
call fcn.1001cde4
or dword [esp + 0x18c], 0xffffffff
lea ecx, [esp + 0x88]
push 0
push 1
call fcn.10016cae
xor eax, eax
mov dword [esp + 0x10], 0x6c0a6003
lea edi, [esp + 0xc8]
mov dword [esp + 0x14], 0x6a076600
stosd dword es:[edi], eax
mov dword [esp + 0x18], 0x6b042502
mov dword [esp + 0x1c], 0x6e067608
mov dword [esp + 0x20], 0x840b7a02
stosd dword es:[edi], eax
mov dword [esp + 0x24], 0x81097601
mov dword [esp + 0x28], 0x8d0c8305
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov esi, eax
mov ecx, eax
cmp ecx, 8
jne 0x1009cd0b
push 2
pop esi
jmp 0x1009cd37
movzx eax, byte [esp + ecx + 0x11]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x1009cd2b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x10]
mov byte [esp + eax + 0xb8], dl
add ecx, 2
cmp ecx, 0x1c
jb 0x1009cd01
lea eax, [esp + 0xb8]
mov byte [esp + 0xc5], 0
push eax
lea ecx, [esp + 0x8c]
call fcn.1001b5bd
mov edx, eax
mov dword [esp + 0x18c], 2
mov ecx, ebx
call fcn.1001cde4
or dword [esp + 0x18c], 0xffffffff
lea ecx, [esp + 0x88]
push 0
push 1
call fcn.10016cae
xor eax, eax
mov dword [esp + 0x10], 0x77246201
lea edi, [esp + 0xb8]
mov dword [esp + 0x14], 0x45a69a05
stosd dword es:[edi], eax
mov dword [esp + 0x18], 0x7661d10
mov dword [esp + 0x1c], 0x177b2179
mov dword [esp + 0x20], 0x1e801470
stosd dword es:[edi], eax
mov dword [esp + 0x24], 0x67d1f78
mov dword [esp + 0x28], 0x37b1678
mov dword [esp + 0x2c], 0x188d108b
stosd dword es:[edi], eax
mov dword [esp + 0x30], 0x2782118f
mov dword [esp + 0x34], 0x228f0f84
mov dword [esp + 0x38], 0x15840488
stosw word es:[edi], ax
xor eax, eax
mov dword [esp + 0x3c], 0x12950086
mov ecx, eax
mov dword [esp + 0x40], 0x1a910b99
mov esi, eax
mov dword [esp + 0x44], 0x1ca40297
mov dword [esp + 0x48], 0x1b981999
mov dword [esp + 0x4c], 0x5a80e96
mov dword [esp + 0x50], 0x20aa26b1
mov dword [esp + 0x54], 0xaa00cb4
mov dword [esp + 0x58], 0x13ab09a8
mov dword [esp + 0x5c], 0xda823bb
mov dword [esp + 0x60], 0x25b608ae
mov byte [esp + 0x64], 0xb8
cmp ecx, 4
jne 0x1009ce55
push 5
pop esi
push 7
pop ecx
jmp 0x1009ce81
movzx eax, byte [esp + ecx + 0x11]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x1009ce75
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x10]
mov byte [esp + eax + 0x154], dl
add ecx, 2
cmp ecx, 0x55
jb 0x1009ce48
lea eax, [esp + 0x154]
mov byte [esp + 0x17c], 0
push eax
lea ecx, [esp + 0x8c]
call fcn.1001b5bd
mov edx, eax
mov dword [esp + 0x18c], 3
mov ecx, ebx
call fcn.1001cde4
or dword [esp + 0x18c], 0xffffffff
lea ecx, [esp + 0x88]
push 0
push 1
call fcn.10016cae
push 0x29
lea eax, [esp + 0x158]
push 0
push eax
call fcn.10123950
add esp, 0xc
mov dword [esp + 0x10], 0x6917731c
xor eax, eax
mov dword [esp + 0x14], 0x7a0f711a
mov dword [esp + 0x18], 0x6a167d23
mov ecx, eax
mov dword [esp + 0x1c], 0x6e107603
mov esi, eax
mov dword [esp + 0x20], 0x7418850b
mov dword [esp + 0x24], 0x7a087a05
mov dword [esp + 0x28], 0x7e1f7c14
mov dword [esp + 0x2c], 0x95008b0d
mov dword [esp + 0x30], 0x9209950e
mov dword [esp + 0x34], 0x950a8a01
mov dword [esp + 0x38], 0x901d8f04
mov dword [esp + 0x3c], 0xa41b9f02
mov dword [esp + 0x40], 0xa220960c
mov dword [esp + 0x44], 0xac21a913
mov dword [esp + 0x48], 0xa805a219
mov dword [esp + 0x4c], 0x1e57b4aa
mov dword [esp + 0x50], 0x22a3119a
mov dword [esp + 0x54], 0x12a915ad
mov dword [esp + 0x58], 0x7a906a8
mov byte [esp + 0x5c], 0xa6
cmp ecx, 0x3a
jne 0x1009cf95
push 5
pop esi
push 0x3d
pop ecx
jmp 0x1009cfc1
movzx eax, byte [esp + ecx + 0x11]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x1009cfb5
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x10]
mov byte [esp + eax + 0xfc], dl
add ecx, 2
cmp ecx, 0x4d
jb 0x1009cf88
lea eax, [esp + 0xfc]
mov byte [esp + 0x120], 0
push eax
lea ecx, [esp + 0x8c]
call fcn.1001b5bd
mov edx, eax
mov dword [esp + 0x18c], 4
mov ecx, ebx
call fcn.1001cde4
or dword [esp + 0x18c], 0xffffffff
lea ecx, [esp + 0x88]
push 0
push 1
call fcn.10016cae
push 9
xor eax, eax
mov dword [esp + 0x14], 0x68076401
pop ecx
lea edi, [esp + 0xfc]
mov dword [esp + 0x14], 0xc559c50f
rep stosd dword es:[edi], eax
mov dword [esp + 0x18], 0x5041223a
mov dword [esp + 0x1c], 0x76eb7b10
mov dword [esp + 0x20], 0x50c1871
stosb byte es:[edi], al
xor eax, eax
mov dword [esp + 0x24], 0x477066e
mov ecx, eax
mov dword [esp + 0x28], 0x26c0080
mov esi, eax
mov dword [esp + 0x2c], 0x3730878
mov byte [esp + 0x30], 0x70
cmp ecx, 4
jne 0x1009d078
push 0xf
pop esi
push 0x11
pop ecx
jmp 0x1009d0a4
movzx eax, byte [esp + ecx + 0x11]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x1009d098
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x10]
mov byte [esp + eax + 0xa0], dl
add ecx, 2
cmp ecx, 0x21
jb 0x1009d06b
lea eax, [esp + 0xa0]
mov byte [esp + 0xa9], 0
push eax
lea ecx, [esp + 0x8c]
call fcn.1001b5bd
mov edx, eax
mov dword [esp + 0x18c], 5
mov ecx, ebx
call fcn.1001cde4
or dword [esp + 0x18c], 0xffffffff
lea ecx, [esp + 0x88]
push 0
push 1
call fcn.10016cae
xor eax, eax
mov dword [esp + 0x10], 0x76027309
lea edi, [esp + 0xa0]
mov dword [esp + 0x14], 0x7305730e
stosd dword es:[edi], eax
mov dword [esp + 0x18], 0x74016d07
mov dword [esp + 0x1c], 0x74066e0b
mov dword [esp + 0x20], 0x7700800d
stosd dword es:[edi], eax
mov dword [esp + 0x24], 0xd7cbac0c
mov dword [esp + 0x28], 0x93e6a92e
mov dword [esp + 0x2c], 0xcb010a0e
stosw word es:[edi], ax
xor eax, eax
mov dword [esp + 0x30], 0x76087a0a
mov ecx, eax
mov dword [esp + 0x34], 0x8e0f7a03
mov esi, eax
mov dword [esp + 0x38], 0x920c7f04
cmp ecx, 0x14
jne 0x1009d16c
push 0xc
pop esi
push 0x1e
pop ecx
jmp 0x1009d198
movzx eax, byte [esp + ecx + 0x11]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x1009d18c
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x10]
mov byte [esp + eax + 0xe8], dl
add ecx, 2
cmp ecx, 0x2c
jb 0x1009d15f
xor eax, eax
mov dword [esp + 0x10], 0x6c016d05
mov byte [esp + 0xf8], al
mov ecx, eax
mov dword [esp + 0x14], 0x6904730d
mov esi, eax
mov dword [esp + 0x18], 0x70067c0e
mov dword [esp + 0x1c], 0x9ab6b613
mov dword [esp + 0x20], 0x6258e66e
mov dword [esp + 0x24], 0x9a2acc52
mov dword [esp + 0x28], 0x9afc4de
mov dword [esp + 0x2c], 0x3de54d5
mov dword [esp + 0x30], 0x773006e
mov dword [esp + 0x34], 0xc780970
mov dword [esp + 0x38], 0x88a0b84
mov dword [esp + 0x3c], 0x27c0a8b
mov byte [esp + 0x40], 0x90
cmp ecx, 0xc
jne 0x1009d21f
push 0x13
pop esi
push 0x1d
pop ecx
jmp 0x1009d24b
movzx eax, byte [esp + ecx + 0x11]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x1009d23f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x10]
mov byte [esp + eax + 0xd8], dl
add ecx, 2
cmp ecx, 0x31
jb 0x1009d212
lea eax, [esp + 0xe8]
mov byte [esp + 0xe7], 0
push eax
lea ecx, [esp + 0x128]
call fcn.1001b5bd
lea eax, [esp + 0xd8]
mov dword [esp + 0x18c], 6
push eax
lea ecx, [esp + 0x140]
call fcn.1001b5bd
mov dword [esp + 0x18c], 7
lea edi, [esp + 0xe8]
xor eax, eax
lea esi, [esp + 0x124]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
xor eax, eax
lea edi, [esp + 0xd8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push esi
mov ecx, ebx
call fcn.1001cac0
test al, al
je 0x1009d3f2
push esi
mov ecx, ebx
call fcn.1001c95a
mov ecx, eax
call fcn.1001cba6
test al, al
je 0x1009d3f2
cmp byte [esp + 0x6f], 0
jne 0x1009d301
push esi
mov ecx, ebx
call fcn.1001c95a
mov ecx, eax
call fcn.1001c2b1
cmp eax, 1
je 0x1009d3f2
mov edx, esi
mov ecx, ebx
call fcn.1001cde4
xor eax, eax
mov dword [esp + 0x70], 0x45067400
mov dword [esp + 0x74], 0xafbeb4b4
mov ecx, eax
mov dword [esp + 0x78], 0x79036402
mov edi, eax
mov dword [esp + 0x7c], 0x7d016c04
cmp ecx, 2
jne 0x1009d33c
push 6
pop edi
push edi
pop ecx
jmp 0x1009d368
movzx eax, byte [esp + ecx + 0x71]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x1009d35c
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [esp + ecx + 0x70]
mov byte [esp + eax + 0x80], dl
add ecx, 2
cmp ecx, 0x10
jb 0x1009d330
push 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x89], 0
call fcn.1001beba
lea eax, [esp + 0x80]
mov byte [esp + 0x18c], 8
push eax
lea ecx, [esp + 0x14]
call fcn.1001b5bd
lea ecx, [esp + 0x88]
mov byte [esp + 0x18c], 9
push ecx
push ecx
push eax
mov ecx, ebx
call fcn.1001c95a
pop ecx
mov ecx, eax
call fcn.1001c0d6
push 0
push 1
lea ecx, [esp + 0x18]
call fcn.10016cae
lea ecx, [esp + 0x88]
mov byte [esp + 0x18c], 7
call fcn.1001c059
xor eax, eax
mov dword [esp + 0x80], eax
mov word [esp + 0x84], ax
add esi, 0x18
lea eax, [esp + 0x154]
cmp esi, eax
jne 0x1009d2bb
or dword [esp + 0x18c], 0xffffffff
lea eax, [esp + 0x124]
push fcn.10016b6b
push 2
push 0x18
push eax
call fcn.10123e3b
mov ecx, dword [esp + 0x184]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret