Function at 0x445760
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4ebda8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push 6
push 0x510218
lea ecx, [esp + 0x1c]
call fcn.004be240
xor ebx, ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x88], ebx
call fcn.004be1a0
lea ecx, [esp + 0x18]
mov byte [esp + 0x88], 1
call fcn.004be1a0
mov al, byte [esp + 0x11]
sub esp, 0x10
mov edx, esp
or esi, 0xffffffff
mov edi, 0x520010
mov ecx, esi
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
mov dword [esp + 0x30], esp
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x98], 2
push ecx
push 0x520010
mov ecx, edx
call fcn.004142c0
push ebx
lea ecx, [esp + 0x60]
call fcn.004ca360
mov cx, word [ebp + 0x2c]
mov byte [esp + 0x88], 3
sar ecx, 8
push ecx
push 1
lea ecx, [esp + 0x1c]
call fcn.004be5e0
mov dl, byte [ebp + 0x2c]
lea ecx, [esp + 0x14]
push edx
push 2
call fcn.004be5e0
push 1
push 3
lea ecx, [esp + 0x1c]
call fcn.004be5e0
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x50f634
call fcn.004be240
push ecx
mov byte [esp + 0x98], 4
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x510f68
call fcn.004be240
mov ecx, 0x5200a8
mov byte [esp + 0x98], 3
call fcn.004caf10
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x50f634
call fcn.004be240
push ecx
mov byte [esp + 0x98], 5
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x50fb4c
call fcn.004be240
mov ecx, 0x5200a8
mov byte [esp + 0x98], 3
call fcn.004caf10
mov dword [esp + 0x20], ebx
mov al, byte [esp + 0x20]
lea ecx, [esp + 0x14]
add al, 0xf
push eax
push 5
call fcn.004be5e0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
push edx
mov ecx, ebp
call fcn.004235d0
test ax, ax
jl 0x44596b
mov eax, dword [esp + 0x20]
inc eax
cmp eax, 6
mov dword [esp + 0x20], eax
jl 0x4458b9
push ebx
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x50f634
call fcn.004be240
push ecx
mov byte [esp + 0x98], 6
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x510f60
call fcn.004be240
mov ecx, 0x5200a8
mov byte [esp + 0x98], 3
call fcn.004caf10
cmp ax, 4
jne 0x4459e6
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x445b92
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x445b89
cmp al, 0xff
je 0x445b89
dec al
mov byte [ecx], al
jmp 0x445b92
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x445990
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x445987
cmp al, 0xff
je 0x445987
dec al
mov byte [ecx], al
jmp 0x445990
push ecx
call fcn.004de1a0
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x88], 1
call fcn.004be2e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x88], bl
call fcn.004be2e0
lea ecx, [esp + 0x14]
mov dword [esp + 0x88], esi
call fcn.004be2e0
mov ax, si
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
push 9
lea eax, [esp + 0x64]
push 0x50f930
push eax
call fcn.004de8d6
push ecx
mov cl, byte [esp + 0x21]
mov edx, esp
lea edi, [esp + 0x70]
xor eax, eax
mov dword [esp + 0x34], esp
mov byte [edx], cl
mov ecx, esi
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x70]
push ecx
push eax
mov ecx, edx
call fcn.004142c0
sub esp, 0x10
lea edx, [esp + 0x31]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
push 0x50f8e4
mov byte [esp + 0xb0], 7
call fcn.00413bf0
sub esp, 0x10
lea eax, [esp + 0x42]
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
push 0x50f9a8
mov byte [esp + 0xc0], 8
call fcn.00413bf0
sub esp, 0x10
lea edx, [esp + 0x53]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
push 0x520010
mov byte [esp + 0xd0], 9
call fcn.00413bf0
sub esp, 0x10
mov byte [esp + 0xd8], 0xa
mov edi, esp
mov dword [esp + 0x80], esp
push ecx
mov ecx, esp
mov dword [esp + 0x88], esp
push 6
push 0x510e30
call fcn.004be240
push edi
call fcn.004cfca0
sub esp, 8
mov byte [esp + 0xe8], 0xb
mov edi, esp
mov dword [esp + 0x94], esp
push ecx
mov ecx, esp
mov dword [esp + 0x98], esp
push 6
push 0x510f58
call fcn.004be240
push edi
call fcn.004cfca0
add esp, 8
lea eax, [esp + 0x98]
mov byte [esp + 0xe8], 3
push eax
mov ecx, 0x5200a8
call fcn.004cb120
mov edx, dword [0x4f73d0]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0x50], cx
push ebx
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x94], 0xc
call fcn.00413e90
mov eax, dword [esp + 0x40]
mov byte [esp + 0x88], 3
cmp eax, ebx
je 0x445b56
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x445b4d
cmp al, 0xff
je 0x445b4d
dec al
mov byte [ecx], al
jmp 0x445b56
push ecx
call fcn.004de1a0
add esp, 4
lea ecx, [esp + 0x4c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call fcn.004c48d0
cmp ax, 2
je 0x445940
lea ecx, [esp + 0x4c]
call fcn.004c48d0
cmp ax, 1
je 0x445bcb
jmp 0x4459e6
push ecx
call fcn.004de1a0
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x88], 1
call fcn.004be2e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x88], bl
call fcn.004be2e0
mov dword [esp + 0x88], esi
jmp 0x445eb6
lea eax, [esp + 0x38]
lea ecx, [esp + 0x4c]
push eax
call fcn.004ca4a0
mov edi, dword [eax + 4]
cmp edi, ebx
jne 0x445be5
mov edi, 0x4f7480
mov ecx, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x60]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x3c]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x445c2a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x445c21
cmp al, 0xff
je 0x445c21
dec al
mov byte [ecx], al
jmp 0x445c2a
push ecx
call fcn.004de1a0
add esp, 4
lea ecx, [esp + 0x60]
mov dword [esp + 0x3c], ebx
push ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call fcn.004dea48
add esp, 4
mov esi, eax
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x50f634
call fcn.004be240
push ecx
mov byte [esp + 0x98], 0xd
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x50fb4c
call fcn.004be240
mov ecx, 0x5200a8
mov byte [esp + 0x98], 3
call fcn.004caf10
push 0xb
push 5
lea ecx, [esp + 0x1c]
call fcn.004be5e0
push ecx
lea eax, [esp + 0x18]
mov edx, esp
mov dword [esp + 0x38], esp
push eax
push edx
mov ecx, ebp
call fcn.00423a30
lea ecx, [esp + 0x20]
call fcn.004be4d0
push esi
push 7
lea ecx, [esp + 0x24]
call fcn.004be5e0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, ebp
call fcn.00423660
push 0xc
push 5
lea ecx, [esp + 0x1c]
call fcn.004be5e0
lea eax, [esp + 0x18]
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, ebp
call fcn.004235d0
test ax, ax
jge 0x445d1c
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x445dbb
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x445db2
cmp al, 0xff
je 0x445db2
dec al
mov byte [ecx], al
jmp 0x445dbb
push 0xd
push 5
lea ecx, [esp + 0x1c]
call fcn.004be5e0
push ecx
lea eax, [esp + 0x18]
mov edx, esp
mov dword [esp + 0x38], esp
push eax
push edx
mov ecx, ebp
call fcn.00423a30
lea ecx, [esp + 0x20]
call fcn.004be4d0
push esi
push 7
lea ecx, [esp + 0x24]
call fcn.004be5e0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, ebp
call fcn.00423660
push 0xe
push 5
lea ecx, [esp + 0x1c]
call fcn.004be5e0
lea eax, [esp + 0x18]
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, ebp
call fcn.004235d0
test ax, ax
jl 0x445cf1
push 4
push 5
lea ecx, [esp + 0x1c]
call fcn.004be5e0
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
push eax
mov ecx, ebp
call fcn.004235d0
test ax, ax
jge 0x445e16
jmp 0x445cf1
push ecx
call fcn.004de1a0
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x88], 1
call fcn.004be2e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x88], bl
call fcn.004be2e0
lea ecx, [esp + 0x14]
mov dword [esp + 0x88], 0xffffffff
call fcn.004be2e0
or ax, 0xffff
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x50f634
call fcn.004be240
push ecx
mov byte [esp + 0x98], 0xe
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x510f48
call fcn.004be240
mov ecx, 0x5200a8
mov byte [esp + 0x98], 3
call fcn.004caf10
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x445e7e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x445e75
cmp al, 0xff
je 0x445e75
dec al
mov byte [ecx], al
jmp 0x445e7e
push ecx
call fcn.004de1a0
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x88], 1
call fcn.004be2e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x88], bl
call fcn.004be2e0
mov dword [esp + 0x88], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.004be2e0
mov ecx, dword [esp + 0x80]
pop edi
pop esi
pop ebp
xor ax, ax
mov dword fs:[0], ecx
pop ebx
add esp, 0x7c
ret