Function at 0x40de93
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43b20c
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x44c4b8]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push esi
push edi
mov eax, dword [0x44c4b8]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x44]
push 0x63aac
mov dword [esp + 0x44], eax
call fcn.0041e4d4
xor ebx, ebx
pop ecx
test eax, eax
je 0x40df3b
mov ecx, eax
call fcn.00412ad6
mov esi, eax
jmp 0x40df3d
mov esi, ebx
test esi, esi
jne 0x40df48
xor eax, eax
jmp 0x40e330
mov eax, dword [0x44d5d0]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x20]
push eax
push 0x444294
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x1c]
push 0x4439e8
push dword [esp + 0x28]
call fcn.004155d0
add esp, 0x10
mov ecx, esi
call fcn.004134cd
push ebx
push dword [esp + 0x18]
push 0x444028
call fcn.0041331e
push ebx
push dword [esp + 0x34]
mov ecx, esi
push 0x44403c
call fcn.0041331e
push ebx
push dword [esp + 0x20]
mov ecx, esi
push 0x44404c
call fcn.0041331e
push ebx
push dword [esp + 0x28]
mov ecx, esi
push 0x4442cc
call fcn.0041331e
push ebx
push dword [esp + 0x2c]
mov ecx, esi
push 0x4442dc
call fcn.0041331e
push ebx
push dword [esp + 0x30]
mov ecx, esi
push 0x4442f0
call fcn.0041331e
push ebx
push dword [esp + 0x40]
mov ecx, esi
push 0x4442fc
call fcn.0041331e
push ebx
push dword [esp + 0x3c]
mov ecx, esi
push 0x444308
call fcn.0041331e
push ebx
push dword [esp + 0x38]
mov ecx, esi
push 0x443074
call fcn.0041331e
push ebx
push dword [esp + 0x44]
mov ecx, esi
push 0x444320
call fcn.0041331e
push ebx
push dword [esp + 0x1c]
mov ecx, esi
push 0x444328
call fcn.0041331e
cmp dword [edi + 0x54], 0
jle 0x40e050
push dword [edi + 0x54]
mov ecx, esi
push 0x4431f0
call fcn.004133a4
push ecx
push 2
push dword [esp + 0x28]
mov ecx, esi
call fcn.00412d65
test eax, eax
jne 0x40e077
push dword [esp + 0x20]
mov ecx, edi
push 0x444338
call fcn.0040ec1d
jmp 0x40e325
mov ecx, esi
call fcn.00413692
push eax
lea ecx, [esp + 0x28]
call fcn.00409f88
mov byte [esp + 0x98], 1
mov ecx, edi
push dword [esp + 0x20]
push 0x444388
call fcn.0040ec1d
mov esi, dword [esp + 0x24]
mov ecx, edi
push esi
push ebx
call fcn.0040ec1d
push 0x44413c
push ebx
mov ecx, edi
call fcn.0040ec1d
sub esp, 0xc
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x58]
mov dword [esp + 0x54], esi
call fcn.0040ee5b
lea eax, [esp + 0x44]
mov byte [esp + 0x98], 2
push eax
lea ecx, [esp + 0x50]
call fcn.0040f305
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x18]
push 0x444178
shl esi, 5
lea ecx, [esp + 0x50]
add esi, dword [esp + 0x58]
push eax
call fcn.0040efa9
cmp dword [eax], esi
jne 0x40e10e
push ebx
push 0x4443d8
jmp 0x40e12e
push 0x444178
lea ecx, [esp + 0x50]
call fcn.0040f09c
push ecx
mov ecx, eax
call fcn.0040ef00
test al, al
jne 0x40e13a
push ebx
push 0x444438
mov ecx, edi
call fcn.0040ec1d
jmp 0x40e2fa
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x18]
push 0x444484
shl esi, 5
lea ecx, [esp + 0x50]
add esi, dword [esp + 0x58]
push eax
mov dword [edi + 0x50], ebx
call fcn.0040efa9
cmp dword [eax], esi
je 0x40e172
push 0x444484
lea ecx, [esp + 0x50]
call fcn.0040f09c
mov eax, dword [eax]
mov dword [edi + 0x50], eax
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x18]
push 0x444494
shl esi, 5
lea ecx, [esp + 0x50]
add esi, dword [esp + 0x58]
push eax
mov dword [esp + 0x34], ebx
call fcn.0040efa9
cmp dword [eax], esi
je 0x40e1ac
push 0x444494
lea ecx, [esp + 0x50]
call fcn.0040f09c
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
push 0x4439e8
lea ecx, [esp + 0x20]
call fcn.00409f88
mov byte [esp + 0x98], 5
lea eax, [esp + 0x18]
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x4c]
push 0x4444ac
shl esi, 5
add esi, dword [esp + 0x58]
push eax
call fcn.0040efa9
cmp dword [eax], esi
je 0x40e20a
push 0x4444ac
lea ecx, [esp + 0x50]
call fcn.0040f09c
mov ecx, 0x1000
test word [eax + 0xe], cx
jne 0x40e200
mov eax, dword [eax + 8]
push eax
lea ecx, [esp + 0x20]
call fcn.00409d25
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x18]
push 0x4444bc
shl esi, 5
lea ecx, [esp + 0x50]
add esi, dword [esp + 0x58]
push eax
mov dword [esp + 0x30], ebx
call fcn.0040efa9
cmp dword [eax], esi
je 0x40e244
push 0x4444bc
lea ecx, [esp + 0x50]
call fcn.0040f09c
mov eax, dword [eax]
mov dword [esp + 0x28], eax
push dword [esp + 0x14]
mov ecx, edi
push 0x4444d0
call fcn.0040ec1d
push dword [esp + 0x30]
mov ecx, edi
push 0x44403c
call fcn.0040ec1d
mov eax, dword [0x44d5d0]
mov dword [esp + 0x14], eax
mov byte [esp + 0x98], 6
lea eax, [esp + 0x14]
push dword [edi + 0x50]
push 0x44450c
push eax
call fcn.004121dd
add esp, 0xc
mov ecx, edi
push ebx
push dword [esp + 0x18]
call fcn.0040ec1d
push dword [esp + 0x2c]
lea eax, [esp + 0x18]
push 0x444524
push eax
call fcn.004121dd
add esp, 0xc
mov ecx, edi
push ebx
push dword [esp + 0x18]
call fcn.0040ec1d
push dword [esp + 0x1c]
mov ecx, edi
push 0x444544
call fcn.0040ec1d
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
push eax
call fcn.00412255
push dword [edi + 0x50]
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.0040e510
pop ecx
pop ecx
xor ebx, ebx
lea ecx, [esp + 0x14]
inc ebx
call fcn.00409c92
lea ecx, [esp + 0x1c]
call fcn.00409c92
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x40e308
push ecx
call fcn.0040ef62
push dword [esp + 0x6c]
call fcn.0041f32b
pop ecx
push dword [esp + 0x68]
call fcn.0041dd13
pop ecx
lea ecx, [esp + 0x24]
call fcn.00409c92
lea ecx, [esp + 0x20]
call fcn.00409c92
mov eax, ebx
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0041dd18
mov esp, ebp
pop ebp
ret