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

Disassembly:
sub esp, 0x104
push ebp
push esi
push edi
mov edi, dword [esp + 0x114]
test edi, edi
je 0x4402f9
cmp byte [edi], 0
jne 0x440308
push str.CM_LoadMap:_NULL_name
push 1
call fcn.0044d090
add esp, 8
push 0x200
push 0x5435c4
push str.cm_noAreas
call fcn.0044f5a0
push 0x200
push 0x5435c4
push str.cm_noCurves
mov dword [0xed9f34], eax
call fcn.0044f5a0
push 0x201
push 0x543784
push str.cm_playerCurveClip
mov dword [0xed9e18], eax
call fcn.0044f5a0
push 0x200
push 0x5435c4
push str.cm_FCMcacheall
mov dword [0xed9f38], eax
call fcn.0044f5a0
push 0x200
push 0x5435c4
push str.cm_FCMdebug
mov dword [0xed9f18], eax
call fcn.0044f5a0
push 0x200
push 0x543784
push str.cm_ter_usesphere
mov dword [0xed9f24], eax
call fcn.0044f5a0
mov ebp, dword [esp + 0x160]
add esp, 0x48
mov dword [0xed9e1c], eax
push ebp
push edi
push str.CM_LoadMap___s___i___n
call fcn.0044cf80
add esp, 0xc
mov esi, edi
mov eax, 0xed9e40
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4403e2
test cl, cl
je 0x4403de
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4403e2
add eax, 2
add esi, 2
test cl, cl
jne 0x4403be
xor eax, eax
jmp 0x4403e7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x440408
test ebp, ebp
je 0x440408
mov eax, dword [esp + 0x11c]
mov ecx, dword [0x574cd4]
pop edi
pop esi
mov dword [eax], ecx
pop ebp
add esp, 0x104
ret
push 0x36
push 0
push 0xed9e40
call fcn.0044ef50
add esp, 0xc
call fcn.00440f00
cmp byte [edi], 0
jne 0x440467
push 0x38
mov dword [0xed9eac], 1
mov dword [0xed9edc], 1
mov dword [0xed9ef4], 1
call fcn.0045d890
mov edx, dword [esp + 0x120]
add esp, 4
mov dword [0xed9ed0], eax
pop edi
pop esi
mov dword [edx], 0
pop ebp
add esp, 0x104
ret
call fcn.0042f5c0
push 1
lea eax, [esp + 0x18]
push 1
push eax
push edi
call fcn.004513a0
add esp, 0x10
test eax, eax
jg 0x440492
push edi
push str.Couldnt_load__s
push 1
call fcn.0044d090
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x24]
push ecx
push 0xec
push edx
call fcn.00451900
mov eax, dword [0xd8b500]
add esp, 0xc
test eax, eax
je 0x4404cb
xor esi, esi
mov eax, dword [esp + esi*4 + 0x24]
push eax
call fcn.004645e0
add esp, 4
mov dword [esp + esi*4 + 0x24], eax
inc esi
cmp esi, 0x3b
jb 0x4404b4
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [0x574cd4], eax
mov eax, dword [esp + 0x28]
cmp eax, 0x13
jl 0x4404e8
jle 0x4404fd
push 0x13
push 0x13
push eax
push edi
push str.CM_LoadMap:__s_has_wrong_version_number___i_should_be_between__i_and__i_
push 1
call fcn.0044d090
add esp, 0x18
push 0x54ad50
call fcn.00412680
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x38]
push edx
push eax
push ecx
call fcn.00440230
push 0x54ad4c
call fcn.00412680
lea edx, [esp + 0x30]
lea eax, [esp + 0x24]
push edx
push eax
call fcn.0043f1f0
push 0x54ad48
call fcn.00412680
lea ecx, [esp + 0x30]
push ecx
call fcn.004402b0
push 0x54ad44
call fcn.00412680
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x38]
push 0
lea eax, [esp + 0x68]
push edx
push eax
push ecx
call fcn.00440230
push 0x54ad40
call fcn.00412680
add esp, 0x40
lea edx, [esp + 0xc]
push edx
call fcn.0043f960
push 0x54ad3c
call fcn.00412680
lea eax, [esp + 0x14]
push eax
call fcn.004402b0
push 0x54ad38
call fcn.00412680
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push 0
lea edx, [esp + 0x5c]
push ecx
push edx
push eax
call fcn.00440230
push 0x54ad34
call fcn.00412680
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x40]
push 0
lea edx, [esp + 0x78]
push ecx
push edx
push eax
call fcn.00440230
push 0x54ad30
call fcn.00412680
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x48]
push edx
push eax
call fcn.0043fe50
add esp, 0x44
push 0x54ad2c
call fcn.00412680
lea ecx, [esp + 0x20]
push ecx
call fcn.004402b0
push 0x54ad28
call fcn.00412680
lea edx, [esp + 0x18]
push edx
call fcn.004402b0
push 0x54ad24
call fcn.00412680
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push 4
lea ecx, [esp + 0x78]
push eax
push ecx
push edx
call fcn.00440230
push 0x54ad20
mov dword [0x574cd8], eax
call fcn.00412680
lea eax, [esp + 0x34]
push eax
call fcn.0043faa0
push 0x54ad1c
call fcn.00412680
lea ecx, [esp + 0x3c]
push ecx
call fcn.004402b0
push 0x54ad18
call fcn.00412680
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x44]
push 0
lea eax, [esp + 0xa4]
push edx
push eax
push ecx
call fcn.00440230
add esp, 0x48
push 0x54ad14
call fcn.00412680
lea edx, [esp + 0x10]
push edx
call fcn.0043fb30
push 0x54ad10
call fcn.00412680
lea eax, [esp + 0x18]
push eax
call fcn.004402b0
push 0x54ad0c
call fcn.00412680
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push 0
lea edx, [esp + 0x88]
push ecx
push edx
push eax
call fcn.00440230
push 0x54ad08
call fcn.00412680
mov eax, dword [esp + 0x50]
add esp, 0x28
cmp eax, 0x13
jge 0x4406fe
lea ecx, [esp + 0xc]
push ecx
call fcn.0043f810
jmp 0x440708
lea edx, [esp + 0xc]
push edx
call fcn.0043f6e0
add esp, 4
push 0x54ad04
call fcn.00412680
lea eax, [esp + 0x10]
push eax
call fcn.004402b0
push 0x54ad00
call fcn.00412680
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push 0
lea edx, [esp + 0x88]
push ecx
push edx
push eax
call fcn.00440230
push 0x54acfc
call fcn.00412680
lea ecx, [esp + 0x2c]
push ecx
call fcn.0043f4d0
push 0x54acf8
call fcn.00412680
lea edx, [esp + 0x34]
push edx
call fcn.004402b0
push 0x54acf4
call fcn.00412680
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x3c]
push 0x20
lea ecx, [esp + 0xb4]
push eax
push ecx
push edx
call fcn.00440230
add esp, 0x40
mov dword [0x574cdc], eax
push 0x54acf0
call fcn.00412680
lea eax, [esp + 0x10]
push eax
call fcn.0043fbc0
push 0x54acec
call fcn.00412680
lea ecx, [esp + 0x18]
push ecx
call fcn.004402b0
push 0x54ace8
call fcn.00412680
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x20]
push 0
lea eax, [esp + 0xa0]
push edx
push eax
push ecx
call fcn.00440230
push 0x54ace4
call fcn.00412680
lea edx, [esp + 0x34]
push edx
call fcn.0043fca0
push 0x54ace0
call fcn.00412680
lea eax, [esp + 0x3c]
push eax
call fcn.004402b0
push 0x54acdc
call fcn.00412680
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x44]
push 0
lea edx, [esp + 0xcc]
push ecx
push edx
push eax
call fcn.00440230
add esp, 0x48
push 0x54acd8
call fcn.00412680
lea ecx, [esp + 0x10]
push ecx
call fcn.0043f600
push 0x54acd4
call fcn.00412680
lea edx, [esp + 0x18]
push edx
call fcn.004402b0
push 0x54acd0
call fcn.00412680
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push 0
lea ecx, [esp + 0xb0]
push eax
push ecx
push edx
call fcn.00440230
push 0x54accc
call fcn.00412680
lea eax, [esp + 0x34]
push eax
call fcn.0043f2f0
push 0x54acc8
call fcn.00412680
lea ecx, [esp + 0x3c]
push ecx
call fcn.004402b0
push 0x54acc4
call fcn.00412680
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x44]
push 0
lea eax, [esp + 0xdc]
push edx
push eax
push ecx
call fcn.00440230
add esp, 0x48
push 0x54acc0
call fcn.00412680
lea edx, [esp + 0x10]
push edx
call fcn.0043fd90
push 0x54acbc
call fcn.00412680
lea eax, [esp + 0x18]
push eax
call fcn.004402b0
push 0x54acb8
call fcn.00412680
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push 0
lea edx, [esp + 0xc0]
push ecx
push edx
push eax
call fcn.00440230
push 0x54acb4
call fcn.00412680
lea ecx, [esp + 0x34]
push ecx
call fcn.0043fdc0
push 0x54acb0
call fcn.00412680
lea edx, [esp + 0x3c]
push edx
call fcn.004402b0
push 0x54acac
call fcn.00412680
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x44]
push 0
lea ecx, [esp + 0x11c]
push eax
push ecx
push edx
call fcn.00440230
add esp, 0x48
push 0x54aca8
call fcn.00412680
lea eax, [esp + 0x10]
push eax
call fcn.00440090
push 0x54aca4
call fcn.00412680
lea ecx, [esp + 0x18]
push ecx
call fcn.004402b0
push 0x54aca0
call fcn.00412680
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x20]
push 0
lea eax, [esp + 0x100]
push edx
push eax
push ecx
call fcn.00440230
push 0x54ac9c
call fcn.00412680
lea edx, [esp + 0x34]
push edx
call fcn.004401a0
push 0x54ac98
call fcn.00412680
lea eax, [esp + 0x3c]
push eax
call fcn.004402b0
push 0x54ac94
call fcn.00412680
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00451030
push 0x54ac90
call fcn.00412680
add esp, 0x40
call fcn.00440be0
push 0x54ac8c
call fcn.00412680
call fcn.00448210
push 0x54ac88
call fcn.00412680
add esp, 8
test ebp, ebp
jne 0x440a29
push 0x40
push edi
push 0xed9e40
call fcn.00465320
add esp, 0xc
push 0x54ac84
call fcn.00412680
add esp, 4
pop edi
pop esi
pop ebp
add esp, 0x104
ret