Function at 0x19df6d0
Capabilities:
Access peb ldr_data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2c], edi
test ecx, ecx
je 0x19df92b
mov ax, word [esi + 4]
xor ax, word [edi + 0x54]
movzx ebx, ax
test bx, bx
je 0x19df9a7
mov al, byte [esi + 6]
test al, al
je 0x19df987
movzx eax, al
mov edx, esi
shl eax, 0x10
and edx, 0xffff0000
sub edx, eax
add edx, 0x10000
mov dword [ebp - 8], edx
mov al, byte [esi + 2]
mov edx, dword [ebp - 8]
mov byte [ebp - 1], al
mov edi, edi
cmp ecx, 0xfe00
ja 0x19df9b9
movzx ecx, cx
mov dword [ebp - 0xc], ecx
mov byte [esi + 2], al
mov ax, word [edi + 0x54]
xor ax, bx
mov word [esi + 4], ax
mov eax, dword [edx + 0x18]
cmp eax, edx
je 0x19df98f
mov ebx, esi
sub ebx, edx
shr ebx, 0x10
inc ebx
test ebx, ebx
jle 0x1a3e691
cmp ebx, 0xfe
jge 0x1a3e691
and byte [esi + 2], 0xf0
mov word [esi], cx
mov byte [esi + 6], bl
mov byte [esi + 3], 0
movzx ecx, cx
mov byte [esi + 7], 0
test byte [edi + 0x40], 0x40
mov dword [ebp - 0x10], ecx
jne 0x1a3e6ae
mov ebx, dword [edi + 0xb4]
test ebx, ebx
je 0x19df996
cmp ecx, dword [ebx + 4]
jb 0x19df7bd
lea esp, [esp]
mov eax, dword [ebx]
test eax, eax
je 0x19df7c1
mov ebx, eax
cmp ecx, dword [ebx + 4]
jae 0x19df7b0
mov eax, ecx
jmp 0x19df7c5
mov eax, dword [ebx + 4]
dec eax
push ecx
push eax
push 1
mov edx, ebx
mov ecx, edi
call fcn.019df9e0
mov ecx, eax
test ecx, ecx
je 0x1a3e6d3
mov edx, dword [ebp - 8]
lea eax, [edi + 0xc0]
cmp eax, ecx
jne 0x19df934
mov eax, dword [ecx + 4]
mov ebx, dword [eax]
cmp ebx, ecx
jne 0x1a3e6f8
lea ebx, [esi + 8]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov dword [eax], ebx
mov dword [ecx + 4], ebx
movzx eax, word [esi]
add dword [edi + 0x74], eax
mov ebx, dword [edi + 0xb4]
test ebx, ebx
je 0x19df8da
movzx ecx, word [esi]
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebx + 4]
jb 0x19df833
mov eax, dword [ebx]
test eax, eax
je 0x19df83a
mov ebx, eax
cmp ecx, dword [ebx + 4]
jae 0x19df826
mov eax, ecx
mov dword [ebp - 0x1c], ecx
jmp 0x19df841
mov eax, dword [ebx + 4]
dec eax
mov dword [ebp - 0x1c], eax
mov ecx, eax
sub ecx, dword [ebx + 0x14]
cmp dword [ebx + 8], 0
mov dword [ebp - 0x18], ecx
jne 0x1a3e710
mov eax, ecx
inc dword [ebx + 0xc]
shl eax, 2
mov dword [ebp - 0x20], eax
mov edx, eax
mov eax, dword [ebx + 0x20]
mov eax, dword [edx + eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 4]
dec eax
cmp dword [ebp - 0x1c], eax
jne 0x19df878
inc dword [ebx + 0x10]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x19df8bd
add eax, 0xfffffff8
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
cmp dword [edi + 0x4c], 0
je 0x19df8b1
xor eax, dword [edi + 0x50]
mov ecx, eax
mov dword [ebp - 0x38], eax
shr ecx, 0x10
xor cl, byte [ebp - 0x37]
xor cl, al
mov dword [ebp - 0x1c], eax
shr eax, 0x18
cmp al, cl
jne 0x1a3e718
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
movzx eax, ax
sub dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x19df8cf
mov edi, dword [ebp - 0x20]
lea edx, [esi + 8]
mov eax, dword [ebx + 0x20]
mov dword [edi + eax], edx
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x19df96c
cmp dword [edi + 0x4c], 0
je 0x19df8f0
mov al, byte [esi + 1]
xor al, byte [esi + 2]
xor al, byte [esi]
mov byte [esi + 3], al
mov eax, dword [edi + 0x50]
xor dword [esi], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
movzx ebx, ax
mov eax, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp + 8], ecx
lea esi, [esi + eax*8]
cmp esi, dword [edx + 0x28]
jae 0x19df92b
mov al, byte [ebp - 1]
test ecx, ecx
jne 0x19df730
mov ax, word [edi + 0x54]
mov ecx, dword [ebp - 0xc]
xor ax, cx
mov word [esi + 4], ax
test cx, cx
je 0x1a3e735
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [edi + 0x4c]
lea edx, [edi + 0xc0]
lea ecx, [ecx]
test ebx, ebx
je 0x1a3e6e0
mov eax, dword [ecx - 8]
mov ebx, dword [edi + 0x4c]
test eax, ebx
je 0x19df955
xor eax, dword [edi + 0x50]
movzx eax, ax
movzx eax, ax
cmp dword [ebp - 0x10], eax
ja 0x1a3e6e9
mov edx, dword [ebp - 8]
jmp 0x19df7ed
mov eax, dword [ebx + 0x1c]
mov ebx, dword [ebp - 0x18]
shr ecx, 5
and ebx, 0x1f
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
bts eax, ebx
mov dword [ecx], eax
jmp 0x19df8da
mov dword [ebp - 8], edi
jmp 0x19df725
xor bl, bl
jmp 0x19df777
mov ecx, dword [edi + 0xc0]
lea eax, [edi + 0xc0]
jmp 0x19df7e5
cmp dword [0x1ac84ac], 1
jl 0x19df701
jmp 0x1a3e610
mov eax, 0xfe00
mov dword [ebp - 0xc], eax
cmp ecx, 0xfe01
je 0x1a3e684
mov ecx, eax
mov byte [esi + 2], 0
jmp 0x19df745
test byte [esi + 2], 8
jne 0x19df701
lea eax, [esi + 0xfff]
and eax, 0xfffff000
cmp eax, esi
je 0x19df701
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], 0
je 0x1a3e658
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
add eax, 0x2c
push eax
push 0x19b4db0
call fcn.019dafb0
add esp, 8
jmp 0x1a3e665
push 0x19b4dbc
call fcn.019dafb0
add esp, 4
push 0x19cc8a8
call fcn.019dafb0
add esp, 4
mov ecx, 1
call fcn.01a36019
mov ecx, dword [ebp + 8]
jmp 0x19df701
mov ecx, 0xfdf0
mov dword [ebp - 0xc], ecx
jmp 0x19df9cf
push 0
push 0
push edx
push esi
mov edx, eax
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
jmp 0x19df777
push 0xfeeefeee
lea eax, [ecx*8 - 0x10]
push eax
lea eax, [esi + 0x10]
push eax
call fcn.01a36650
or byte [esi + 2], 4
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
jmp 0x19df799
mov ebx, dword [ebx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x14]
jmp 0x19df7c5
movzx eax, word [ecx - 8]
jmp 0x19df958
mov ecx, dword [ecx]
cmp edx, ecx
jne 0x19df940
jmp 0x19df964
push 0
push ebx
xor edx, edx
push 0
push ecx
lea ecx, [edx + 0xc]
call fcn.01a36033
mov edx, dword [ebp - 8]
jmp 0x19df807
lea eax, [ecx + ecx]
jmp 0x19df855
push 0
push 0
push 0
push dword [ebp - 0x28]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 8]
jmp 0x19df8ab
cmp dword [0x1ac84ac], 1
jl 0x19df92b
lea eax, [esi + 0xfff]
and eax, 0xfffff000
cmp eax, esi
je 0x19df92b
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], 0
je 0x1a3e780
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
add eax, 0x2c
push eax
push 0x19b4db0
call fcn.019dafb0
add esp, 8
jmp 0x1a3e78d
push 0x19b4dbc
call fcn.019dafb0
add esp, 4
push 0x19cc920
call fcn.019dafb0
add esp, 4
mov ecx, 1
call fcn.01a36019
jmp 0x19df92b