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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4ef57b
push eax
mov eax, dword [0x821094]
mov dword fs:[0], esp
sub esp, 0x4c8
test eax, eax
push ebx
push ebp
push esi
push edi
mov esi, ecx
je 0x4abc36
lea eax, [esp + 0x3d4]
push 0x104
push eax
push str.D:DevProjectsJMain1SourceVTerrain.cpp
mov dword [0x8210d4], 1
call fcn.004e6240
lea ecx, [esp + 0x3d4]
push 0x148
push ecx
push str.Program_runs_to__s__d.
push esi
call fcn.004331c0
add esp, 0x10
push 0x82108c
lea ecx, [esp + 0x180]
call fcn.004366b0
push 0x4f9480
lea ecx, [esp + 0x180]
mov dword [esp + 0x4e4], 0
call fcn.004366f0
test al, al
je 0x4ac65b
lea edx, [esp + 0x12c]
lea ecx, [esp + 0x17c]
push edx
push str.Text_Data
call fcn.00436710
test al, al
jne 0x4abc8c
xor bl, bl
jmp 0x4abca2
lea eax, [esp + 0x12c]
push eax
call dword [0x4f0200]
add esp, 4
test eax, eax
setne bl
lea ecx, [esp + 0x17c]
call fcn.00401630
test al, al
je 0x4ac65b
call dword [0x4f0124]
lea ecx, [esp + 0x2d4]
push eax
push ecx
call dword [0x4f0138]
lea edx, [esp + 0x2d4]
push str._text
push edx
call dword [0x4f01d0]
mov ebp, dword [0x4f021c]
add esp, 4
push eax
call ebp
add esp, 8
test eax, eax
jne 0x4abcf9
test bl, bl
je 0x4ac1a2
mov eax, dword [esp + 0x4e8]
push 0x50dfec
push eax
call dword [0x4f01f0]
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x20], edi
je 0x4ac65f
mov ebx, dword [0x4f0240]
push edi
lea ecx, [esp + 0x30]
push 0x100
push ecx
call ebx
lea edx, [esp + 0x38]
push 0x4feeb4
push edx
call ebp
add esp, 0x14
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f0200]
mov dword [esi + 0x74], eax
push edi
lea eax, [esp + 0x34]
push 0x100
push eax
call ebx
lea ecx, [esp + 0x3c]
push 0x4feeb4
push ecx
call ebp
add esp, 0x18
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f0200]
push edi
lea edx, [esp + 0x34]
push 0x100
push edx
mov dword [esi + 0x78], eax
call ebx
push edi
lea eax, [esp + 0x40]
push 0x100
push eax
call ebx
lea ecx, [esp + 0x48]
push 0x4feeb4
push ecx
call ebp
add esp, 0x24
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f025c]
fstp dword [esi + 0x7c]
push edi
lea edx, [esp + 0x34]
push 0x100
push edx
call ebx
lea eax, [esp + 0x3c]
push 0x4feeb4
push eax
call ebp
add esp, 0x18
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f025c]
fstp dword [esi + 0x80]
push edi
lea ecx, [esp + 0x34]
push 0x100
push ecx
call ebx
fld dword [esi + 0x80]
fld dword [esi + 0x7c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
push edi
lea edx, [esp + 0x40]
push 0x100
push edx
faddp st(1)
fsqrt
fstp dword [0x928440]
fstp st(0)
fstp st(0)
call ebx
lea eax, [esp + 0x48]
push 0x4feeb4
push eax
call ebp
add esp, 0x24
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f025c]
fstp dword [esi + 0x2a8]
push edi
lea ecx, [esp + 0x34]
push 0x100
push ecx
call ebx
lea edx, [esp + 0x3c]
push 0x4feeb4
push edx
call ebp
add esp, 0x18
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f025c]
fstp dword [esi + 0x2ac]
push edi
lea eax, [esp + 0x34]
push 0x100
push eax
call ebx
push edi
lea ecx, [esp + 0x40]
push 0x100
push ecx
call ebx
lea edx, [esp + 0x48]
push 0x4feeb4
push edx
call ebp
add esp, 0x24
test eax, eax
je 0x4ac65f
inc eax
lea ecx, [esi + 0x88]
push eax
push ecx
call dword [0x4f0138]
lea eax, [esi + 0x88]
push eax
call dword [0x4f01ac]
mov byte [eax + esi + 0x87], 0
mov eax, dword [esi + 0x2b0]
push 0
push 0
mov ecx, dword [eax + 0x5f43]
lea eax, [esi + 0x36c]
push eax
lea eax, [esi + 0x88]
push eax
call fcn.0049c3e0
test eax, eax
jne 0x4ac65f
mov eax, dword [esi + 0x2b0]
mov ecx, dword [eax + 0x5f3b]
mov dl, byte [ecx + 0x62]
test dl, dl
jne 0x4abf30
mov ecx, dword [esi + 0x36c]
mov eax, dword [eax + 0x5f43]
push 1
push 0x20
push ecx
mov ecx, eax
call fcn.0049d960
mov dword [esi + 0x374], eax
push edi
lea edx, [esp + 0x30]
push 0x100
push edx
call ebx
lea eax, [esp + 0x38]
push 0x4feeb4
push eax
call ebp
add esp, 0x14
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f0200]
add esp, 4
mov dword [esi + 0x290], eax
test eax, eax
mov dword [esp + 0x10], 0
jle 0x4abf94
push edi
lea ecx, [esp + 0x30]
push 0x100
push ecx
call ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x290]
add esp, 0xc
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4abf71
push edi
lea edx, [esp + 0x30]
push 0x100
push edx
call ebx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x84], 8
imul eax, dword [esi + 0x74]
shl eax, 2
push eax
mov dword [esp + 0x24], eax
call dword [0x4f01f4]
add esp, 0x10
mov dword [esi + 0x294], eax
test eax, eax
je 0x4ac65f
mov eax, dword [esp + 0x14]
push eax
call dword [0x4f01f4]
add esp, 4
mov dword [esi + 0x298], eax
test eax, eax
je 0x4ac65f
mov eax, dword [esi + 0x78]
mov dword [esp + 0x10], 0
test eax, eax
jle 0x4ac0bc
mov eax, dword [esi + 0x74]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x4ac0a8
push edi
lea ecx, [esp + 0x30]
push 0x100
push ecx
call ebx
lea edx, [esp + 0x38]
push 0x4feeb4
push edx
call ebp
add esp, 0x14
test eax, eax
je 0x4ac65f
lea ebp, [eax + 1]
push ebp
call dword [0x4f0200]
mov ecx, dword [esi + 0x74]
mov edx, dword [esp + 0x20]
imul ecx, dword [esp + 0x14]
add ecx, edx
mov edx, dword [esi + 0x294]
push 0x4feeb4
push ebp
mov dword [edx + ecx*4], eax
call dword [0x4f021c]
add esp, 0xc
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f0200]
mov edx, dword [esi + 0x74]
mov ecx, dword [esp + 0x20]
imul edx, dword [esp + 0x14]
mov ebp, dword [esi + 0x298]
add edx, ecx
add esp, 4
inc ecx
mov dword [ebp + edx*4], eax
mov eax, dword [esi + 0x74]
mov ebp, dword [0x4f021c]
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jl 0x4ac013
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x78]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4ac000
push edi
lea eax, [esp + 0x30]
push 0x100
push eax
call ebx
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x74]
inc eax
inc ecx
imul eax, ecx
shl eax, 2
push eax
call dword [0x4f01f4]
add esp, 0x10
mov dword [esi + 0x29c], eax
test eax, eax
je 0x4ac65f
mov edx, dword [esi + 0x78]
mov dword [esp + 0x10], 0
inc edx
test edx, edx
jle 0x4ac196
mov eax, dword [esi + 0x74]
xor ebp, ebp
inc eax
test eax, eax
jle 0x4ac181
imul eax, dword [esp + 0x10]
add eax, ebp
push edi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x30]
push 0x100
push eax
call ebx
lea ecx, [esp + 0x38]
push 0x4feeb4
push ecx
call dword [0x4f021c]
add esp, 0x14
test eax, eax
je 0x4ac65f
inc eax
push eax
call dword [0x4f0200]
fld dword [esi + 0x2ac]
fsub dword [esi + 0x2a8]
mov dword [esp + 0x18], eax
mov edx, dword [esi + 0x29c]
fimul dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add esp, 4
inc ebp
fmul dword [0x4f0644]
fadd dword [esi + 0x2a8]
fstp dword [edx + eax*4]
mov eax, dword [esi + 0x74]
inc eax
cmp ebp, eax
jl 0x4ac10d
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x78]
inc eax
inc ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4ac103
push edi
call dword [0x4f01e8]
add esp, 4
jmp 0x4ac1bd
mov edx, dword [esp + 0x4e8]
mov ecx, esi
push edx
call fcn.004ac6e0
test al, al
je 0x4ac65b
mov edi, dword [esp + 0x20]
mov eax, dword [esi + 0x78]
mov ebx, dword [0x4f01f4]
imul eax, dword [esi + 0x74]
lea eax, [eax + eax*2]
shl eax, 4
push eax
call ebx
add esp, 4
mov dword [esi + 0x2a0], eax
test eax, eax
je 0x4ac65f
mov ecx, esi
call fcn.004afb80
test al, al
je 0x4ac65f
mov eax, dword [esi + 0x78]
imul eax, dword [esi + 0x74]
lea eax, [eax + eax*2]
shl eax, 6
push eax
call ebx
add esp, 4
mov dword [esi + 0x2e0], eax
test eax, eax
je 0x4ac65f
mov eax, dword [esi + 0x78]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x18], ebx
jle 0x4ac5fc
mov eax, dword [esi + 0x74]
xor ebp, ebp
test eax, eax
mov dword [esp + 0x14], ebp
jle 0x4ac5ec
fild dword [esp + 0x18]
lea ecx, [ebx + 1]
mov dword [esp + 0x10], ecx
fstp dword [esp + 0x1c]
fild dword [esp + 0x10]
fstp dword [esp + 0x18]
mov edi, eax
mov edx, dword [esi + 0x2e0]
fild dword [esp + 0x14]
imul edi, ebx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fmul dword [esi + 0x7c]
add edi, ebp
push 0
lea edi, [edi + edi*2]
push ebx
shl edi, 6
push ebp
fstp dword [edx + edi]
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x29c]
inc eax
mov edx, dword [esi + 0x2e0]
loopne 0x4ac286
add byte [eax], al
imul eax, ebx
fld dword [esp + 0x28]
add eax, ebp
mov eax, dword [ecx + eax*4]
mov dword [edx + edi + 4], eax
mov ecx, dword [esi + 0x2e0]
fmul dword [esi + 0x80]
fchs
fstp dword [ecx + edi + 8]
mov edx, dword [esi + 0x2e0]
mov ecx, esi
mov dword [edx + edi + 0x10], 0xffffff
mov eax, dword [esi + 0x2e0]
mov dword [eax + edi + 0x14], 0
call fcn.004acce0
mov ecx, dword [esi + 0x2e0]
push 0
push ebx
push ebp
fstp dword [ecx + edi + 0x18]
mov ecx, esi
call fcn.004acf80
mov edx, dword [esi + 0x2e0]
lea eax, [ebp + 1]
mov dword [esp + 0x14], eax
push 1
fstp dword [edx + edi + 0x1c]
fild dword [esp + 0x18]
mov ecx, dword [esi + 0x2e0]
push ebx
push ebp
fst dword [esp + 0x34]
fmul dword [esi + 0x7c]
fstp dword [ecx + edi + 0x20]
mov edx, dword [esi + 0x74]
mov eax, dword [esi + 0x29c]
inc edx
mov ecx, dword [esi + 0x2e0]
imul edx, ebx
fld dword [esp + 0x28]
add edx, ebp
mov edx, dword [eax + edx*4 + 4]
mov dword [ecx + edi + 0x24], edx
mov eax, dword [esi + 0x2e0]
fmul dword [esi + 0x80]
fchs
fstp dword [eax + edi + 0x28]
mov ecx, dword [esi + 0x2e0]
mov dword [ecx + edi + 0x30], 0xffffff
mov edx, dword [esi + 0x2e0]
mov ecx, esi
mov dword [edx + edi + 0x34], 0
call fcn.004acce0
mov eax, dword [esi + 0x2e0]
push 1
push ebx
push ebp
fstp dword [eax + edi + 0x38]
mov ecx, esi
call fcn.004acf80
mov ecx, dword [esi + 0x2e0]
push 2
push ebx
push ebp
fstp dword [ecx + edi + 0x3c]
fld dword [esp + 0x30]
fmul dword [esi + 0x7c]
mov edx, dword [esi + 0x2e0]
fstp dword [edx + edi + 0x40]
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x29c]
inc eax
mov edx, dword [esi + 0x2e0]
imul eax, dword [esp + 0x1c]
fld dword [esp + 0x24]
add eax, ebp
mov eax, dword [ecx + eax*4]
mov dword [edx + edi + 0x44], eax
mov ecx, dword [esi + 0x2e0]
fmul dword [esi + 0x80]
fchs
fstp dword [ecx + edi + 0x48]
mov edx, dword [esi + 0x2e0]
mov ecx, esi
mov dword [edx + edi + 0x50], 0xffffff
mov eax, dword [esi + 0x2e0]
mov dword [eax + edi + 0x54], 0
call fcn.004acce0
mov ecx, dword [esi + 0x2e0]
push 2
push ebx
push ebp
fstp dword [ecx + edi + 0x58]
mov ecx, esi
call fcn.004acf80
mov edx, dword [esi + 0x2e0]
push 1
push ebx
push ebp
fstp dword [edx + edi + 0x5c]
fld dword [esp + 0x34]
fmul dword [esi + 0x7c]
mov eax, dword [esi + 0x2e0]
fstp dword [eax + edi + 0x60]
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x29c]
inc ecx
mov eax, dword [esi + 0x2e0]
imul ecx, ebx
fld dword [esp + 0x28]
add ecx, ebp
mov ecx, dword [edx + ecx*4 + 4]
mov dword [eax + edi + 0x64], ecx
mov edx, dword [esi + 0x2e0]
fmul dword [esi + 0x80]
fchs
fstp dword [edx + edi + 0x68]
mov eax, dword [esi + 0x2e0]
mov dword [eax + edi + 0x70], 0xffffff
mov ecx, dword [esi + 0x2e0]
mov dword [ecx + edi + 0x74], 0
mov ecx, esi
call fcn.004acce0
mov edx, dword [esi + 0x2e0]
push 1
push ebx
push ebp
fstp dword [edx + edi + 0x78]
mov ecx, esi
call fcn.004acf80
mov eax, dword [esi + 0x2e0]
fstp dword [eax + edi + 0x7c]
fld dword [esp + 0x28]
fmul dword [esi + 0x7c]
mov ecx, dword [esi + 0x2e0]
fstp dword [ecx + edi + 0x80]
mov edx, dword [esi + 0x74]
mov eax, dword [esi + 0x29c]
inc edx
mov ecx, dword [esi + 0x2e0]
imul edx, dword [esp + 0x10]
fld dword [esp + 0x18]
add edx, ebp
push 3
push ebx
push ebp
mov edx, dword [eax + edx*4 + 4]
mov dword [ecx + edi + 0x84], edx
mov eax, dword [esi + 0x2e0]
fmul dword [esi + 0x80]
fchs
fstp dword [eax + edi + 0x88]
mov ecx, dword [esi + 0x2e0]
mov dword [ecx + edi + 0x90], 0xffffff
mov edx, dword [esi + 0x2e0]
mov ecx, esi
mov dword [edx + edi + 0x94], 0
call fcn.004acce0
mov eax, dword [esi + 0x2e0]
push 3
push ebx
push ebp
fstp dword [eax + edi + 0x98]
mov ecx, esi
call fcn.004acf80
mov ecx, dword [esi + 0x2e0]
push 2
push ebx
push ebp
fstp dword [ecx + edi + 0x9c]
fld dword [esp + 0x30]
fmul dword [esi + 0x7c]
mov edx, dword [esi + 0x2e0]
fstp dword [edx + edi + 0xa0]
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x29c]
inc eax
mov edx, dword [esi + 0x2e0]
imul eax, dword [esp + 0x1c]
fld dword [esp + 0x24]
add eax, ebp
mov eax, dword [ecx + eax*4]
mov dword [edx + edi + 0xa4], eax
mov ecx, dword [esi + 0x2e0]
fmul dword [esi + 0x80]
fchs
fstp dword [ecx + edi + 0xa8]
mov edx, dword [esi + 0x2e0]
mov ecx, esi
mov dword [edx + edi + 0xb0], 0xffffff
mov eax, dword [esi + 0x2e0]
mov dword [eax + edi + 0xb4], 0
call fcn.004acce0
mov ecx, dword [esi + 0x2e0]
push 2
push ebx
push ebp
fstp dword [ecx + edi + 0xb8]
mov ecx, esi
call fcn.004acf80
mov edx, dword [esi + 0x2e0]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x14], ebp
fstp dword [edx + edi + 0xbc]
mov eax, dword [esi + 0x74]
cmp ebp, eax
jl 0x4ac24d
mov edi, dword [esp + 0x20]
mov eax, dword [esi + 0x78]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jl 0x4ac225
mov ecx, esi
call fcn.004b01d0
test al, al
je 0x4ac65f
mov eax, dword [esp + 0x4e8]
mov ecx, esi
push eax
call fcn.004b1140
test al, al
je 0x4ac65f
mov ecx, esi
call fcn.004b0b50
test al, al
je 0x4ac65f
mov eax, dword [esi + 0x2b0]
mov ecx, dword [eax + 0x5f3b]
mov dl, byte [ecx + 0x62]
test dl, dl
je 0x4ac6a0
mov eax, dword [eax + 0x5f43]
push 0
lea ecx, [esi + 0x370]
push 0
push ecx
push str.C_Water.bmp
mov ecx, eax
call fcn.0049c3e0
test eax, eax
jge 0x4ac6a0
jmp 0x4ac65f
mov edi, dword [esp + 0x20]
test edi, edi
mov dword [0x8210d4], 1
je 0x4ac677
push edi
call dword [0x4f01e8]
add esp, 4
push str.Load__:_Error_occurs.
push esi
call fcn.004331c0
add esp, 8
lea ecx, [esp + 0x17c]
mov dword [esp + 0x4e0], 0xffffffff
call fcn.00474530
xor al, al
jmp 0x4ac6b9
lea ecx, [esp + 0x17c]
mov dword [esp + 0x4e0], 0xffffffff
call fcn.00474530
mov al, 1
mov ecx, dword [esp + 0x4d8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x4d4
ret 4