Function at 0xb9696c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1002e478
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x1003a37c]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push esi
push edi
mov eax, dword [0x1003a37c]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xc]
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
cmp edi, ebx
je 0xb969d9
mov eax, dword [edi]
mov ecx, dword [eax]
push edi
call ecx
add esp, 4
mov dword [esp + 0x100], ebx
mov dword [esp + 0x28], ebx
cmp edi, ebx
je 0xb96a0a
mov edx, dword [edi]
mov ecx, dword [edx + 0xc]
push 0x200
lea eax, [esp + 0x2c]
push eax
push 0x2bc
push edi
call ecx
add esp, 0x10
test eax, eax
je 0xb96a0a
mov dword [esp + 0x28], ebx
mov dword [esp + 0x100], 1
cmp dword [esp + 0x28], ebx
je 0xb96bc7
push 0x5c
push 0x10032908
call fcn.00bac1ac
add esp, 8
test eax, eax
je 0xb96a46
push 0x5c
push 0x10032908
call fcn.00bac1ac
add esp, 8
lea edi, [eax + 1]
jmp 0xb96a4b
mov edi, 0x10032908
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x68], eax
neg eax
sbb eax, eax
and eax, 0x200
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], 0x201
mov dword [esp + 0x78], 6
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x80], 0x20
mov byte [esp + 0x100], 2
mov eax, 0x10032920
xor ecx, ecx
jmp 0xb96a9c
inc eax
inc ecx
cmp byte [eax], bl
jne 0xb96a9c
push ecx
push 0x10032920
push ebx
push ebx
lea eax, [esp + 0x74]
call fcn.00b91f9c
add esp, 0x10
mov eax, edi
cmp edi, ebx
jne 0xb96ac1
mov eax, 0x10031ec8
xor ecx, ecx
cmp eax, ebx
je 0xb96ad2
cmp byte [eax], bl
je 0xb96ad2
nop
inc ecx
cmp byte [ecx + eax], bl
jne 0xb96acc
push ecx
push eax
push ebx
push ebx
lea eax, [esp + 0x74]
call fcn.00b91f9c
push 1
lea eax, [esp + 0x30]
push eax
push ebx
push ebx
lea eax, [esp + 0x84]
mov byte [esp + 0x3c], 0x3a
call fcn.00b91f9c
mov eax, dword [esp + 0x94]
and eax, 0xe00
add esp, 0x20
cmp eax, 0x400
je 0xb96b20
sub eax, 0x800
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
jmp 0xb96b25
mov eax, 8
push ebx
push 0x151
mov edx, 0x10033224
mov ecx, eax
lea ebx, [esp + 0x6c]
call fcn.00ba4a7c
add esp, 8
xor eax, eax
inc eax
cmp byte [eax + 0x10032904], 0
jne 0xb96b40
push eax
push 0x10032904
push 0
push 0
lea eax, [esp + 0x74]
call fcn.00b91f9c
add esp, 0x10
xor eax, eax
inc eax
cmp byte [eax + 0x10032a68], 0
jne 0xb96b62
push eax
push 0x10032a68
push 0
push 0
lea eax, [esp + 0x74]
call fcn.00b91f9c
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
push ecx
push 0
push 0
lea eax, [esp + 0x84]
call fcn.00b91f9c
mov byte [esp + 0x120], 1
mov eax, dword [esp + 0x84]
add esp, 0x20
test eax, eax
je 0xb96bc5
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0xb96bc5
mov esi, dword [esp + 0x70]
mov edx, dword [eax]
push esi
push ecx
push eax
mov eax, dword [edx + 0x10]
call eax
add esp, 0xc
xor ebx, ebx
mov dword [esp + 0x100], 0xffffffff
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0xb96be5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x100], 3
xor ecx, ecx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x84], bl
mov byte [esp + 0x88], bl
mov word [esp + 0x8a], cx
lea edx, [esp + 0x9c]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], 0xf
mov byte [esp + 0x9c], bl
add esi, 0x6c
mov ecx, 0x10032058
mov edx, esi
mov byte [esp + 0x100], 7
call fcn.00ba18dc
mov edi, dword [esp + 0x30]
neg al
sbb al, al
and al, 3
inc al
mov byte [esp + 0x84], al
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x8c]
call fcn.00b95e5c
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 8]
mov eax, dword [edx + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
lea edi, [esp + 0x3c]
push edi
lea edi, [esp + 0x3c]
push edi
push ecx
mov ecx, dword [0x1003d920]
push ecx
lea ecx, [esp + 0x94]
push ecx
push eax
call edx
add esp, 0x18
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0xb96d29
mov dword [esp + 0x30], ebx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x68]
push ecx
mov edi, 0x10032a84
mov byte [esp + 0x108], 8
call fcn.00b9cf0c