Function at 0x44c490
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x90
xor ecx, ecx
mov al, byte [0x5b764c]
mov dword [esp + 0x29], ecx
push ebx
mov dword [esp + 0x31], ecx
push ebp
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x39], ecx
mov dword [esp + 0x3d], ecx
push esi
push edi
mov word [esp + 0x49], cx
push ebp
mov byte [esp + 0x3c], al
mov byte [esp + 0x4f], cl
call fcn.004ca610
movsx edx, al
mov eax, dword [esp + 0xb4]
add esp, 4
cmp eax, 0x22
mov dword [esp + 0x10], edx
push ebp
jl 0x44c4ef
call fcn.004ca5f0
add esp, 4
movsx eax, ax
jmp 0x44c4fc
call fcn.004ca610
add esp, 4
and eax, 0xff
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov esi, eax
lea edi, [ecx - 2]
cmp edi, 0xf
ja case.0x44c516.4
xor edx, edx
mov dl, byte [edi + 0x44ce18]
jmp dword [edx*4 + 0x44ce0c]
movsx eax, word [eax*2 + 0x8941a8]
jmp 0x44c52f
movsx eax, word [eax*2 + 0x8947e8]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0xa8]
cmp eax, 0xffffffff
jne 0x44c5d9
push ecx
call fcn.0044c420
add esp, 4
mov dword [esp + 0x14], eax
call fcn.0043d920
cmp eax, 3
jne 0x44c5d5
mov ecx, dword [esp + 0x10]
xor eax, eax
cmp ecx, 0x11
push esi
sete al
push eax
call fcn.0044c3d0
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp edi, 0x11
jne 0x44c58c
lea edx, [ecx + ecx*2]
lea edx, [ecx + edx*4]
lea edx, [edx*8 + 0x8b62f1]
jmp 0x44c5a2
mov edx, ecx
shl edx, 4
add edx, ecx
lea edx, [edx + edx*4]
lea edx, [ecx + edx*4]
shl edx, 4
add edx, 0xa6c8e1
push edx
push ecx
push eax
mov eax, dword [edi*4 + 0x549ae0]
push esi
mov ecx, ebx
push eax
sub ecx, 0x943ec8
mov eax, 0x288df0cb
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
push str.Object__d__type__s__has_undefined_ID__d____s_._n_nThis_object_will_be_converted_to_ID__d____s_.
call fcn.004cd2a0
add esp, 0x1c
mov ecx, dword [esp + 0x10]
cmp ecx, 0xb
je 0x44c5ed
cmp ecx, 0x10
je 0x44c5ed
cmp ecx, 2
je 0x44c5ed
cmp ecx, 7
jne 0x44c5ff
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push edx
push eax
call fcn.004cd270
add esp, 8
cmp dword [esp + 0xb0], 0x5f
jl 0x44c670
push ebp
lea ecx, [esp + 0x3c]
push 0x14
push ecx
call fcn.004ca690
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x44c670
cmp dword [esp + 0x10], 4
jne 0x44c670
call fcn.0043d920
cmp eax, 3
jne 0x44c66b
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
push eax
sub ecx, 0x943ec8
mov eax, 0x288df0cb
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
push str.Object__d__Player__d_has_a_name____s___which_has_been_deleted.
call fcn.004cd2a0
add esp, 0x10
mov byte [esp + 0x38], 0
mov esi, dword [esp + 0xb0]
push ebp
cmp esi, 0x65
jl 0x44c689
call fcn.004ca5d0
add esp, 4
mov edi, eax
jmp 0x44c69a
call fcn.004ca5f0
mov di, ax
add esp, 4
and edi, 0xffff
cmp dword [esp + 0x10], 0x11
jne 0x44c6be
cmp esi, 0x6d
jl 0x44c6be
push ebp
call fcn.004ca5f0
movsx edx, ax
mov dword [esp + 0x1c], edx
add esp, 4
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
push ebp
call fcn.004ca5d0
mov esi, eax
mov eax, dword [esp + 0xb4]
add esp, 4
cmp eax, 0x31
jge 0x44c6e9
test edi, 0x100
je 0x44c6e9
and edi, 0xfffffeff
or esi, 0x80000000
push ebp
call fcn.004ca670
fstp dword [esp + 0x50]
push ebp
call fcn.004ca670
fstp dword [esp + 0x58]
push ebp
call fcn.004ca670
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x20]
fstp dword [esp + 0x60]
push 0xffffffffffffffff
lea eax, [esp + 0x5c]
push 0
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
push ebx
call fcn.0046be20
mov ecx, dword [ebx + 4]
mov eax, dword [esp + 0x38]
and edi, 0x200
add esp, 0x28
or ecx, edi
mov edi, dword [esp + 0xb0]
cmp eax, 0x11
mov dword [ebx + 4], ecx
mov dword [ebx + 0x18], esi
jne 0x44c758
cmp edi, 0x6d
jl 0x44c758
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x78], edx
cmp edi, 0x24
jg 0x44c7a3
mov al, byte [ebx]
cmp al, 4
je 0x44c777
cmp al, 7
je 0x44c777
cmp al, 2
je 0x44c777
cmp al, 0x10
je 0x44c777
cmp al, 0x11
je 0x44c777
cmp al, 8
jne 0x44c77d
or ch, 0x10
mov dword [ebx + 4], ecx
cmp al, 5
jne 0x44c7a3
xor eax, eax
mov ax, word [ebx + 2]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*4]
lea eax, [eax + edx*2]
test byte [eax*8 + 0x874260], 0x22
jne 0x44c7a3
mov eax, dword [ebx + 4]
or ah, 0x10
mov dword [ebx + 4], eax
push ebp
call fcn.004ca670
fstp dword [esp + 0x5c]
push ebp
call fcn.004ca670
fstp dword [esp + 0x64]
push ebp
call fcn.004ca670
fstp dword [esp + 0x6c]
push ebp
call fcn.004ca670
fstp dword [esp + 0x74]
push ebp
call fcn.004ca670
fstp dword [esp + 0x7c]
push ebp
call fcn.004ca670
fstp dword [esp + 0x84]
push ebp
call fcn.004ca670
fstp dword [esp + 0x8c]
push ebp
call fcn.004ca670
fstp dword [esp + 0x94]
push ebp
call fcn.004ca670
fstp dword [esp + 0x9c]
lea ecx, [esp + 0x7c]
push ecx
call fcn.004cbc70
lea edx, [esp + 0x80]
push edx
push ebx
call fcn.0046b2d0
push ebx
call fcn.0046b080
mov al, byte [esp + 0x6c]
add esp, 0x34
test al, al
je 0x44c87f
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
push 0x65b
repne scasb al, byte es:[edi]
not ecx
push str.D:descent3mainLoadLevel.cpp
push ecx
call fcn.004cb090
mov edx, eax
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
mov dword [ebx + 8], edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0xb0]
fld dword [ebx + 0x1c]
call fcn.004b6898
mov edx, dword [0x546e48]
sar eax, 4
add edx, eax
mov dword [0x546e48], edx
fld dword [ebx + 0x20]
call fcn.004b6898
mov esi, dword [0x546e48]
sar eax, 4
add esi, eax
mov dword [0x546e48], esi
fld dword [ebx + 0x24]
call fcn.004b6898
sar eax, 4
mov ecx, esi
push ebp
add ecx, eax
mov dword [0x546e48], ecx
call fcn.004ca610
push ebp
mov byte [ebx + 0x7c], al
call fcn.004ca610
push ebp
mov byte [ebx + 0x7d], al
call fcn.004ca610
push ebp
mov byte [ebx + 0x7e], al
call fcn.004ca670
fstp dword [ebx + 0x84]
add esp, 0x10
cmp edi, 0x41
jl 0x44c903
cmp edi, 0x6f
jge 0x44c903
push ebp
call fcn.004ca5d0
add esp, 4
cmp byte [ebx + 0x14], 0x11
jne 0x44c95d
cmp edi, 0x77
push ebp
jge 0x44c919
call fcn.004ca5d0
add esp, 4
jmp 0x44c948
lea ecx, [esp + 0x80]
push 0x23
push ecx
call fcn.004ca690
mov al, byte [esp + 0x88]
add esp, 0xc
test al, al
je 0x44c945
lea edx, [esp + 0x7c]
push edx
call fcn.0043dc40
add esp, 4
jmp 0x44c948
or eax, 0xffffffff
push ebp
mov dword [ebx + 0x258], eax
call fcn.004ca670
fstp dword [ebx + 0x25c]
add esp, 4
cmp edi, 0x69
jl 0x44ca04
push ebp
call fcn.004ca610
movsx edi, al
xor esi, esi
add esp, 4
cmp edi, esi
jle 0x44c9a8
push 0x67f
lea eax, [edi + 1]
push str.D:descent3mainLoadLevel.cpp
push eax
call fcn.004cb090
push ebp
push edi
push eax
mov dword [ebx + 0x320], eax
call fcn.004ca560
mov ecx, dword [ebx + 0x320]
add esp, 0x18
mov byte [ecx + edi], 0
jmp 0x44c9ae
mov dword [ebx + 0x320], esi
push ebp
call fcn.004ca610
movsx edi, al
add esp, 4
cmp edi, esi
jle 0x44c9f5
push 0x688
lea edx, [edi + 1]
push str.D:descent3mainLoadLevel.cpp
push edx
call fcn.004cb090
push ebp
push edi
push eax
mov dword [ebx + 0x324], eax
call fcn.004ca560
mov eax, dword [ebx + 0x324]
add esp, 0x18
mov byte [edi + eax], 0
mov edi, dword [esp + 0xb0]
jmp 0x44ca12
mov edi, dword [esp + 0xb0]
mov dword [ebx + 0x324], esi
jmp 0x44ca12
xor esi, esi
mov dword [ebx + 0x324], esi
mov dword [ebx + 0x320], esi
cmp edi, 0x61
jge 0x44caa9
cmp edi, 0x1f
push ebp
jge 0x44ca2b
call fcn.004ca5d0
add esp, 4
jmp 0x44ca3d
lea ecx, [esp + 0x80]
push 0x20
push ecx
call fcn.004ca690
add esp, 0xc
cmp edi, 0x2e
jl 0x44ca9b
push ebp
call fcn.004ca5f0
movsx eax, ax
add esp, 4
cmp eax, esi
jle 0x44ca9b
mov edi, eax
push ebp
call fcn.004ca610
add esp, 4
test al, al
je 0x44ca86
cmp al, 2
je 0x44ca86
cmp al, 1
jne 0x44ca91
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
add esp, 0xc
jmp 0x44ca91
push ebp
call fcn.004ca670
fstp st(0)
add esp, 4
dec edi
jne 0x44ca54
mov edi, dword [esp + 0xb0]
cmp edi, 0x46
jl 0x44caa9
push ebp
call fcn.004ca610
add esp, 4
cmp edi, 0x22
jle 0x44cdfb
push ebp
call fcn.004ca610
movsx eax, al
add esp, 4
cmp eax, esi
je 0x44cdfb
movsx ecx, word [ebx + 0x2bc]
push ebp
lea eax, [ecx + ecx*2]
shl eax, 3
sub eax, ecx
lea edx, [eax + eax*2]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], eax
lea esi, [edx*4 + 0xecc6b8]
call fcn.004ca610
movsx edi, al
mov eax, dword [esi + 0x38]
add esp, 4
cmp eax, edi
je 0x44cb07
mov esi, 1
mov dword [esp + 0x30], esi
jmp 0x44cb15
push ebx
call fcn.0048c730
add esp, 4
mov esi, 1
test edi, edi
jle 0x44cdee
lea eax, [ebx + 0x1dc]
lea ecx, [ebx + 0x19e]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edi
push ebp
mov dword [esp + 0x30], 0
call fcn.004ca5f0
mov edx, dword [esp + 0x20]
add esp, 4
movsx eax, ax
movsx ecx, word [edx]
cmp eax, ecx
je 0x44cb5c
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], esi
test eax, eax
jle 0x44cdb8
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], eax
xor edi, edi
jmp 0x44cb84
mov ebx, dword [esp + 0xb0]
xor edi, edi
cmp dword [esp + 0x2c], edi
jne 0x44cce9
cmp dword [esp + 0x30], edi
jne 0x44cce9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push ebp
mov esi, dword [edx]
add esi, eax
call fcn.004ca5f0
and eax, 0xffff
add esp, 4
mov ax, word [eax*2 + 0x895cb8]
mov word [esi + 2], ax
mov cl, byte [0x884ef8]
test cl, cl
jne 0x44cbde
mov ecx, dword [0x8856c4]
and eax, 0xffff
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8 + 0x20]
inc byte [eax]
jmp 0x44cbe6
mov dword [esp + 0x20], 1
cmp ebx, 0x58
jg 0x44cc06
push ebp
call fcn.004ca610
push ebp
call fcn.004ca610
push ebp
call fcn.004ca610
push ebp
call fcn.004ca610
add esp, 0x10
cmp ebx, 0x3a
jl 0x44cc66
cmp ebx, 0x3b
jg 0x44cc2b
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
add esp, 0xc
push ebp
call fcn.004ca670
fstp dword [esi + 4]
push ebp
call fcn.004ca670
fstp dword [esi + 8]
push ebp
call fcn.004ca670
fstp dword [esi + 0xc]
push ebp
call fcn.004ca670
fstp dword [esi + 0x10]
push ebp
call fcn.004ca670
fstp dword [esi + 0x14]
push ebp
call fcn.004ca670
fstp dword [esi + 0x18]
add esp, 0x18
jmp 0x44cc83
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 4], edi
mov eax, 0x3f800000
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], edi
mov dword [esi + 4], eax
mov dword [esi + 0x14], eax
push ebp
call fcn.004ca610
movsx ebx, al
xor edx, edx
add esp, 4
mov dl, byte [esi]
cmp ebx, edx
jne 0x44ccc6
xor edi, edi
test ebx, ebx
jle 0x44cd92
push ebp
call fcn.004ca670
mov eax, dword [esi + 0x1c]
push ebp
fstp dword [eax + edi*4]
call fcn.004ca670
mov ecx, dword [esi + 0x20]
add esp, 8
fstp dword [ecx + edi*4]
inc edi
cmp edi, ebx
jl 0x44cca1
jmp 0x44cd92
test ebx, ebx
jle 0x44cd92
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
add esp, 8
dec ebx
fstp st(0)
jne 0x44ccce
jmp 0x44cd92
push ebp
call fcn.004ca5f0
add esp, 4
cmp ebx, 0x58
jg 0x44cd12
push ebp
call fcn.004ca610
push ebp
call fcn.004ca610
push ebp
call fcn.004ca610
push ebp
call fcn.004ca610
add esp, 0x10
cmp ebx, 0x3a
jl 0x44cd6a
cmp ebx, 0x3b
jg 0x44cd37
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
add esp, 0xc
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
fstp st(0)
add esp, 0x18
push ebp
call fcn.004ca610
movsx eax, al
add esp, 4
cmp eax, edi
jle 0x44cd92
mov esi, eax
push ebp
call fcn.004ca670
fstp st(0)
push ebp
call fcn.004ca670
add esp, 8
dec esi
fstp st(0)
jne 0x44cd7c
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
add ecx, 0x24
dec eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], eax
jne 0x44cb7b
mov ebx, dword [esp + 0xa8]
mov esi, 1
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add edx, 2
add ecx, 4
dec eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
jne 0x44cb35
mov eax, dword [esp + 0x20]
test eax, eax
je 0x44cdee
push ebx
call fcn.0048c5d0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret