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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x174
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 8], 0
mov esi, eax
mov ebx, edx
jg 0x4b3000
push 4
call fcn.00443680
mov ecx, dword [0x551bf4]
mov dword [edi + 0x10], eax
add esp, 4
mov dword [eax], ecx
cmp dword [edi + 4], 0xfffffffe
jne 0x4b319a
mov edx, dword [edi + 0x10]
mov edx, dword [edx]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4b3014
sub eax, esi
cmp eax, 2
jle 0x4b317c
lea eax, [edx + eax - 3]
push 0x551bf8
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b317c
test byte [ebx], 1
push eax
push eax
push eax
push eax
je 0x4b305d
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edx
push 1
push eax
push ecx
jmp 0x4b306d
mov edx, dword [edi + 0x10]
mov eax, dword [edx]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push eax
push 5
push ecx
push edx
call fcn.00445450
mov esi, eax
add esp, 0x20
test byte [esi + 0xe8], 4
jne 0x4b3120
cmp dword [esi + 0xd8], 0
jne 0x4b3120
mov eax, dword [0x53f4e4]
test byte [eax + 0x28], 0x20
je 0x4b30e0
mov eax, dword [eax + 0x1c]
mov ecx, dword [str._unknown_program_]
push eax
push ecx
push str._s_MONITOR:_s:
call fcn.00442db0
mov edx, dword [esi + 8]
mov eax, dword [edx + 0xc]
add esp, 0xc
push eax
call fcn.00436750
push eax
call fcn.00436760
mov ecx, dword [ebx]
mov edx, dword [edi + 0x10]
push eax
mov eax, dword [edx]
push ecx
mov ecx, dword [edi]
push eax
push ecx
push str.Inlining_Branch_link:_id__d___s___d__d__d_file___s__n
call fcn.00442cd0
add esp, 0x1c
mov dword [esi + 0xd8], 1
call fcn.00436760
mov edi, eax
lea edx, [edi + 1]
push edx
call fcn.00436770
mov eax, dword [ebx]
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0xc]
push eax
mov eax, dword [ebp + 8]
push edx
push esi
push eax
call fcn.004b3d50
push edi
call fcn.00436770
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x53f4e4]
test byte [eax + 0x28], 0x20
je 0x4b3990
mov ecx, dword [eax + 0x1c]
mov edx, dword [str._unknown_program_]
push ecx
push edx
push str._s_MONITOR:_s:
call fcn.00442db0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0xc]
add esp, 0xc
push ecx
call fcn.00436750
push eax
call fcn.00436760
mov edx, dword [ebx]
push eax
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
push edx
mov edx, dword [edi]
push ecx
push edx
push str.Adding_Branch_link:_id__d___s___d__d__d_file___s__n
call fcn.00442cd0
add esp, 0x1c
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
push ecx
push str.Non_ed_branch_links_not_supported___link_to___s__dropped_n
push 1
call fcn.004431d0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0xc], 0
jne 0x4b31bb
mov edx, dword [edi]
push edx
push str.Incomplete_property_definition__no_name_set_for_property__d_n
push 1
call fcn.004431d0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x53f4e4]
test byte [eax + 0x28], 0x10
je 0x4b31f9
mov eax, dword [eax + 0x1c]
mov ecx, dword [str._unknown_program_]
push eax
push ecx
push str._s_MONITOR:_s:
call fcn.00442db0
mov edx, dword [edi + 0x10]
mov eax, dword [edx]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi]
push eax
mov eax, dword [edi + 4]
push ecx
push edx
push eax
push str.Adding_Prop:__Set_ID__d_ID__d_Name__s_Value__s__n
call fcn.00442cd0
add esp, 0x20
mov ecx, dword [edi + 0xc]
push str.Length_Unit
push ecx
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b32c4
mov edx, dword [edi + 0x10]
mov eax, dword [edx]
push str.INCH
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b3238
fld qword [0x50c510]
fstp qword [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
push 0x551d2c
push edx
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b325e
fld qword [0x50c518]
fstp qword [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
push 0x551d30
push ecx
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b3284
fld qword [0x50c520]
fstp qword [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x10]
mov eax, dword [edx]
push 0x551d34
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b32a6
fld1
fstp qword [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
push edx
push str.Unknown_Length_Unit_type___s__n
push 1
call fcn.004431d0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
push 0x551d58
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b3553
fld1
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx]
fstp qword [esp + 0x20]
xor esi, esi
lea ebx, [ebx]
lea edx, [esp + 0x10]
push edx
push 0
mov ecx, 0x551d64
call fcn.004b2640
add esp, 8
test eax, eax
je 0x4b3343
fld qword [esp + 0x10]
add esi, 1
cmp esi, 3
fmul qword [0x511010]
fstp qword [esp + esi*8 + 0xc0]
jl 0x4b32f0
mov cl, byte [eax]
cmp cl, 0x20
lea esi, [eax + 1]
je 0x4b3334
cmp cl, 9
jne 0x4b3414
mov al, byte [esi]
cmp al, 0x20
je 0x4b333e
cmp al, 9
jne 0x4b334d
add esi, 1
jmp 0x4b3334
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x30
jl 0x4b3355
cmp al, 0x39
jle 0x4b3361
cmp al, 0x2d
je 0x4b3361
cmp al, 0x2e
jne 0x4b3414
push esi
call fcn.00500c5e
fst qword [esp + 0x14]
add esp, 4
mov al, byte [esi + 1]
add esi, 1
test al, al
je 0x4b3380
cmp al, 0x20
je 0x4b3380
cmp al, 9
jne 0x4b336e
fmul qword [ebp + 0x10]
mov eax, esi
mov esi, 1
fstp qword [esp + 0x30]
mov edi, edi
lea ecx, [esp + 0x10]
push ecx
push 1
mov ecx, str.location
call fcn.004b2640
add esp, 8
test eax, eax
je 0x4b3343
fld qword [esp + 0x10]
add esi, 1
cmp esi, 3
fmul qword [ebp + 0x10]
fstp qword [esp + esi*8 + 0x28]
jl 0x4b3390
mov cl, byte [eax]
cmp cl, 0x20
lea esi, [eax + 1]
je 0x4b33d0
cmp cl, 9
jne 0x4b3422
lea ebx, [ebx]
mov al, byte [esi]
cmp al, 0x20
je 0x4b33da
cmp al, 9
jne 0x4b33df
add esi, 1
jmp 0x4b33d0
cmp al, 0x30
jl 0x4b33e7
cmp al, 0x39
jle 0x4b33ef
cmp al, 0x2d
je 0x4b33ef
cmp al, 0x2e
jne 0x4b3422
push esi
call fcn.00500c5e
fstp qword [esp + 0x24]
add esp, 4
lea esp, [esp]
mov al, byte [esi + 1]
add esi, 1
test al, al
je 0x4b3422
cmp al, 0x20
je 0x4b3422
cmp al, 9
jne 0x4b3400
jmp 0x4b3422
fldz
fst qword [esp + 0x40]
fst qword [esp + 0x38]
fstp qword [esp + 0x30]
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0xe4]
push eax
call fcn.004d4400
fld qword [0x5111b0]
fstp qword [esp + 0x58]
lea ecx, [esp + 0xe8]
fld qword [0x5111b8]
push ecx
fstp qword [esp + 0x64]
lea edx, [esp + 0x10c]
fld qword [0x5111c0]
push edx
fstp qword [esp + 0x70]
fld qword [0x5111c8]
fstp qword [esp + 0x78]
fld qword [0x5111d8]
fstp qword [esp + 0x88]
fld qword [0x5111e0]
fstp qword [esp + 0x90]
fld qword [0x5111e8]
fstp qword [esp + 0x98]
fld qword [0x5111f0]
fstp qword [esp + 0xa0]
fld qword [0x511200]
fstp qword [esp + 0xb0]
fld qword [0x511208]
fstp qword [esp + 0xb8]
fld qword [0x511210]
fstp qword [esp + 0xc0]
fld qword [0x511218]
fstp qword [esp + 0xc8]
fld qword [0x511220]
fstp qword [esp + 0xd0]
fld qword [esp + 0x30]
fst qword [esp + 0x58]
fst qword [esp + 0x80]
fstp qword [esp + 0xa8]
call fcn.004c83d0
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov edx, ecx
push edx
call fcn.004961f0
fld qword [esp + 0x4c]
mov ecx, dword [ebp + 0xc]
fstp qword [esp + 0xc4]
fld qword [esp + 0x54]
mov edx, dword [ebp + 8]
lea eax, [esp + 0x64]
fstp qword [esp + 0xcc]
fld qword [esp + 0x5c]
push eax
push ecx
fstp qword [esp + 0xdc]
push edx
call fcn.00445320
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
push 0x551d7c
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b35b3
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [edi + 0x10]
lea edx, [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [esp + 0x28]
push eax
push str._f__f__f
push edx
call fcn.00500cdb
add esp, 0x14
cmp eax, 3
jne 0x4b3881
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.004b2ee0
mov edx, dword [ebp + 0xc]
add esp, 8
mov dword [edx + 0x18], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
push str.bbox
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b3638
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [edi + 0x10]
lea edx, [esp + 0x34]
push edx
mov edx, dword [ecx]
lea eax, [esp + 0x34]
push eax
push str._f__f__f__f__f__f
push edx
call fcn.00500cdb
add esp, 0x20
cmp eax, 6
jne 0x4b3881
mov eax, dword [ebp + 0xc]
fld dword [esp + 0x20]
fstp dword [eax + 0x2c]
fld dword [esp + 0x24]
fstp dword [eax + 0x30]
fld dword [esp + 0x28]
fstp dword [eax + 0x34]
fld dword [esp + 0x10]
fstp dword [eax + 0x38]
fld dword [esp + 0x14]
fstp dword [eax + 0x3c]
fld dword [esp + 0x18]
fstp dword [eax + 0x40]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
push str.shapesource
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b3678
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov ecx, dword [0x5426d0]
push eax
mov eax, dword [0x5426d4]
push edx
push eax
push ecx
call fcn.0046f880
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov dword [edx + 0x24], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
push str.View
push eax
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b3749
xor ebx, ebx
cmp dword [edi + 8], ebx
jle 0x4b3990
lea esp, [esp]
call fcn.00478760
mov esi, eax
lea ecx, [esp + 0x100]
push ecx
lea edx, [esi + 0x88]
push edx
lea eax, [esi + 0x80]
push eax
lea ecx, [esi + 0x78]
push ecx
lea edx, [esi + 0x70]
push edx
lea eax, [esi + 0x68]
push eax
lea ecx, [esi + 0x60]
push ecx
lea edx, [esi + 0x58]
push edx
lea eax, [esi + 0x50]
push eax
lea ecx, [esi + 0x48]
push ecx
lea edx, [esi + 0x40]
push edx
lea eax, [esi + 0x38]
push eax
lea ecx, [esi + 0x30]
push ecx
lea edx, [esi + 0x28]
push edx
lea eax, [esi + 0x20]
push eax
mov eax, dword [edi + 0x10]
lea ecx, [esi + 0x18]
push ecx
mov ecx, dword [eax + ebx*4]
lea edx, [esi + 0x10]
push edx
push str._lg__lg__lg__lg__lg__lg__lg__lg__lg__lg__lg__lg__lg__lg__lg__lg__s
push ecx
call fcn.00500cdb
add esp, 0x4c
cmp eax, 0x11
jne 0x4b372b
lea edx, [esp + 0x100]
push edx
push esi
call fcn.004788d0
mov eax, dword [ebp + 8]
push esi
push eax
call fcn.00478890
add esp, 0x10
jmp 0x4b3734
push esi
call fcn.00478860
add esp, 4
add ebx, 1
cmp ebx, dword [edi + 8]
jl 0x4b36a0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xc]
push str.Drawing
push ecx
call fcn.00472210
add esp, 8
test eax, eax
jne 0x4b379f
push 1
call fcn.004965e0
mov edx, dword [edi + 0x10]
mov ecx, dword [0x5426d4]
mov esi, eax
mov eax, dword [edx]
mov edx, dword [0x5426d0]
push 0
push eax
push ecx
push edx
call fcn.0046f4c0
push eax
push esi
call fcn.004788d0
mov eax, dword [ebp + 0xc]
push esi
push eax
call fcn.00496690
add esp, 0x24
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xc]
push str.Document
push ecx
call fcn.00472210
mov esi, eax
add esp, 8
test esi, esi
je 0x4b3950
mov edx, dword [edi + 0xc]
push str.Ecad
push edx
call fcn.00472210
add esp, 8
test eax, eax
je 0x4b394e
mov eax, dword [edi + 0xc]
push str.pvCid
push eax
call fcn.004721d0
add esp, 8
test eax, eax
jne 0x4b3803
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
push edx
push eax
call fcn.004453f0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xc]
push str.__pv_shapesource_index
push ecx
call fcn.004721d0
add esp, 8
test eax, eax
jne 0x4b385c
mov edx, dword [edi + 0x10]
mov eax, dword [edx]
push eax
call fcn.004185f4
add esp, 4
cmp eax, 0xffff
ja 0x4b383d
mov ecx, dword [ebp + 0xc]
mov word [ecx + 0x22], ax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x10]
mov ecx, dword [edx]
push ecx
push eax
push str.ShapeSource_index_out_of_range___d:_s__n
push 1
call fcn.004431d0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0xc]
push str.__pv_modelthumbnail
push edx
call fcn.004721d0
add esp, 8
test eax, eax
jne 0x4b3878
push 8
jmp 0x4b395b
test byte [ebx], 4
jne 0x4b3990
mov eax, dword [edi + 4]
test eax, eax
jle 0x4b38e0
mov edx, dword [ebx + 0x14]
push eax
push edx
call fcn.004b9ec0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4b38e0
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x14]
test esi, esi
je 0x4b38bc
mov ecx, dword [esi + 0x10]
push ecx
push ebx
call fcn.00472210
add esp, 8
test eax, eax
je 0x4b38d7
mov esi, dword [esi]
test esi, esi
jne 0x4b38a5
call fcn.004b9c30
mov esi, eax
push ebx
push esi
call fcn.004b9e30
mov edx, dword [ebp + 0xc]
push esi
push edx
call fcn.004b9cd0
add esp, 0x10
add esi, 8
mov dword [esp + 0x10], esi
jmp 0x4b38ea
mov eax, dword [ebp + 0xc]
add eax, 0xc
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0xc]
push 1
push ecx
call fcn.00447270
mov edx, dword [edi + 0x10]
mov ebx, eax
mov eax, dword [edx]
push 1
push eax
call fcn.00447220
mov ecx, dword [esp + 0x20]
push eax
push ebx
push ecx
call fcn.00447430
mov eax, dword [edi + 8]
add esp, 0x1c
cmp eax, 1
jle 0x4b3990
mov esi, 1
mov edx, dword [edi + 0x10]
mov eax, dword [edx + esi*4]
push 1
push eax
call fcn.00447220
mov ecx, dword [esp + 0x18]
push eax
push ebx
push ecx
call fcn.00447c30
add esi, 1
add esp, 0x14
cmp esi, dword [edi + 8]
jl 0x4b3920
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
setne dl
lea edx, [edx*4 + 2]
push edx
call fcn.004965e0
mov edx, dword [0x5426d4]
mov esi, eax
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
mov eax, dword [0x5426d0]
push 0
push ecx
push edx
push eax
call fcn.0046f4c0
push eax
push esi
call fcn.004788d0
mov ecx, dword [ebp + 0xc]
push esi
push ecx
call fcn.00496690
add esp, 0x24
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret