Function at 0xa1e01c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10071860
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push esi
push edi
mov eax, dword [0x1008e390]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
push 0x2ff
xor edi, edi
push 0x10078850
lea esi, [ebx + 0x98]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], edi
call fcn.00a19f1c
mov ecx, 0x10078e00
mov esi, eax
call fcn.00a1a24c
add esp, 8
mov ecx, ebx
call fcn.00a1cb4c
mov ecx, ebx
call fcn.00a1d33c
push ebx
call fcn.00a1cc5c
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
lea edx, [ebx + 0x24]
push edx
push edi
push 0x16563f4e
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0x10
push 0x305
push 0x10078850
mov ecx, 0x10078e2c
mov esi, eax
call fcn.00a1a24c
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
add esp, 8
lea edx, [ebx + 0x28]
push edx
push edi
push 0x9156751b
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0x10
push 0x306
push 0x10078850
mov ecx, 0x10078e64
mov esi, eax
call fcn.00a1a24c
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
add esp, 8
lea edx, [ebx + 0x2c]
push edx
push 0x325e6bc8
push 0x5e5d84c0
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0x10
push 0x307
push 0x10078850
mov ecx, 0x10078e90
mov esi, eax
call fcn.00a1a24c
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
add esp, 8
lea edx, [ebx + 0x30]
push edx
push edi
push 0x9f70e8af
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0x10
push 0x308
push 0x10078850
mov ecx, 0x10078ecc
mov esi, eax
call fcn.00a1a24c
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
add esp, 8
lea edx, [ebx + 0x34]
push edx
push edi
push 0x15a563bd
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0x10
cmp eax, edi
jge 0xa1e314
mov esi, dword [ebx + 0x18]
push 0x2bc
lea ecx, [ebp - 0x24]
push ecx
call fcn.00a0e3cc
cmp dword [ebp - 0x20], edi
je 0xa1e2fe
push 0x5c
push 0x10078850
call fcn.00a4df1c
add esp, 8
test eax, eax
je 0xa1e1b3
push 0x5c
push 0x10078850
call fcn.00a4df1c
add esp, 8
lea esi, [eax + 1]
jmp 0xa1e1b8
mov esi, 0x10078850
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
neg eax
sbb eax, eax
and eax, 0x200
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], 0x201
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x30], 0x20
mov edx, 0x10078ad0
lea ebx, [ebp - 0x4c]
mov byte [ebp - 4], 2
mov eax, edx
xor ecx, ecx
lea esp, [esp]
cmp byte [eax], 0
je 0xa1e205
inc ecx
inc eax
jmp 0xa1e1fc
push ecx
push edx
push edi
push edi
mov eax, ebx
call fcn.00a0f37c
add esp, 0x10
mov edx, esi
cmp esi, edi
jne 0xa1e21e
mov edx, 0x10077b08
xor ecx, ecx
mov eax, edx
cmp edx, edi
je 0xa1e235
lea ebx, [ebx]
cmp byte [eax], 0
je 0xa1e235
inc ecx
inc eax
jmp 0xa1e22c
push ecx
push edx
push edi
push edi
mov eax, ebx
call fcn.00a0f37c
add esp, 0x10
push 1
lea eax, [ebp - 0x18]
push eax
push edi
push edi
mov eax, ebx
mov byte [ebp - 0x18], 0x3a
call fcn.00a0f37c
mov eax, dword [ebx + 0x10]
and eax, 0xe00
add esp, 0x10
cmp eax, 0x400
je 0xa1e279
sub eax, 0x800
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
jmp 0xa1e27e
mov eax, 8
push edi
push 0x30c
mov edx, 0x100784a8
mov ecx, eax
call fcn.00a17e4c
mov edx, 0x10078acc
add esp, 8
mov eax, edx
xor ecx, ecx
cmp byte [eax], 0
je 0xa1e2a5
inc ecx
inc eax
jmp 0xa1e29c
push ecx
push edx
push 0
push 0
mov eax, ebx
call fcn.00a0f37c
mov edx, 0x10078f0c
add esp, 0x10
mov eax, edx
xor ecx, ecx
cmp byte [eax], 0
je 0xa1e2c7
inc ecx
inc eax
jmp 0xa1e2be
push ecx
push edx
push 0
push 0
mov eax, ebx
call fcn.00a0f37c
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x4c]
add esp, 0x10
test eax, eax
je 0xa1e2f9
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0xa1e2f9
mov esi, dword [ebp - 0x40]
mov edx, dword [eax]
push esi
push ecx
push eax
mov eax, dword [edx + 0x10]
call eax
add esp, 0xc
mov ebx, dword [ebp + 8]
xor edi, edi
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x24]
cmp eax, edi
je 0xa1e314
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
lea edx, [ebx + 0x38]
push edx
push edi
push 0xa4b7aef1
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0x10
cmp eax, edi
jge 0xa1e4df
mov esi, dword [ebx + 0x18]
push 0x12c
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00a0e3cc
cmp dword [ebp - 0x28], edi
je 0xa1e4c9
push 0x5c
push 0x10078850
call fcn.00a4df1c
add esp, 8
test eax, eax
je 0xa1e375
push 0x5c
push 0x10078850
call fcn.00a4df1c
add esp, 8
lea esi, [eax + 1]
jmp 0xa1e37a
mov esi, 0x10078850
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
neg eax
sbb eax, eax
and eax, 0x200
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], 0x201
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x30], 0x20
mov edx, 0x10078ad0
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 4
mov eax, edx
xor ecx, ecx
mov edi, edi
cmp byte [eax], 0
je 0xa1e3c5
inc ecx
inc eax
jmp 0xa1e3bc
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.00a0f37c
add esp, 0x10
mov edx, esi
test esi, esi
jne 0xa1e3e0
mov edx, 0x10077b08
xor ecx, ecx
mov eax, edx
test edx, edx
je 0xa1e3f5
lea esp, [esp]
cmp byte [eax], 0
je 0xa1e3f5
inc ecx
inc eax
jmp 0xa1e3ec
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.00a0f37c
add esp, 0x10
push 1
lea eax, [ebp - 0x18]
push eax
push 0
push 0
mov eax, edi
mov byte [ebp - 0x18], 0x3a
call fcn.00a0f37c
mov eax, dword [edi + 0x10]
and eax, 0xe00
add esp, 0x10
cmp eax, 0x400
je 0xa1e43d
sub eax, 0x800
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
jmp 0xa1e442
mov eax, 8
push 0
push 0x311
mov edx, 0x100784a8
mov ecx, eax
mov ebx, edi
call fcn.00a17e4c
mov edx, 0x10078acc
add esp, 8
mov eax, edx
xor ecx, ecx
cmp byte [eax], 0
je 0xa1e46c
inc ecx
inc eax
jmp 0xa1e463
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.00a0f37c
mov edx, 0x10078f40
add esp, 0x10
mov eax, edx
xor ecx, ecx
lea esp, [esp]
cmp byte [eax], 0
je 0xa1e495
inc ecx
inc eax
jmp 0xa1e48c
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.00a0f37c
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x4c]
add esp, 0x10
test eax, eax
je 0xa1e4c7
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0xa1e4c7
mov esi, dword [ebp - 0x40]
mov edx, dword [eax]
push esi
push ecx
push eax
mov eax, dword [edx + 0x10]
call eax
add esp, 0xc
xor edi, edi
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, edi
je 0xa1e4df
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4