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

Disassembly:
sub esp, 0x170
mov eax, dword [0x5bd254]
xor eax, esp
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x178]
push ebx
push ebp
mov ebp, dword [esp + 0x17c]
mov ebx, edx
test ebx, ebx
push edi
mov edi, ecx
mov dword [esp + 0x10], eax
jl 0x4b356f
push esi
push ebx
push ebp
call sym.convertifd.exe_PointToEntity
add esp, 8
cmp dword [0x607158], 0
mov esi, eax
je 0x4b2e09
mov ecx, dword [ebp]
mov eax, dword [ecx + ebx*8 + 4]
cdq
xor eax, edx
sub eax, edx
jmp 0x4b2e10
mov edx, dword [ebp]
mov eax, dword [edx + ebx*8 + 4]
sub eax, 1
je 0x4b3480
sub eax, 1
je 0x4b32dd
sub eax, 3
jne 0x4b356e
mov ecx, dword [esi + 0x1c]
mov edx, dword [0x6a2d0c]
mov eax, ecx
imul ecx, ecx, 0x2c
shl eax, 6
mov edx, dword [eax + edx + 0xc]
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x6a1b78]
mov ecx, dword [ecx + edx]
mov dword [esp + 0x10], eax
lea eax, [ecx - 0x10]
cmp eax, 0x30
ja case.0x4b2e6d.16
movzx eax, byte [eax + 0x4b359c]
jmp dword [eax*4 + 0x4b3588]
mov ecx, dword [0x583994]
mov ax, word [0x583998]
jmp 0x4b2eca
mov ecx, dword [str.Modern]
mov ax, word [0x583990]
mov dword [esp + 0x28], ecx
mov cl, byte [0x583992]
mov byte [esp + 0x2e], cl
jmp 0x4b2ece
mov eax, dword [0x583984]
mov cx, word [0x583988]
mov dword [esp + 0x28], eax
mov al, byte [0x58398a]
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], al
jmp 0x4b2ed3
mov ax, word [0x583980]
mov ecx, dword [str.Roman]
mov dword [esp + 0x28], ecx
mov word [esp + 0x2c], ax
mov al, byte [esi + 8]
cmp al, 1
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x24], ecx
je 0x4b30ca
cmp al, 4
je 0x4b30ca
cmp edi, 1
jne 0x4b356e
mov ecx, dword [esi + 0x30]
mov ebp, dword [esi + 0x18]
lea eax, [esp + 0x48]
push eax
push edx
push esi
push ecx
mov dword [esp + 0x70], 0
call sym.convertifd.exe_FoldTextInterface
add esp, 0x10
test eax, eax
je 0x4b356e
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x58]
cmp ecx, eax
jge 0x4b2f44
mov edx, dword [esi + 0x24]
test dl, 8
je 0x4b2f36
sub eax, ecx
mov ebp, eax
jmp 0x4b2f44
test dl, 4
je 0x4b2f44
sub eax, ecx
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
mov ebx, dword [0x6a2d14]
mov edx, dword [esi + 0x14]
sub edx, dword [ebx + 0x20]
mov eax, dword [esi]
lea edx, [edx + eax + 0x2328]
mov eax, 0x7482296b
imul edx
sar edx, 0xd
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [esi + 4]
sub edx, dword [ebx + 0x24]
mov eax, 0x7482296b
lea edx, [edx + ebp + 0x2328]
imul edx
sar edx, 0xd
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [esi + 0xc]
add edx, 0x2328
mov eax, 0x7482296b
imul edx
sar edx, 0xd
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
add ecx, 0x2328
mov eax, 0x7482296b
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x10], 0xa
mov dword [esp + 0x1c], eax
jle 0x4b2fdb
fild dword [esp + 0x10]
fmul qword [0x582320]
call fcn.005132d0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
push 0
push 0
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x34]
push edx
push ecx
push eax
push ebp
push ebx
push edi
lea edx, [esp + 0xa0]
push str.___Control_tText_t_3d__3d__3d__3d__3d___10s__3d__3d__3d_n
push edx
call fcn.005135ca
lea eax, [esp + 0xa8]
add esp, 0x2c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4b3011
lea ecx, [esp + 0x7c]
sub eax, edx
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.004b2c60
xor edi, edi
add esp, 4
cmp dword [esp + 0x50], edi
mov dword [esp + 0x10], edi
jle 0x4b30bb
nop
mov ecx, dword [esp + 0x64]
mov eax, dword [edi + ecx]
mov edx, dword [edi + ecx + 4]
mov ecx, dword [esi + 0x30]
lea ebp, [edx + eax - 1]
mov bl, byte [ecx + ebp + 1]
lea ecx, [ecx + ebp + 1]
mov byte [ecx], 0
mov edx, dword [esi + 0x30]
add edx, eax
push edx
lea eax, [esp + 0x80]
push str._t____s__n
push eax
call fcn.005135ca
lea eax, [esp + 0x88]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4b3082
sub eax, ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.004b2c60
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x30]
add eax, 1
add esp, 4
mov byte [edx + ebp + 1], bl
add edi, 0x18
cmp eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
jl 0x4b3040
lea eax, [esp + 0x48]
push eax
call sym.convertifd.exe_FoldFree
jmp 0x4b356b
cmp edi, 3
jne 0x4b356e
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x6a2d14]
sub edx, dword [ecx + 0x20]
mov ebp, dword [esi + 0x58]
lea edx, [edx + eax + 0x2328]
mov eax, 0x7482296b
imul edx
mov eax, dword [esi + 0x18]
sar edx, 0xd
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [esi + 4]
sub edx, dword [ecx + 0x24]
mov dword [esp + 0x20], ebp
lea ecx, [edx + eax + 0x2328]
mov eax, 0x7482296b
imul ecx
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
cmp ebp, 1
lea edx, [edx + ecx - 2]
mov dword [esp + 0x18], edx
jle 0x4b313b
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0x40]
push eax
push 0x6a2d18
call sym.convertifd.exe_PointToFieldData
mov ebp, eax
movzx edx, word [ebp]
push 0x32
lea ecx, [esp + 0x54]
push ecx
push edx
call sym.convertifd.exe_IpGetAtom
mov ecx, dword [esi + 0xc]
mov eax, 0x1194
sub eax, dword [esi + 0x14]
push str.Modern
lea ecx, [ecx + eax*2]
mov eax, 0x7482296b
imul ecx
sar edx, 0xd
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [esi + 0x18]
mov esi, dword [esi + 0x10]
add edx, edx
sub esi, edx
add esi, 0x232b
mov eax, 0x7482296b
imul esi
sar edx, 0xd
mov esi, edx
lea eax, [esp + 0x40]
shr esi, 0x1f
push eax
mov byte [esp + 0x78], 0
add esi, edx
call fcn.0051e073
add esp, 0x1c
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 0xf
cmp eax, esi
jle 0x4b31df
lea ecx, [esp + 0x28]
push str.Modern
push ecx
call fcn.0051e073
add esp, 8
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfffffffd
add esi, 0xf
mov ebp, dword [ebp + 0x10]
test ebp, 0x1000
je 0x4b3207
cmp edi, esi
mov edx, dword [str.Radio]
mov ax, word [0x583934]
mov dword [esp + 0x3c], edx
mov word [esp + 0x40], ax
ja 0x4b3240
mov edi, esi
jmp 0x4b3240
test ebp, 0x800
je 0x4b322d
cmp edi, esi
mov ecx, dword [str.Check]
mov dx, word [0x58392c]
mov dword [esp + 0x3c], ecx
mov word [esp + 0x40], dx
ja 0x4b3240
mov edi, esi
jmp 0x4b3240
mov eax, dword [str.Edit]
mov cl, byte [0x583924]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x40], cl
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x34]
push edx
push eax
push esi
push edi
push ecx
push ebx
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0xa4]
push str.___Control_t_s_t_3d__3d__3d__3d__3d___10s__3d__3d__3d_n
push eax
call fcn.005135ca
lea eax, [esp + 0xac]
add esp, 0x30
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4b3285
mov esi, dword [esp + 0x14]
sub eax, ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, esi
mov edx, eax
call fcn.004b2c60
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x84]
push str._t____s__n
push eax
call fcn.005135ca
lea eax, [esp + 0x8c]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4b32c6
lea ecx, [esp + 0x7c]
push ecx
sub eax, edx
mov ecx, esi
jmp 0x4b3564
cmp edi, 2
jne 0x4b356e
mov ecx, dword [esi]
mov edi, dword [0x6a2d14]
mov ebx, dword [edi + 0x20]
mov edi, dword [edi + 0x24]
sub ecx, ebx
add ecx, 0x2328
mov eax, 0x7482296b
imul ecx
mov ecx, dword [esi + 4]
sar edx, 0xd
mov ebp, edx
sub ecx, edi
add ecx, 0x2328
shr ebp, 0x1f
add ebp, edx
mov eax, 0x7482296b
imul ecx
mov ecx, dword [esi + 8]
mov esi, dword [esi + 0xc]
sar edx, 0xd
mov dword [esp + 0x18], edi
sub esi, dword [esp + 0x18]
mov edi, edx
sub ecx, ebx
shr edi, 0x1f
add edi, edx
add ecx, 0x2328
mov eax, 0x7482296b
imul ecx
sar edx, 0xd
mov ebx, edx
add esi, 0x2328
shr ebx, 0x1f
add ebx, edx
mov eax, 0x7482296b
imul esi
mov eax, ebx
push 1
sar edx, 0xd
sub eax, ebp
add eax, 1
push eax
mov esi, edx
shr esi, 0x1f
add esi, edx
push edi
push ebp
mov dword [esp + 0x30], esi
lea edx, [esp + 0x8c]
push str.___Control_tRect_t_3d__3d__3d__3d_n
sub esi, edi
push edx
mov dword [esp + 0x30], eax
add esi, 1
call fcn.005135ca
lea eax, [esp + 0x94]
add esp, 0x18
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4b33a0
sub eax, ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.004b2c60
push esi
push 1
push edi
push ebp
lea edx, [esp + 0x90]
push str.___Control_tRect_t_3d__3d__3d__3d_n
push edx
call fcn.005135ca
lea eax, [esp + 0x98]
add esp, 0x1c
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4b33e0
sub eax, ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.004b2c60
push esi
push 1
push edi
push ebx
lea edx, [esp + 0x90]
push str.___Control_tRect_t_3d__3d__3d__3d_n
push edx
call fcn.005135ca
lea eax, [esp + 0x98]
add esp, 0x1c
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4b3420
mov esi, dword [esp + 0x14]
sub eax, ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, esi
mov edx, eax
call fcn.004b2c60
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push 1
push edx
push eax
push ebp
lea ecx, [esp + 0x90]
push str.___Control_tRect_t_3d__3d__3d__3d_n
push ecx
call fcn.005135ca
lea eax, [esp + 0x98]
add esp, 0x1c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4b3470
mov ecx, esi
jmp 0x4b355d
cmp edi, 2
jne 0x4b356e
mov ebx, dword [esi]
mov ebp, dword [0x6a2d14]
mov eax, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x24]
mov dword [esp + 0x18], eax
mov ecx, ebx
sub ecx, eax
add ecx, 0x2328
mov eax, 0x7482296b
imul ecx
mov ecx, dword [esi + 4]
sar edx, 0xd
sub ecx, ebp
mov edi, edx
add ecx, 0x2328
shr edi, 0x1f
add edi, edx
mov eax, 0x7482296b
imul ecx
mov eax, dword [esi + 8]
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ebx, eax
jne 0x4b3500
mov esi, dword [esi + 0xc]
sub esi, ebp
add esi, 0x2328
mov eax, 0x7482296b
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov ebx, 1
sub esi, ecx
jmp 0x4b352d
mov edx, dword [esi + 4]
cmp edx, dword [esi + 0xc]
jne 0x4b356e
sub eax, dword [esp + 0x18]
mov esi, 1
add eax, 0x2328
mov edx, eax
mov eax, 0x7482296b
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, edi
push esi
push ebx
push ecx
push edi
lea ecx, [esp + 0x8c]
push str.___Control_tRect_t_3d__3d__3d__3d_n
push ecx
call fcn.005135ca
lea eax, [esp + 0x94]
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4b3550
mov ecx, dword [esp + 0x14]
sub eax, edx
lea edx, [esp + 0x7c]
push edx
mov edx, eax
call fcn.004b2c60
add esp, 4
pop esi
mov ecx, dword [esp + 0x178]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.00511a80
add esp, 0x170
ret