Function at 0x44bfe0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x571c28
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push esi
push edi
mov eax, dword [0x5fc150]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x14], ebx
push dword [ebp - 0x40]
lea esi, [ebx + 0x24]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0xc], 0
push esi
push dword [esi + 4]
mov dword [ebp - 0x38], esi
push dword [esi]
call fcn.0044b200
mov eax, dword [esi]
add esp, 0x10
mov dword [esi + 4], eax
mov dword [ebx + 0x3c], 0
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
lea eax, [ebx + 0x30]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x34], eax
mov esi, dword [ebx + 4]
mov dword [ebx + 0x10], 0
test esi, esi
je 0x44c0c6
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
jmp 0x44c070
push 0x5885f0
mov ecx, esi
call fcn.004ed6e0
test eax, eax
je 0x44c0b4
cmp byte [ebx + 0x68], 0
je 0x44c096
push 0xffffffffffffffff
push dword [ebx + 0x14]
push eax
call fcn.0044cee0
add esp, 0xc
jmp 0x44c09c
push dword [ebx + 0x14]
push eax
call edi
test eax, eax
jne 0x44c0b4
push str.func
mov ecx, esi
call fcn.004ed6e0
test eax, eax
jne 0x44c1cd
push str.KeyWord
mov ecx, esi
call fcn.004ee5e0
mov esi, eax
test esi, esi
jne 0x44c070
cmp dword [ebx + 0x10], 0
je 0x44c1e1
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x4c], ebx
xor esi, esi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x14]
push str.Overload
mov ecx, dword [eax + 0x10]
call fcn.004ee050
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x44c635
push str.retVal
mov ecx, eax
call fcn.004ed6e0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x44c61d
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
cmp edx, ecx
jae 0x44c1f5
mov edx, dword [eax + 0x18]
lea ebx, [ebp - 0x24]
cmp edx, ebx
mov ebx, dword [ebp - 0x1c]
ja 0x44c1f5
lea eax, [ebp - 0x24]
sub eax, edx
sar eax, 2
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x20]
cmp ecx, edx
jne 0x44c1ac
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x44c1ac
mov eax, dword [ebp - 0x14]
sub ecx, dword [eax + 0x18]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x44c676
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
sub edx, dword [eax + 0x18]
mov eax, 0x3fffffff
sar edx, 2
mov ecx, edx
shr ecx, 1
sub eax, ecx
add ecx, edx
cmp eax, edx
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
jae 0x44c1a0
mov eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
lea ecx, [ecx + 0x18]
call fcn.004e3680
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x3c]
test edx, edx
je 0x44c1c1
mov eax, dword [eax + ecx*4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1c], 4
jmp 0x44c273
push 0x5966c8
push eax
call edi
test eax, eax
jne 0x44c1e1
mov dword [ebx + 0x10], esi
jmp 0x44c0c6
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x3c], edx
cmp ecx, edx
jne 0x44c260
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x44c260
mov edx, dword [ebp - 0x14]
mov eax, 0x3fffffff
sub ecx, dword [edx + 0x18]
mov edx, dword [ebp - 0x3c]
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x44c676
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], eax
mov eax, 0x3fffffff
sub edx, dword [ecx + 0x18]
sar edx, 2
mov ecx, edx
shr ecx, 1
sub eax, ecx
add ecx, edx
cmp eax, edx
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
jae 0x44c254
mov eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
lea ecx, [ecx + 0x18]
call fcn.004e3680
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x44c26f
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
add dword [edx + 0x1c], 4
mov ecx, dword [ebp - 0x2c]
push str.descr
call fcn.004ed6e0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov ecx, dword [edx + 4]
test eax, eax
je 0x44c3b3
lea eax, [ebp - 0x28]
cmp eax, ecx
jae 0x44c336
cmp dword [edx], eax
ja 0x44c336
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x40], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x30], eax
cmp ecx, eax
jne 0x44c314
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x44c314
sub ecx, dword [edx]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x44c676
mov ebx, dword [ebp - 0x1c]
lea eax, [ecx + 1]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x30], eax
mov ecx, eax
shr ecx, 1
mov eax, 0x3fffffff
sub eax, ecx
add ecx, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
jae 0x44c309
mov eax, ecx
push eax
mov ecx, edx
call fcn.004e3680
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x44c4cd
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x44c4cd
mov eax, dword [edx + 8]
mov dword [ebp - 0x30], eax
cmp ecx, eax
jne 0x44c39e
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x44c39e
sub ecx, dword [edx]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x44c676
mov ebx, dword [ebp - 0x1c]
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x30], eax
mov ecx, eax
shr ecx, 1
mov eax, 0x3fffffff
sub eax, ecx
add ecx, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [ebp - 0x40]
cmp eax, ecx
jae 0x44c393
mov eax, ecx
push eax
mov ecx, edx
call fcn.004e3680
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
test eax, eax
je 0x44c4cd
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
jmp 0x44c4cd
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x5883b8
cmp eax, ecx
jae 0x44c458
cmp dword [edx], eax
ja 0x44c458
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x30], eax
cmp ecx, eax
jne 0x44c43d
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x44c43d
sub ecx, dword [edx]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x44c676
mov ebx, dword [ebp - 0x1c]
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x30], eax
mov ecx, eax
shr ecx, 1
mov eax, 0x3fffffff
sub eax, ecx
add ecx, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [ebp - 0x40]
cmp eax, ecx
jae 0x44c432
mov eax, ecx
push eax
mov ecx, edx
call fcn.004e3680
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x44c4cd
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x44c4cd
mov eax, dword [edx + 8]
mov dword [ebp - 0x30], eax
cmp ecx, eax
jne 0x44c4c0
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x44c4c0
sub ecx, dword [edx]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x44c676
mov ebx, dword [ebp - 0x1c]
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x30], eax
mov ecx, eax
shr ecx, 1
mov eax, 0x3fffffff
sub eax, ecx
add ecx, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [ebp - 0x40]
cmp eax, ecx
jae 0x44c4b5
mov eax, ecx
push eax
mov ecx, edx
call fcn.004e3680
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
test eax, eax
je 0x44c4cd
mov dword [eax], 0x5883b8
mov ecx, dword [ebp - 0x2c]
add dword [edx + 4], 4
push str.Param
call fcn.004ee050
mov dword [ebp - 0x30], eax
test eax, eax
je 0x44c5fd
lea esp, [esp]
push 0x5885f0
mov ecx, eax
call fcn.004ed6e0
mov dword [ebp - 0x20], eax
test eax, eax
je 0x44c5e5
lea ecx, [ebp - 0x20]
cmp ecx, edi
jae 0x44c57e
cmp ebx, ecx
ja 0x44c57e
sub ecx, ebx
sar ecx, 2
mov dword [ebp - 0x40], ecx
cmp edi, esi
jne 0x44c575
mov eax, esi
sub eax, edi
sar eax, 2
cmp eax, 1
jae 0x44c575
sub edi, ebx
mov eax, 0x3fffffff
sar edi, 2
sub eax, edi
cmp eax, 1
jb 0x44c676
sub esi, ebx
mov eax, 0x3fffffff
sar esi, 2
inc edi
mov ecx, esi
shr ecx, 1
sub eax, ecx
add ecx, esi
cmp eax, esi
sbb eax, eax
not eax
and eax, ecx
cmp eax, edi
jae 0x44c560
mov eax, edi
push eax
lea ecx, [ebp - 0x4c]
call fcn.004e3680
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x40]
test edi, edi
je 0x44c5df
mov eax, dword [ebx + ecx*4]
jmp 0x44c5dd
cmp edi, esi
jne 0x44c5d9
mov eax, esi
sub eax, edi
sar eax, 2
cmp eax, 1
jae 0x44c5d6
sub edi, ebx
mov eax, 0x3fffffff
sar edi, 2
sub eax, edi
cmp eax, 1
jb 0x44c676
sub esi, ebx
mov eax, 0x3fffffff
sar esi, 2
inc edi
mov ecx, esi
shr ecx, 1
sub eax, ecx
add ecx, esi
cmp eax, esi
sbb eax, eax
not eax
and eax, ecx
cmp eax, edi
jae 0x44c5c4
mov eax, edi
push eax
lea ecx, [ebp - 0x4c]
call fcn.004e3680
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
test edi, edi
je 0x44c5df
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x48], edi
mov ecx, dword [ebp - 0x30]
push str.Param
call fcn.004ee5e0
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x44c4f0
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x4c]
push eax
call fcn.0044c780
mov ebx, dword [ebp - 0x4c]
mov edi, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x48], edi
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x1c], ebx
inc dword [eax + 0x3c]
mov ecx, dword [ebp - 0x2c]
push str.Overload
call fcn.004ee5e0
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x44c100
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x14]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x3c], eax
mov dword [ebp - 4], 0xffffffff
setne al
mov byte [ebp - 0xd], al
test ebx, ebx
je 0x44c6da
sub esi, ebx
sar esi, 2
cmp esi, 0x3fffffff
jbe 0x44c680
call fcn.00547c01
push str.vector_T__too_long
call fcn.00515a17
shl esi, 2
cmp esi, 0x1000
jb 0x44c6b9
test bl, 0x1f
je 0x44c695
call fcn.00547c01
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x44c6a1
call fcn.00547c01
sub ebx, eax
cmp ebx, 4
jae 0x44c6ad
call fcn.00547c01
cmp ebx, 0x23
jbe 0x44c6b7
call fcn.00547c01
mov ebx, eax
push ebx
call fcn.0052bd72
mov al, byte [ebp - 0xd]
add esp, 4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret