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

Disassembly:
push 0xffffffffffffffff
push 0x714828
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov edi, 2
mov dword [esp + 0x14], edi
mov byte [esi + 0x18], 0
mov dword [esi + 0x1c], 0
lea ecx, [edi - 2]
and ecx, 7
call fcn.004d9fc0
mov edx, dword [esi + 4]
push eax
lea ecx, [esp + 0x4c]
call fcn.0061d6d0
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi]
mov edx, dword [eax + 4]
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x24], edx
call fcn.00405ad0
test al, al
jne 0x61d13c
mov eax, dword [esi + 0x14]
jmp 0x61d16b
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
sub esp, 0xc
mov eax, dword [ecx + 8]
mov ecx, dword [esi]
mov ebp, esp
mov ebx, dword [ecx]
mov dword [ebp], edx
mov dword [ebp + 4], edi
mov dword [ebp + 8], eax
call dword [ebx + 0x30]
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
shr eax, 8
and eax, 3
mov ecx, dword [esi + 0x14]
cmp eax, ecx
mov ecx, edi
je 0x61d1f9
and ecx, 7
call fcn.004d9fc0
mov edx, dword [esi + 4]
push eax
lea ecx, [esp + 0x58]
call fcn.0061d6d0
mov edx, dword [eax]
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], edx
push ecx
mov eax, dword [eax + 4]
mov ecx, dword [esi]
mov dword [esp + 0x2c], eax
call fcn.00405ad0
test al, al
jne 0x61d1af
mov eax, dword [esi + 0x14]
jmp 0x61d1de
mov edx, dword [esi + 4]
mov edi, dword [esp + 0x28]
mov ecx, dword [esi]
sub esp, 0xc
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x30]
mov ebx, dword [ecx]
mov ebp, esp
mov dword [ebp], edx
mov dword [ebp + 4], edi
mov dword [ebp + 8], eax
call dword [ebx + 0x30]
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
shr eax, 8
and eax, 3
cmp eax, dword [esi + 0x14]
je 0x61d1f2
mov ecx, dword [esi + 0x1c]
mov al, 3
shl al, cl
or byte [esi + 0x18], al
jmp 0x61d301
mov dl, 1
jmp 0x61d2f4
and ecx, 7
call fcn.004d9fc0
mov ecx, dword [esi + 4]
push eax
mov edx, dword [ecx]
mov dword [esp + 0x40], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x40]
call fcn.00416100
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], edx
push ecx
mov ecx, dword [esi]
mov dword [esp + 0x34], eax
call fcn.00405ad0
test al, al
jne 0x61d247
mov eax, dword [esi + 0x14]
jmp 0x61d276
mov edx, dword [esi + 4]
mov edi, dword [esp + 0x30]
mov ecx, dword [esi]
sub esp, 0xc
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x38]
mov ebx, dword [ecx]
mov ebp, esp
mov dword [ebp], edx
mov dword [ebp + 4], edi
mov dword [ebp + 8], eax
call dword [ebx + 0x30]
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
shr eax, 8
and eax, 3
cmp eax, dword [esi + 0x14]
je 0x61d287
mov ecx, dword [esi + 0x1c]
mov al, 2
shl al, cl
or byte [esi + 0x18], al
jmp 0x61d301
lea ecx, [edi - 1]
call fcn.004d9fc0
mov edx, dword [esi + 4]
push eax
lea ecx, [esp + 0x64]
call fcn.0061d6d0
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
mov ecx, dword [esi]
mov edx, dword [eax + 4]
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x3c], edx
call fcn.00405ad0
test al, al
jne 0x61d2be
mov eax, dword [esi + 0x14]
jmp 0x61d2ed
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
sub esp, 0xc
mov eax, dword [ecx + 8]
mov ecx, dword [esi]
mov ebp, esp
mov ebx, dword [ecx]
mov dword [ebp], edx
mov dword [ebp + 4], edi
mov dword [ebp + 8], eax
call dword [ebx + 0x30]
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
shr eax, 8
and eax, 3
cmp eax, dword [esi + 0x14]
je 0x61d301
mov dl, 3
mov ecx, dword [esi + 0x1c]
mov al, byte [esi + 0x18]
shl dl, cl
or al, dl
mov byte [esi + 0x18], al
mov edx, dword [esi + 0x1c]
add edi, 2
add edx, 2
mov dword [esp + 0x14], edi
lea eax, [edi - 1]
mov dword [esi + 0x1c], edx
cmp eax, 8
jl 0x61d102
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
shr ecx, 0xa
and cl, 1
mov byte [esp + 0x13], cl
mov cl, byte [esi + 0x18]
test cl, cl
je 0x61d61a
xor ebp, ebp
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], ebp
mov eax, dword [eax + 8]
mov dword [esp + 0x78], ebp
add eax, 4
mov ecx, dword [eax + 4]
cmp ecx, ebp
jne 0x61d359
mov dword [esp + 0x14], ebp
jmp 0x61d365
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x14], eax
mov ebx, vtable.t_editor_adv_object_visitor.0
cmp ebp, dword [esp + 0x14]
jge 0x61d3af
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 8]
mov ecx, dword [esi]
mov eax, dword [edx + 8]
mov edi, dword [eax + ebp*4]
push edi
call fcn.0054aed0
mov dword [esp + 0x34], vtable.t_editor_adv_object_subtype_getter_class_t_editor_rock_terrain_wall_.0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x7c], 2
call fcn.0061ee30
test eax, eax
mov byte [esp + 0x78], 0
mov dword [esp + 0x34], ebx
jne 0x61d437
inc ebp
jmp 0x61d36a
mov al, byte [esi + 0x18]
mov edx, dword [esi + 0x14]
push eax
lea ecx, [esp + 0x38]
call fcn.0061ce50
mov edi, eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 1
cmp ecx, edi
je 0x61d415
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x61d401
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x61d3f9
test eax, eax
je 0x61d3f9
mov edx, dword [eax + 4]
push 1
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax + 4]
lea eax, [ecx + eax + 4]
mov ecx, eax
call dword [edx]
mov al, byte [edi]
mov byte [esp + 0x1c], al
jmp 0x61d40b
cmp byte [edi], 0
je 0x61d40b
mov byte [esp + 0x1c], 1
mov ecx, dword [edi + 4]
mov byte [edi], 0
mov dword [esp + 0x20], ecx
mov al, byte [esp + 0x34]
mov byte [esp + 0x78], 0
test al, al
je 0x61d547
mov eax, dword [esp + 0x38]
test eax, eax
je 0x61d547
jmp 0x61d535
mov cl, byte [esi + 0x18]
mov ebx, dword [esi + 0x14]
lea edx, [esp + 0x60]
mov byte [esp + 0x14], cl
push edx
lea ecx, [eax + 8]
call fcn.0040dc80
mov ecx, eax
mov byte [esp + 0x78], 3
call fcn.0061cdd0
push 1
lea ecx, [esp + 0x64]
mov ebp, eax
mov byte [esp + 0x7c], 0
call fcn.00407e50
cmp dword [ebp], ebx
jne 0x61d4b9
mov al, byte [0x85a6e0]
test al, 1
jne 0x61d48b
or al, 1
mov byte [0x85a6e0], al
call fcn.0061c670
mov dword [0x85a6e4], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [0x85a6e4]
and ecx, 0xff
add ebp, 4
shl ecx, 4
add ecx, edx
push ebp
mov ebx, dword [ecx + 8]
call fcn.0061e660
cmp eax, ebx
setne al
test al, al
jne 0x61d547
mov al, byte [esi + 0x18]
mov edx, dword [esi + 0x14]
push eax
lea ecx, [esp + 0x38]
mov dword [esi + 0xc], edi
call fcn.0061ce50
mov edi, eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 4
cmp ecx, edi
je 0x61d520
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x61d50c
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x61d504
test eax, eax
je 0x61d504
mov edx, dword [eax + 4]
push 1
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax + 4]
lea ecx, [ecx + eax + 4]
call dword [edx]
mov al, byte [edi]
mov byte [esp + 0x1c], al
jmp 0x61d516
cmp byte [edi], 0
je 0x61d516
mov byte [esp + 0x1c], 1
mov ecx, dword [edi + 4]
mov byte [edi], 0
mov dword [esp + 0x20], ecx
mov al, byte [esp + 0x34]
mov byte [esp + 0x78], 0
test al, al
je 0x61d547
mov eax, dword [esp + 0x38]
test eax, eax
je 0x61d547
mov edx, dword [eax + 4]
push 1
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax + 4]
lea ecx, [ecx + eax + 4]
call dword [edx]
mov eax, dword [esi + 0xc]
cmp eax, 0xffffffff
je 0x61d57e
mov ecx, dword [esi]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0054cf10
mov al, byte [esp + 0x34]
test al, al
je 0x61d57e
mov eax, dword [esp + 0x38]
test eax, eax
je 0x61d57e
mov ecx, dword [eax + 4]
push 1
mov edx, dword [ecx + 4]
lea ecx, [edx + eax + 4]
mov eax, dword [edx + eax + 4]
call dword [eax]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x61d5a7
mov ecx, dword [esi + 4]
lea edx, [esp + 0x1c]
push ecx
sub esp, 8
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.004f6600
mov ecx, dword [esi]
call fcn.0054cc90
mov dword [esi + 8], eax
mov al, byte [esp + 0x13]
test al, al
jne 0x61d5d9
mov edx, dword [esi + 4]
mov ecx, dword [esi]
sub esp, 0xc
mov edi, dword [edx]
mov eax, dword [ecx]
mov esi, esp
mov dword [esi], edi
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esi + 4], edi
mov dword [esi + 8], edx
call dword [eax + 0x2c]
mov ecx, dword [eax]
mov bl, 1
or ch, 4
mov dword [eax], ecx
jmp 0x61d5db
xor bl, bl
mov al, byte [esp + 0x1c]
mov dword [esp + 0x78], 0xffffffff
test al, al
je 0x61d605
mov eax, dword [esp + 0x20]
test eax, eax
je 0x61d605
mov ecx, dword [eax + 4]
push 1
mov edx, dword [ecx + 4]
lea ecx, [edx + eax + 4]
mov eax, dword [edx + eax + 4]
call dword [eax]
mov al, bl
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
mov ecx, dword [eax + 8]
add ecx, 4
call fcn.004f6860
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x61d650
mov ecx, dword [esi + 0x10]
push edi
call fcn.0061d700
mov ecx, dword [esi]
mov ebp, eax
push ebp
call fcn.0054aed0
mov ecx, eax
call fcn.0061e860
test eax, eax
jne 0x61d653
inc edi
cmp edi, ebx
jl 0x61d62d
or ebp, 0xffffffff
cmp ebp, 0xffffffff
mov dword [esi + 0xc], ebp
je 0x61d671
lea ecx, [esp + 0x14]
push ebp
push ecx
mov ecx, dword [esi]
call fcn.0054cf10
lea ecx, [esp + 0x14]
call fcn.004e8930
mov al, byte [esp + 0x13]
test al, al
je 0x61d6b4
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub esp, 0xc
mov edi, dword [eax]
mov edx, dword [ecx]
mov esi, esp
mov dword [esi], edi
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 4], edi
mov dword [esi + 8], eax
call dword [edx + 0x2c]
mov ecx, dword [eax]
and ch, 0xfb
mov dword [eax], ecx
mov al, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
xor al, al
mov dword fs:[0], ecx
pop ebx
add esp, 0x6c
ret